
システム:
Microsoft Windows XP
Professional
Version 2002
Service Pack 3
データベース:
Microsoft(R) Access 2000
言語:
Microsoft Visual Basic 6.0
For 32-bit Windows Development
で、以下のSQLを実行すると、実行時エラー'3075'が発生します。
xSQL1 = xSQL1 & " WHERE ((条件2 = '1' OR 条件3 = '1') "
xSQL1 = xSQL1 & " AND (((int(使用現場数) >= 2) "
xSQL1 = xSQL1 & " OR ((使用現場数 = '1' AND 調査年数 >= '1' "
xSQL1 = xSQL1 & "AND ((最新の場所 in ('自社倉庫','自社空地','貸倉庫','借地','その他')))"
xSQL1 = xSQL1 & "OR ((処分日 is not null) or 処分日 <> """")) ))"
xSQL1 = xSQL1 & " AND (機械コード番号2 = '4401' OR 機械コード番号2 = '4402'"
xSQL1 = xSQL1 & " OR 機械コード番号2 = '4702' OR 機械コード番号2 = '4703'"
xSQL1 = xSQL1 & " OR 機械コード番号2 = '4704' OR 機械コード番号2 = '4705'"
xSQL1 = xSQL1 & " OR 機械コード番号2 = '4706' OR 機械コード番号2 = '4707'"
xSQL1 = xSQL1 & " OR 機械コード番号2 = '4708' OR 機械コード番号2 = '4709'"
xSQL1 = xSQL1 & " OR 機械コード番号2 = '4710' OR 機械コード番号2 = '4713'"
xSQL1 = xSQL1 & " OR 機械コード番号2 = '4309' OR 機械コード番号2 = '4701'))"
xSQL1 = xSQL1 & " OR (((int(使用現場数) >= 3)"
xSQL1 = xSQL1 & " OR ((使用現場数 = '2' AND 調査年数 >= '1'"
xSQL1 = xSQL1 & " AND ((最新の場所 in ('自社倉庫','自社空地','貸倉庫','借地','その他')))"
xSQL1 = xSQL1 & " OR ((処分日 is not null) or 処分日 <> """")) ))"
xSQL1 = xSQL1 & " AND (機械コード番号2 <> '4401' AND 機械コード番号2 <> '4402'"
xSQL1 = xSQL1 & " AND 機械コード番号2 <> '4702' AND 機械コード番号2 <> '4703'"
xSQL1 = xSQL1 & " AND 機械コード番号2 <> '4704' AND 機械コード番号2 <> '4705'"
xSQL1 = xSQL1 & " AND 機械コード番号2 <> '4706' AND 機械コード番号2 <> '4707'"
xSQL1 = xSQL1 & " AND 機械コード番号2 <> '4708' AND 機械コード番号2 <> '4709'"
xSQL1 = xSQL1 & " AND 機械コード番号2 <> '4710' AND 機械コード番号2 <> '4713'"
xSQL1 = xSQL1 & " AND 機械コード番号2 <> '4309' AND 機械コード番号2 <> '4701'))))"
何がおかしいのでしょうか?
ご教授願います。
No.3
- 回答日時:
最近、Access は、いじっていないので、明確なことは、言えませんが、参考までに投稿してみます。
>> accessでSQLを実行してみたところ、『演算子がありません』とのエラーメッセージが表示されました。
との、コメントですが、
xSQL1 = xSQL1 & " OR ((使用現場数 = '1' AND 調査年数 >= '1' "
← この部分で、'1' を、' で、くくっていますが、[調査年数]フィールドの型は、文字列ですか ?
つまり、「1」の文字より大きい値を、判断させているような気がします。
xSQL1 = xSQL1 & "OR ((処分日 is not null) or 処分日 <> """")) ))"
← この部分で、[処分日]フィールドのNull値を判断させているようですが、[処分日]フィールドの型は、文字列ですか ?
気持ちは、解りますが、「処分日 <> """"」のような SQL の記載方法で、小生自身、以前、失敗した経験があります。
あと、各々のフィールドの型は、未明ですが、フィールドの型と、判断させる値の型は、一致してますか?
最後に、小生自身、エックス線管の名版作成の歳、Access をデータベースに利用した経験があります。
その際、テーブル名称とフィールド名称を日本語の文字を利用した際、[]で、くくると、うまく動作したことがありました。
的が、外れていたらごめんなさいね。
-以 上-
No.2
- 回答日時:
実行時エラー'3075'で検索すれば、SQLの文法が間違っているという
レベルで共通だけど、その原因は複数あることが分かります。
Access のエラーメッセージが返ってきたのをそのまま表示している
だけだと思われるので、エラーメッセージに日本語で原因を書いて
くれてませんか?
「クエリー式'XXX'の文字列の構文エラーです」とか
「演算子がありません」とか。
それに合わせて修正したらいいと思います。
実際に実行されているSQL(提示のものは条件句のみですよね?)
をテキスト出力して、Accessで直接実行してみて下さい。
その時点で動かないはずです。
この回答への補足
ご回答ありがとうございます。
accessでSQLを実行してみたところ、『演算子がありません』とのエラーメッセージが表示されました。ですが、演算子が足りない箇所はないように見えるのですが。。
ちなみに、vbでのエラーメッセージが表示されるダイアログボックスにメッセージが入りきっていないのですが、どうすればすべてのエラーメッセージを読めるのでしょうか?
基本的なこともわかっていなくて申し訳ないのですが、ご回答をお願い致します。
No.1
- 回答日時:
実行時エラー'3075'が具体的に何を表すかは不明です。
(おそらくSQL文の構文エラー関係のエラーと思われる)
処理日のデータ型が何かわからないが、その比較文は正しいのでしょうか?
この回答への補足
ご回答ありがとうございます。
以前は、以下のSQLを実行していましたが、上手く動作していましたので、処分日の比較は正しいと思います。
xSQL1 = ""
xSQL1 = "SELECT * "
xSQL1 = xSQL1 & " FROM 金額表示一覧表"
If FrmHikaku.Chk_genba Then
xSQL1 = xSQL1 & " WHERE (条件2 = '1' OR 条件3 = '1') "
xSQL1 = xSQL1 & " AND (使用現場数 >= '1' AND 調査年数 >= '1') "
Else
xSQL1 = xSQL1 & " WHERE (条件2 = '1' OR 条件3 = '1') "
xSQL1 = xSQL1 & " AND ((int(使用現場数) >= 2) "
xSQL1 = xSQL1 & " OR ((使用現場数 = '1' AND 調査年数 >= '1' "
xSQL1 = xSQL1 & "AND ((最新の場所 in ('自社倉庫','自社空地','貸倉庫','借地','その他')))"
xSQL1 = xSQL1 & "OR ((処分日 is not null) or 処分日 <> """")) ))"
End If
すみませんが、ご回答をお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) ACCESS VBA XSQLについて 2 2022/03/30 16:04
- その他(プログラミング・Web制作) 機械学習のコード作成する過程について、人によって、コード記入が違いますが、なぜですか。 3 2023/07/23 13:11
- 銀行・ネットバンキング・信用金庫 金融機関コード・支店コード・金融会社名・支店名・口座番号・口座名義人が漏れた場合、 不正に利用するこ 3 2022/03/28 11:17
- メルカリ 僕はラクマやメルカリやヤフオクはコンビニで払っているんですが、大人の方はコンビニで払わないのですか? 6 2022/04/02 01:30
- Visual Basic(VBA) エクセル VBA 難しいです 1 2023/02/21 15:39
- 戸籍・住民票・身分証明書 ついこの前皮膚科に行ったら、マイナンバーカードで受付をする人がいて、専用の縦長の機械で自分で受付して 5 2023/07/02 23:25
- その他(悩み相談・人生相談) 番号を変えてから非通知で電話が掛かって来て留守電に「アンケートにご協力下さい。お住まいの地域の郵便番 3 2023/04/13 10:57
- 飛行機・空港 飛行機の乗り方について 今度鹿児島から東京に旅行に行くのですが飛行機の乗り方がいまいちわかりません。 7 2022/10/03 19:37
- docomo(ドコモ) dアカウントの携帯電話番号が登録できない。ワンタイムコードがSMSに届かない。 2 2023/07/09 23:07
- その他(生活家電) 3色コードをHDMIに変換する機械を買ったのですが、テレビに映りません。何かコツとかありますか? 6 2023/07/20 15:40
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
access2021 VBA メソッドまたは...
-
フィルターかけた後、重複を除...
-
python コードについて(初学者...
-
JANコードとPOSコードは同じ?
-
1日に1人がこなせるプログラム...
-
pythonで同じコード内で複数の...
-
VBA 現在のセル番地を記憶、復...
-
JavaScriptの定数名が取り消し...
-
ActiveReportの改ページ不具合...
-
コンパイルエラー 変数が定義...
-
プログラムの記法 インラインコ...
-
ペンダントライトのコードの色...
-
VSコードでバックスペースキー...
-
VLookup関数を使ってラベルに表...
-
改ページ
-
VSコードでHTMLに(リンク)フ...
-
過剰なオブジェクト指向脳から...
-
ユーザーフォームに2つのコン...
-
sinカーブの表示のさせ方
-
ExcelVBAで「Shift_JIS(MS932)...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
1日に1人がこなせるプログラム...
-
JavaScriptの定数名が取り消し...
-
access2021 VBA メソッドまたは...
-
JANコードとPOSコードは同じ?
-
PreviewKeyDownイベントが2回...
-
エクセルに見えない文字(JISX0...
-
オートフィルタで抽出結果に 罫...
-
Excelシート上で右クリックがで...
-
Exel VBA 別ブックから該当デ...
-
access2003 クエリSQL文に...
-
変数名「cur」について
-
Nullの使い方が不正です。
-
【VB6】実行ファイルとした後、...
-
VBAでファイルオープン後にコー...
-
COBOLの文法
-
Accessでの抽出で完全一致。
-
AccessでReplace関数を使うときに…
-
Access DCountでの連番について
-
sinカーブの表示のさせ方
おすすめ情報