• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:FindFirst複数条件)

FindFirst複数条件でのレコード検索がうまくいかないエラーの解決方法

このQ&Aのポイント
  • VBAのコードを使用して、フォームの2つのコンボボックスで条件を指定し、テーブルからレコードを検索する際、複数条件での検索がうまくいかないエラーが発生します。
  • 単純なAndで条件を結合するだけでは解決せず、条件指定の方法に問題がある可能性があります。
  • FindFirstメソッドを使用する際に条件を複数指定するには、条件ごとにFindFirstメソッドを別々に使用し、その結果を組み合わせて判定する必要があります。

質問者が選んだベストアンサー

  • ベストアンサー
  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.1

>TBLrs.FindFirst"AAA='"&Me.COM_A&"'"And"BBB='"& Me.COM_B & "'" 恐らく『「And」は文字列として渡す必要があるから』と考えられて 「"And"」という形で挿入されたのだろうと思います。 確かにそう(=文字列として渡す必要がある)なのですが、そのためには、その前の 「AAA='」という文字列と、「Me.COM_B」というコンボボックスへの参照式とを 結合させた場合と同様に、「&」を使ってやる必要があります。 なお、文字列が連続する場合は、「"~"& "~"」とする代わりに、文字列全体を 一組の「""」で囲って「"~~"」とすることもできます。 ですので、上記の部分を  TBLrs.FindFirst "AAA='" & Me.COM_A & "'" & " And " & "BBB='" & Me.COM_B & "'" とするか、または連続する文字列をひとつにまとめて  TBLrs.FindFirst "AAA='" & Me.COM_A & "' And BBB='" & Me.COM_B & "'" と修正すれば、正しく動作するかと思います。 (「And」の前後には、ともに半角スペースが必要なので注意)

関連するQ&A