次の方法で共有


DoCmd.SearchForRecord メソッド (Access)

SearchForRecord メソッドを使用して、テーブル、クエリ、フォーム、またはレポート内の特定のレコードを検索します。

構文

SearchForRecord (ObjectTypeObjectNameRecordWhereCondition)

expression: DoCmd オブジェクトを表す変数。

パラメーター

名前 必須 / オプション データ型 説明
ObjectType 省略可能 AcDataObjectType 検索するデータベース オブジェクトの種類を指定する AcDataObjectType 定数です。 既定値は acActiveDataObject です。
ObjectName 省略可能 バリアント型 検索するレコードが含まれているデータベース オブジェクトの名前です。
Record オプション AcRecord 検索の開始点と方向を指定する AcRecord 定数です。 既定値は acFirst です。
WhereCondition 省略可能 バリアント型 レコードの位置を特定するために使用される文字列です。 これは SQL ステートメントの WHERE 句に似ていますが、WHERE という単語はありません。

注釈

WhereCondition 引数の条件に複数のレコードが一致する場合、検索されるレコードは次の要因によって決まります。

  • 引数 Record の設定。

  • レコードの並べ替え順序。 たとえば、 引数 RecordacFirst に設定されている場合、レコードの並べ替え順序を変更すると、見つかったレコードが変更される可能性があります。

ObjectName 引数で指定されたオブジェクトは、このアクションを実行する前に開く必要があります。 それ以外の場合、エラーが発生します。

WhereCondition 引数の条件が満たされていない場合、エラーは発生せず、フォーカスは現在のレコードに残ります。

前のレコードまたは次のレコードを検索する場合、データの先頭または末尾まで検索すると、そこで終了します。 条件に一致するレコードがなくても、エラーは発生せず、フォーカスはカレント レコードに置かれたままになります。 一致が見つかったことを確認するには、次のアクションの条件を入力し、 条件を WhereCondition 引数の条件と同じにすることができます。

SearchForRecord メソッドは FindRecord メソッドに似ていますが、SearchForRecord にはより強力な検索機能があります。 FindRecord メソッドは主に文字列の検索に使用され、[検索] ダイアログ ボックスの機能と重複します。 SearchForRecord メソッドは、フィルターや SQL クエリに似た条件を使用します。

次の一覧は、 SearchForRecord メソッドで実行できるいくつかのことを示しています。

  • WhereCondition 引数で複雑な条件 (などDescription = "Beverages" and CategoryID = 11) を使用します。

  • フォームまたはレポートのレコード ソースにあるが、フォームまたはレポートに表示されないフィールドを参照します。 前の例では、 Description 条件を機能させるためにフォームまたはレポートに表示する必要もありません CategoryID

  • 、、ANDORBETWEEN などの<>論理演算子を使用します。 FindRecord メソッドは、検索対象の文字列と等しい、その文字列で始まる、またはその文字列を含む文字列とのみ一致します。

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。