準備
1. こちらを参考にして、Access 2007 用の Northwind.accdb を用意します。
2. Employees テーブルから、ID, Last Name, First Name の列を含めた Test クエリーを作成します。ID 列にパラメータ [@1] を設定します。
デザイン
1. フォーム (Form1) にボタン (button1) を配置します。
2. フォーム (Form1) にデータグリッドビュー (dataGridView1) を配置します。
サンプルコード (C#)
// 名前空間の追加
using System.Data.OleDb;
// コード
private void button1_Click(object sender, EventArgs e)
{
string sConn = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\Northwind.accdb";
OleDbConnection oleConn = new OleDbConnection(sConn);
OleDbCommand oleCmd = new OleDbCommand();
OleDbDataAdapter oleAdapter = new OleDbDataAdapter();
DataSet ds = new DataSet();
oleCmd.Connection = oleConn;
oleCmd.CommandText = "EXECUTE Test";
oleCmd.Parameters.Add("ID", OleDbType.Numeric);
oleCmd.Parameters["ID"].Value = 5;
oleAdapter.SelectCommand = oleCmd;
oleAdapter.Fill(ds, "Test");
dataGridView1.DataSource = ds;
dataGridView1.DataMember = "Test";
oleAdapter.Dispose();
oleCmd.Dispose();
oleConn.Dispose();
}
解説
Nwind.accdb の Invoices テーブルのからデータを抽出するクエリ (Invoices Filter) を使って、データを取得します。クエリは EXECUTE メソッドを使って実行します。クエリ名に空白文字が含まれている場合は、[...] で囲みます。
この Invoices Filter クエリはパラメータにより、抽出するデータを選択することができます。SQL の WHERE 句に相当します。
このようにパラメータを使って、クエリーを実行することをパラメータクエリーと言うようです。
OLEDB では、名前付きパラメータは無視されるようです。この例では 1 件のみ検索されるはずですが、全件取得されています。
また、Test クエリーを作成した理由ですが、既存のクエリーの実行ができなかったためです。不明なエラーであったり、Nz 関数が設定されたクエリーが認識できなかったりと原因は様々なようです。
結果

動作確認環境
Visual Studio 2015 Professional (C# 6.0)