即効テクニック |
●概要● 構文 expression.FindRecord(FindWhat, Match, MatchCase, Search, SearchAsFormatted, OnlyCurrentField, FindFirst) 設定項目 内容 expression DoCmdオブジェクト[省略不可] FindWhat 検索データを指定[省略不可] Match 検索方法をAcFindMatchクラスの定数で指定[省略可能] MatchCase 大文字小文字を区別するかを指定[省略可能] Search 検索方向をAcSearchDirectionクラスの定数で指定[省略可能] SearchAsFormatted 表示書式で検索するかどうかを指定[省略可能] OnlyCurrentField カレントフィールドのみ検索するかどうかをAcFindFieldクラス の定数で指定[省略可能] FindFirst 先頭レコードから検索するかを指定[省略可能] 抽出条件を満たす最初のデータを検索します。引数に指定した文字列、数字、日付などを検索します。ワイルドカード文字を使用することもできます。引数 には、検索方法を指定します。 ・引数 に指定できるワイルドカード文字 文字 説明 使用例→検索結果 * 任意の文字列 *ry→ry、try、dictionary 他 (文字数は問わない、0文字も可) ? 任意の1文字 ?ry→try、dry 他 # 任意の1文字の数字 5##8→5008、5598 他 [ ] []内の任意の1文字 a[sf]b→asb、afb [ - ] -の前後の文字範囲内の任意の1文字 a[c-e]b→acb、adb、aeb (範囲は昇順で指定) [! ] []内の文字以外の任意の1文字 a[!gy]b→aab、abb、acb 他 ・引数 に指定する定数(AcFindMatchクラス) 定数 説明 acAnywhere フィールドの一部分と、検索文字列が一致(〜を含む) acEntire フィールド全体が完全一致(〜と等しい)(既定値) acStart フィールドの先頭側の文字列と検索文字列が一致(〜から始まる) 引数 は、検索時に大文字と小文字を区別する場合にはTrue、大文字と 小文字を区別しない場合にはFalseを指定します。省略すると、既定値Falseを指定し たこととなります。引数 には、検索する方向を指定します。省略すると、 acSearchAllを指定したこととなります。 ・引数 に指定する定数(AcSearchDirectionクラス) 定数 説明 acDown 後方に検索 acSearchAll すべてのレコードを検索(既定値) acUp 前方に検索 引数 には、書式を有効にして検索したい場合True、そうでない場合Falseを指定します。たとえば、日付を検索する場合、条件に「02/7/24」と指定して、フィールドの書式にかかわらず2002年7月24日に対応する日付をすべて検索したいときに、Falseを指定します。引数 を省略すると、Falseを指定したこととなります。引数 には、カレントフィールドのデータだけを検索するか、すべてのフィールドのデータを検索するかを、次の表の定数で指定します。カレントフィールドだけを検索するほうが、実行速度が速くなります。省略すると、acCurrentを指定したこととなります。 ・引数 に指定する定数(AcFindFieldクラスの定数) 定数 説明 acAll すべてのフィールドを検索 acCurrent カレントフィールドのみを検索(既定値) 引数 には、先頭のレコードから検索を開始する場合はTrueを、カレントレコードから検索を開始する場合はFalseを指定します。省略するとTrueを指定したこととなります。 ●サンプル● Sub FindRecordSample() '[書籍フォーム]を開く DoCmd.OpenForm "書籍フォーム" 'すべてのフィールドから「VBA」という文字を含むデータを検索 DoCmd.FindRecord "*VBA*", , , , , acAll 'DoCmd.FindRecord "VBA", acAnywhere, , , , acAll 'と記述しても同じ結果が得られます End Sub