重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

複数項目あるフィールドの年齢から検索をしたくて以下のようにしました。

tempCond = ""

'年齢
If Me!年齢開始.Value <> "" Then
Nenrei1 = "(Q_メイン.年齢1 between " & Me!年齢開始.Value & " and " & Me!年齢終了.Value & ")"
Nenrei2 = "(Q_メイン.年齢2 between " & Me!年齢開始.Value & " and " & Me!年齢終了.Value & ")"
tempCond = tempCond & " OR (" & Nenrei1 & " OR " & Nenrei2 & ")"
End If

If tempCond <> "" Then
tempCond = Mid(tempCond, 5)
WhereCond = WhereCond & tempOper & "(" & tempCond & ")"
End If

これで実行をすると、

実行時エラー'2501';
OpenForm アクションの実行はキャンセルされました。

と出てしまいます。

上記の部分を記入するまでは検索ボタンは正常に動いていたのですが。
どこを直せばいいのでしょうか?

A 回答 (1件)

何が入っているのか不明な変数がありますね。



> tempOper

WhereCond に代入されている値を Debug.Print などを使って確認してください。

この回答への補足

Nenrei1 = "(Q_メイン.年齢1 between " & Me!年齢開始.Value & " and " & Me!年齢終了.Value & ")"

Nenrei1 = "(Q_メイン.年齢1 >= " & Me!年齢開始.Value & " and <= " & Me!年齢終了.Value & ")"
としてみましたがだめですね。

wherecondの値は
OR(((Q_メイン.年齢1 >= 10 and <= 16) OR (Q_メイン.年齢2 >= 10 and <= 16))) OR (Q_メイン.年齢1 >= 10 and <= 16) OR (Q_メイン.年齢2 >= 10 and <= 16)))
と出ました。

補足日時:2004/10/21 14:08
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

tempOperは検索方法を「or」か「and」という選べる形式にしてあるため、それが代入されるようになっているものです。

お礼日時:2004/10/21 14:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!