FindRecord マクロ アクション

Access デスクトップ データベースでレコードの検索アクションを使うと、レコードの検索引数で指定した抽出条件を満たす最初のデータのインスタンスを検索できます。 カレント レコード、次のレコード、前のレコード、または最初のレコードのデータに対する検索で使用できます。 アクティブなテーブル データシート、クエリ データシート、フォーム データシート、またはフォームのレコードを検索できます。

注: レコードの検索マクロ アクションは、Access Web アプリでは使用できません。

設定

レコードの検索アクションの引数は次のとおりです。

アクションの引数

説明

検索 データ

レコードで検索するデータを指定します。 [マクロ ビルダー] ウィンドウの [アクションの引数] セクションにある [検索データ] ボックスに、検索するテキスト、数値、日付、式のいずれかを入力します。式を入力する場合は、式の前に等号 (=) を付けます。 ワイルドカード文字を使用できます。 これは、必須の引数です。

検索条件

フィールドのどの部分を検索するかを指定します。 フィールドの一部 ([フィールドの一部分])、全体 ([フィールド全体])、または先頭 ([フィールドの先頭]) を対象にデータを検索するように指定できます。 既定値は [フィールド全体] です。

大小文字区別

大文字と小文字の区別をして検索するかどうかを指定します。 大文字と小文字を区別する場合は [はい] をクリックし、区別しない場合は [いいえ] をクリックします。 既定値は [いいえ] です。

検索

カレント レコードから先頭のレコードに向かって検索するか ([上へ])、末尾のレコードに向かって検索するか ([下へ])、レコードの末尾に向かって検索した後にレコードの先頭からカレント レコードに向かって検索して、すべてのレコードを検索するか ([すべてのレコード]) を指定します。 既定値は [すべてのレコード] です。

表示書式で検索

書式設定されたデータを検索に含めるかどうかを指定します。 [はい] (Access では、書式設定されたフィールドに表示されているとおりのデータが検索されます) または [いいえ] (Access では、データベースに格納されているデータが検索されます。このデータは、表示されているデータと必ずしも一致しません) をクリックします。 既定値は [いいえ] です。

この機能を使うと、検索の対象を特定の書式のデータに制限できます。 たとえば、[はい] をクリックし、[検索データ] 引数に「1,234」と入力すると、コンマを含むように書式設定されたフィールド内の値 "1,234" を検索できます。 「1234」と入力してこのフィールド内のデータを検索する場合は、[いいえ] をクリックします。

日付を検索する場合、[はい] をクリックして、08-July-2015 のように書式設定されたとおりの日付を検索できます。 [いいえ] をクリックした場合、Windows コントロール パネルの地域の設定で設定されている形式の日付を [検索データ] 引数に入力します。 この形式は、地域の設定の [日付] タブの [短い形式] ボックスで確認できます。 たとえば、[短い形式] ボックスが [M/d/yy] に設定されている場合に「7/8/15」と入力すると、日付フィールドがどのように書式設定されているかに関係なく、2015 年 7 月 8 日に対応するすべてのエントリが検索されます。

注: 表示書式で検索の引数が有効になるのは、カレント フィールドがバインドされたコントロールである場合、検索条件引数が [フィールド全体] に設定されている場合、カレント フィールドのみ引数が [はい] に設定されている場合、また大小文字区別引数が [いいえ] に設定されている場合のみです。

大小文字区別引数を [はい] に設定した場合、またはカレント フィールドのみ引数を [いいえ] に設定した場合は、表示書式で検索引数を [はい] に設定する必要があります。

カレント フィールドのみ

各レコードのカレント フィールドだけで検索するか、または各レコードのすべてのフィールドで検索するかを指定します。 カレント フィールドを検索する方が速くなります。 カレント フィールドだけで検索する場合は [はい] をクリックし、各レコードのすべてのフィールドで検索する場合は [いいえ] をクリックします。 既定値は [はい] です。

先頭から検索

先頭のレコードから検索を開始するか、カレント レコードから検索を開始するかを指定します。 先頭のレコードから開始する場合は [はい] をクリックし、カレント レコードから開始する場合は [いいえ] をクリックします。 既定値は [はい] です。


解説

マクロのレコードの検索アクションが実行されると、各レコード内で指定されたデータが検索されます (検索順序は検索方向引数の設定値によって決まります)。 指定されたデータが見つかると、そのレコードの該当データが選択されます。

レコードの検索アクションの動作は、[ホーム] タブの [検索] をクリックした場合と同じで、その引数は [検索と置換] ダイアログ ボックスのオプションと同じです。 マクロ デザイン ウィンドウでレコードの検索の引数を設定してからマクロを実行した場合、[検索] をクリックしたときに [検索と置換] ダイアログ ボックスで対応する各オプションが選択されていることがわかります。

データベースの操作中はレコードの検索アクションに最後に設定した引数が保持されるため、次にレコードの検索アクションを使用するときに同じ検索条件を繰り返し入力する必要はありません。 引数を指定しない場合、前回実行したレコードの検索アクションまたは [検索と置換] ダイアログ ボックスで最後に設定した引数の値が使用されます。

マクロを使ってレコードを検索する場合は、コマンドの実行アクションの引数の設定によって [検索] コマンドを実行するのではなく、レコードの検索アクションを使用します。

注: レコードの検索アクションは、テーブル、クエリ、フォームでは [ホーム] タブの [検索] コマンドに対応していますが、コード ウィンドウでは [編集] メニューの [検索] コマンドに対応していません。 レコードの検索アクションを使ってモジュール内のテキストを検索することはできません。

現在選択されているテキストが、レコードの検索アクション実行時の検索テキストと同じである場合は、同じレコードの同じフィールドの、選択されているテキストの直後から検索が開始されます。 選択されているテキストと検索テキストが異なる場合は、カレント レコードの先頭から検索が開始されます。 このため、1 つのレコードに同じ検索条件を満たすテキストが複数存在する場合の検索ができます。

ただし、コマンド ボタンを使ってレコードの検索アクションが含まれているマクロを実行する場合は、検索条件を満たす最初のテキストが繰り返し検索されます。 これは、コマンド ボタンをクリックしたときに、検索条件を満たす値が含まれるフィールドからフォーカスが移動されるためです。 その結果、レコードの検索アクションによる検索はレコードの先頭から再開されます。 この問題を回避するには、フォーカスを変更しない方法を使ってマクロを実行します。たとえば、カスタム ツール バー ボタン、AutoKeys マクロで定義されたキーの組み合わせなどを使用します。またはレコードの検索アクションを実行する前に、検索条件が含まれるフィールドにフォーカスを設定するようにマクロを変更します。

セキュリティに関するお知らせ : 重要な情報や機密情報には SendKeys ステートメントまたは AutoKeys マクロを使用しないでください。 悪意のあるユーザーがキー入力をインターセプトして、コンピューターやデータのセキュリティを侵害する恐れがあります。

コマンド ボタンを使って、次を検索アクションが含まれているマクロを実行する場合も、同様の問題が発生します。

Visual Basic for Applications (VBA) モジュールでレコードの検索アクションを実行するには、DoCmd オブジェクトのレコードの検索メソッドを使います。

さらに複雑な検索を実行する場合は、オブジェクトからレコードの検索マクロ アクションを使うことができます。

スキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×