dポイントプレゼントキャンペーン実施中!

AccessVBA 実行時エラー'2766'について質問です。

このオブジェクトには、オートメーションオブジェクト'レコードセット'は含まれません。

のエラーが出て困っています。
発生タイミングはフォームで4箇所以上の条件で検索した際に発生してます。
SQLに問題がありそうなのですが、SELECT~FROM文に続けて
WhereSQL = "WHERE List.DeleteCheck <> True "
WhereSQL = WhereSQL & "AND MCate = '" & ![txtFindMachineCate].Column(1) & "' "
WhereSQL = WhereSQL & "AND PName LIKE '%" & ![txtFindProductName] & "%'"
などテキストボックスに入力されているかをIF文でチェックして、
WHERE文をANDで結合しています。(AND文合計30個)
ただし、4個ほどテキストボックスやコンボボックスを選択して検索すると、エラーがでます。

上記の後に、ORDER BY句を結合しています。
SubFormSQL = SubFormSQL & "ORDER BY PNum;"

エラーのタイミングは上記の通りで、どのテキストボックスで起こるかは決まっていません。

何が原因しているのか、さっぱりで大変困っています。
アドバイスよろしくお願いいたします。m(_ _)m

A 回答 (4件)

連結し生成しているので、空白区切りが要るのにない、シングルコーテーションが片方しかない、こういう観点でSQLが正しいかから探るというのはやりましたか。

    • good
    • 0
この回答へのお礼

アドバイスありがとうございます。
皆様のご意見でいろいろ探った結果、
SQL分のWHERE条件のAND文に文字数制限がある様でした。
具体的に何文字かは、定かではありませんが、
合計30個あるAND文の文字数を減らす度に、検索できる数が増えていきました。
現在は、テーブルの列名を短くして、検索できる数をどんどん増やしています。
具体的に何文字なんでしょうね(~_~;)

重ねてアドバイスありがとうございました。
m(_ _)m

お礼日時:2010/06/04 07:31

>ワイルドカードの&はOLE DB Provider for Jet



すみません。ワイルドカードがなぜか
  &
になっていました。
  %
です。
    • good
    • 0
この回答へのお礼

アドバイスありがとうございます。
皆様のご意見でいろいろ探った結果、
SQL分のWHERE条件のAND文に文字数制限がある様でした。
具体的に何文字かは、定かではありませんが、
合計30個あるAND文の文字数を減らす度に、検索できる数が増えていきました。
現在は、テーブルの列名を短くして、検索できる数をどんどん増やしています。
具体的に何文字なんでしょうね(~_~;)

重ねてアドバイスありがとうございました。
m(_ _)m

お礼日時:2010/06/04 07:31

回答が不十分だったので。



ワイルドカードの&はOLE DB Provider for Jet
を使っている場合ですが、この場合はどうなの
でしょう。

フルパスについてはSQL内の他の部分についても
同様です。
    • good
    • 0

>LIKE '%" & ![txtFindProductName] & "%'"



Forms!なんとか![txtFindProductName]

のようにフルパスでは?

また、

ワイルドカードは *  では?
    • good
    • 0
この回答へのお礼

アドバイスありがとうございます。
皆様のご意見でいろいろ探った結果、
SQL分のWHERE条件のAND文に文字数制限がある様でした。
具体的に何文字かは、定かではありませんが、
合計30個あるAND文の文字数を減らす度に、検索できる数が増えていきました。
現在は、テーブルの列名を短くして、検索できる数をどんどん増やしています。
具体的に何文字なんでしょうね(~_~;)

重ねてアドバイスありがとうございました。
m(_ _)m

お礼日時:2010/06/04 07:31

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

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す


このQ&Aを見た人がよく見るQ&A