- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ACCESS VBA Parametersで or演算子を使用するには)
ACCESS VBA ParametersでOR演算子を使用するには
このQ&Aのポイント
- ACCESS VBA ParametersでOR演算子を使うための方法と、実行時に発生するエラーメッセージの解決策について説明します。
- 抽出クエリを作成し、抽出条件に「[WWW]」を設定しています。しかし、指定したコードの実行時に「カレントレコード無し」というメッセージが表示されます。この問題の解決策を示します。
- 指定したコードの「Qdf.Parameters("WWW") = "01" OR "02"」の部分が誤っているため、エラーメッセージが表示されています。正しい演算子使用方法として、「Qdf.Parameters("WWW") = "01" OR Qdf.Parameters("WWW") = "02"」を使う必要があります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
たとえば、クエリのフィールドにパラメータを 複数設定するとして、[WWW]だけを設定すれば クエリを開いたときにパラメータの入力は一回 しか表示されません。二回表示させようと思えば [WWW] Or [XXX]とする必要があります。つまり 質問の要望ははやや「暖簾に腕押し」のような感じで、 上記のように、一つのフィールドの抽出条件に [WWW] Or [XXX] と設定し、コードで Qdf.Parameters("[WWW]") = "01" Qdf.Parameters("[XXX]") = "02" とすれば、カレントレコードがない、という エラーは出なくなると思いますが。
その他の回答 (1)
- tohru999
- ベストアンサー率49% (76/154)
回答No.1
(1)の箇所(Qdf.Parameters("WWW") = " 01" OR "02")は、 日本語にすると、"01" と "02"でor処理(ビット演算)して、WWWのパラメータに代入となります。 ですので、WWWに入るのは、3 (2進数で 01 と 10 で or処理をすると 11 となる。10進数で言うと3)になります。 (1)を、下記のようにすれば、イイんではないでしょうか? Qdf.Parameters("WWW") = "'01' Or '02'"
質問者
補足
早々に、ご回答ありがとうございます。 しかしながら結果は同じでした。 「カレントレコードがありません~」というメッセージが表示されます。
お礼
なるほど!上手く出来ました ありがとうございました。 これからも宜しくお願いいたします。