DoCmd.SearchForRecord メソッド (Access)
SearchForRecord メソッドを使用して、テーブル、クエリ、フォーム、またはレポート内の特定のレコードを検索します。
構文
式。SearchForRecord (ObjectType、 ObjectName、 Record、 WhereCondition)
expression: DoCmd オブジェクトを表す変数。
パラメーター
名前 | 必須 / オプション | データ型 | 説明 |
---|---|---|---|
ObjectType | 省略可能 | AcDataObjectType | 検索するデータベース オブジェクトの種類を指定する AcDataObjectType 定数です。 既定値は acActiveDataObject です。 |
ObjectName | 省略可能 | バリアント型 | 検索するレコードが含まれているデータベース オブジェクトの名前です。 |
Record | オプション | AcRecord | 検索の開始点と方向を指定する AcRecord 定数です。 既定値は acFirst です。 |
WhereCondition | 省略可能 | バリアント型 | レコードの位置を特定するために使用される文字列です。 これは SQL ステートメントの WHERE 句に似ていますが、WHERE という単語はありません。 |
注釈
WhereCondition 引数の条件に複数のレコードが一致する場合、検索されるレコードは次の要因によって決まります。
引数 Record の設定。
レコードの並べ替え順序。 たとえば、 引数 Record が acFirst に設定されている場合、レコードの並べ替え順序を変更すると、見つかったレコードが変更される可能性があります。
ObjectName 引数で指定されたオブジェクトは、このアクションを実行する前に開く必要があります。 それ以外の場合、エラーが発生します。
WhereCondition 引数の条件が満たされていない場合、エラーは発生せず、フォーカスは現在のレコードに残ります。
前のレコードまたは次のレコードを検索する場合、データの先頭または末尾まで検索すると、そこで終了します。 条件に一致するレコードがなくても、エラーは発生せず、フォーカスはカレント レコードに置かれたままになります。 一致が見つかったことを確認するには、次のアクションの条件を入力し、 条件を WhereCondition 引数の条件と同じにすることができます。
SearchForRecord メソッドは FindRecord メソッドに似ていますが、SearchForRecord にはより強力な検索機能があります。 FindRecord メソッドは主に文字列の検索に使用され、[検索] ダイアログ ボックスの機能と重複します。 SearchForRecord メソッドは、フィルターや SQL クエリに似た条件を使用します。
次の一覧は、 SearchForRecord メソッドで実行できるいくつかのことを示しています。
WhereCondition 引数で複雑な条件 (など
Description = "Beverages" and CategoryID = 11
) を使用します。フォームまたはレポートのレコード ソースにあるが、フォームまたはレポートに表示されないフィールドを参照します。 前の例では、
Description
条件を機能させるためにフォームまたはレポートに表示する必要もありませんCategoryID
。、、AND、OR、BETWEEN などの<>論理演算子を使用します。 FindRecord メソッドは、検索対象の文字列と等しい、その文字列で始まる、またはその文字列を含む文字列とのみ一致します。
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。