操作に対する引数 criteria をユーザーの選択に基づいて変える場合、抽出条件をフォームのコントロールから取得することができます。 たとえば、[受注] テーブルの受注日を含むリスト ボックスから、引数 criteria に指定する値を取得できます。
フォーム上のコントロールから取得される日付と時刻の条件を指定するには、 criteria 引数に、フォーム上のコントロールを参照する式を含めます。 この式は、適切な操作を実行する前に、Access が最初にコントロール式を評価し、文字列式の残りの部分と連結できるように、文字列式とは別にする必要があります。
文字列式全体をニ重引用符 (") で囲むほかに、文字列式の中の日付または時刻の抽出条件を、数値記号 (#) で囲む必要があります。 数値記号は、フォームのコントロールを参照する式の前後の文字列に含めます。
注:
数値記号は、 criteria 引数に文字列内の日付または時刻が含まれていることを Access に示します。
次の例では、フォーム上にある HireDate という名前のコントロールから取得した条件に基づいて、フォームの Filter プロパティまたは ServerFilter プロパティを設定します。 Note the placement of the number signs.
Forms!Employees.Filter = "[HireDate] >= #" _
& Forms!Employees!HireDate & "#"
Forms!Employees.FilterOn = True
Forms!Employees.ServerFilter = "[HireDate] >= #" _
& Forms!Employees!HireDate & "#"
Forms!Employees.FilterOn = True
HireDate コントロールの現在の値が 1992 年 5 月 1 日の場合、 Filter または ServerFilter プロパティには次の criteria 引数があります。 "[HireDate] >= #5-1-92#"
ヒント
引数 criteria 内の式に問題がある場合は、式をいくつかの構成要素に分け、これを [イミディエイト] ウィンドウで個別にテストします。 各構成要素が正しく動作するようになったら、1 つずつこれらを結合していき、式全体が正しく動作するようにします。
引数 criteria の中に日付または時刻を表す変数を指定することもできます。 最初に変数が評価され、文字列式の残りの部分と連結されるように、変数は文字列式とは別にする必要があります。 日付または時刻抽出条件は、数値記号で囲む必要があります。
次の例では、日付または時刻を表す変数を使って引数 criteria を記述します。
Dim datHireDate As Date
datHireDate = #5-1-92#
Forms!Employees.Filter = "[HireDate] >= #" _
& datHireDate & "#"
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。