FindRecord / FindNext 基本構文と引数の解説

Access VBA の DoCmd.FindRecord および DoCmd.FindNext は、現在開いているフォーム・データシート・レポート上のレコード検索を自動的に行うためのメソッドです。


目次

🔹 DoCmd.FindRecord の基本構文と引数

DoCmd.FindRecord(FindWhat, Match, MatchCase, Search, SearchAsFormatted, OnlyCurrentField, FindFirst)
引数名説明
FindWhatString検索する値
MatchAcFindMatch (省略可)"acEntire", "acStart", "acAnywhere"
MatchCaseBoolean (省略可)大文字・小文字を区別するか(True = 区別)
SearchAcSearchDirection (省略可)"acSearchAll", "acSearchUp", "acSearchDown"
SearchAsFormattedBoolean (省略可)書式適用後の値で検索するか(True = 書式あり)
OnlyCurrentFieldBoolean (省略可)現在のフィールドのみに検索を限定するか
FindFirstBoolean (省略可)最初の一致を探すかどうか(True = 最初から検索)

✅ 使用例1:フォームで「Tokyo」を検索

DoCmd.FindRecord "Tokyo", acAnywhere, False, acSearchAll, False, False, True

✅ 使用例2:現在のフィールド内で完全一致を検索(大文字・小文字区別なし)

DoCmd.FindRecord "YAMADA", acEntire, False, acSearchDown, False, True, True

🔹 DoCmd.FindNext の基本構文

DoCmd.FindNext

このメソッドは、前回の FindRecord 実行時の条件を保持して、次の一致を検索します。引数はありません。

✅ 使用例

DoCmd.FindNext

✅ 補足ポイント

  • FindRecord で検索を実行 → 一致レコードに移動。
  • FindNext は、同じ検索条件で次に一致するレコードを探す。
  • 通常は フォームビューかデータシートビューで使用。
  • レポートビューでは基本的に使えません(読み取り専用)。

よかったらシェアしてね!
目次