■ 現在のこのページの役立ち度:
表示されない場合こちらのリンクからもご覧になれます。
■ このページの役立ち度を評価する:
役立ち度を評価してください。
(1(左):あまり役立たない - 5(右):大変役立った):
■ ページの共有:
[ サイト内検索 ]
カスタム検索
#336-1クエリ式の構文エラーアキト2004-03-03(水) 19:04
     #337-1RE#336:クエリ式の構文エラー匿名3372004-03-03(水) 19:34
     #338-1RE#336:クエリ式の構文エラーおのちん2004-03-04(木) 08:48
     #339-1RE#338:クエリ式の構文エラーアキト2004-03-04(木) 10:32
#336-1
クエリ式の構文エラー
こんにちは。昨日はお世話になりました。
たびたびで申し訳ないのですが、教えて頂けないでしょうか。
今パラメータのあるクエリの実行を試みています。
tmpStDateは日付型で、データベースのDateも日付型です。

Set ws = DBEngine.Workspaces(0)
Set db = ws.OpenDatabase(tmpStrDataBase)
mySQL = "SELECT Date,Data1 FROM Test WHERE [Date]=[PARAM1}"
Set qd = tmpdb.CreateQueryDef("Test", mySQL)  '・・・A
Set qd = tmpdb.QueryDefs("FrmDataBaseAccess")
qd.Parameters("PARAM1").Value = tmpStDate
Set rs = tmpqd.OpenRecordset
db.QueryDefs.Delete "Test"

Aの行でクエリ式の構文エラー 演算子がありません。
と表示されます。
Dateフィールドの日付がtmpStDateの日のレコードがrsに入るつもりでいたのですが、
うまく動きません。
SQL構文で何か勘違いをしていると思うのですが、原因がわかりません。
たびたびで申し訳ありませんが、よろしくお願いします。

環境:
WinXP VB6.0 SP5 Access2000
#337-1
RE#336:クエリ式の構文エラー
> こんにちは。昨日はお世話になりました。
> たびたびで申し訳ないのですが、教えて頂けないでしょうか。
> 今パラメータのあるクエリの実行を試みています。
> tmpStDateは日付型で、データベースのDateも日付型です。
> 
> Set ws = DBEngine.Workspaces(0)
> Set db = ws.OpenDatabase(tmpStrDataBase)
> mySQL = "SELECT Date,Data1 FROM Test WHERE [Date]=[PARAM1}"
> Set qd = tmpdb.CreateQueryDef("Test", mySQL)  '・・・A
> Set qd = tmpdb.QueryDefs("FrmDataBaseAccess")
> qd.Parameters("PARAM1").Value = tmpStDate
> Set rs = tmpqd.OpenRecordset
> db.QueryDefs.Delete "Test"
> 
> Aの行でクエリ式の構文エラー 演算子がありません。
> と表示されます。
> Dateフィールドの日付がtmpStDateの日のレコードがrsに入るつもりでいたのですが、
> うまく動きません。
> SQL構文で何か勘違いをしていると思うのですが、原因がわかりません。
> たびたびで申し訳ありませんが、よろしくお願いします。
> 
> 環境:
> WinXP VB6.0 SP5 Access2000

SELECT Date,Data1 FROM Test WHERE [Date]=[PARAM1}
最後の}はなんですか、それが原因では
後[は必要なんでしょうか
SELECT Date,Data1 FROM Test WHERE Date=PARAM1
↑これか
SELECT Date,Data1 FROM Test WHERE [Date]=[PARAM1]
って感じでしょうかねw

関係なかったらすまそm(_ _)m
削除1234
#338-1
RE#336:クエリ式の構文エラー
> Set ws = DBEngine.Workspaces(0)
> Set db = ws.OpenDatabase(tmpStrDataBase)
> mySQL = "SELECT Date,Data1 FROM Test WHERE [Date]=[PARAM1}"
> Set qd = tmpdb.CreateQueryDef("Test", mySQL)  '・・・A
> Set qd = tmpdb.QueryDefs("FrmDataBaseAccess")
> qd.Parameters("PARAM1").Value = tmpStDate
> Set rs = tmpqd.OpenRecordset
> db.QueryDefs.Delete "Test"
そのままのソースのでしょうか?変数宣言はともかくとし、
括弧も対になっていないので構文エラーになりますし、
いきなりtmpXXなんていうのもいくつか使用していますし。

>Aの行でクエリ式の構文エラー 演算子がありません。
こういうエラーが出た場合にまずすることは、その時点で発行しようとしている
SQLを見てください。そして、そのSQLをAccess側で実行してみましょう。
#339-1
RE#338:クエリ式の構文エラー
匿名さん、おのちんさん御返答ありがとうございます。
tmpXX等とついてるとこを御指摘頂きました。
実はこのソース自体Function扱いにしてまして、ws,db等のデータベース関係の変数を受け渡してまして、その辺がダメだったようです。
Accessで試してみれば・・というアドバイスを頂き初心に帰ろうとFunctionにせずにやってみたところうまく出来てしまいました。
勉強中のくせにややこしくやろうとしたミスですね・・反省してます。
取り合えずうまくいきましたので、アドバイス頂いた方本当にありがとうございました。

> > Set ws = DBEngine.Workspaces(0)
> > Set db = ws.OpenDatabase(tmpStrDataBase)
> > mySQL = "SELECT Date,Data1 FROM Test WHERE [Date]=[PARAM1}"
> > Set qd = tmpdb.CreateQueryDef("Test", mySQL)  '・・・A
> > Set qd = tmpdb.QueryDefs("FrmDataBaseAccess")
> > qd.Parameters("PARAM1").Value = tmpStDate
> > Set rs = tmpqd.OpenRecordset
> > db.QueryDefs.Delete "Test"
> そのままのソースのでしょうか?変数宣言はともかくとし、
> 括弧も対になっていないので構文エラーになりますし、
> いきなりtmpXXなんていうのもいくつか使用していますし。
> 
> >Aの行でクエリ式の構文エラー 演算子がありません。
> こういうエラーが出た場合にまずすることは、その時点で発行しようとしている
> SQLを見てください。そして、そのSQLをAccess側で実行してみましょう。
このページと関連する記事:
#329-1レコードの変更について2004-03-02(火) 18:30
#36571-0日付の指定2001-01-10(水) 14:05
#2304-0ODBCでのレコードセット時の『型が一致しません』のエラー2002-05-28(火) 12:27
#2783-1DAOを用いた日付の検索1999-08-06(金) 15:48
#5345-0RE#5343:SQL実行結果1999-09-17(金) 13:22
#2456-0where句の条件式について!1999-10-03(日) 12:33
#5051-1テーブルの更新について1999-09-13(月) 14:11
#43556-0SQLの実行の仕方2001-05-30(水) 16:21
#5026-0【主題訂正です】DAOでクライアントのDBのテーブルを読め込めません1999-12-09(木) 13:36
#539-0Form LoadでSetステートメントは使えないの?1999-08-02(月) 14:13
お探しの情報は見つかりましたか?お困りの問題は解決しましたか?
サイト内検索, 似た記事検索で見つからなくてもあきらめずに掲示板で質問してみましょう。
VB初心者友の会があなたのお役に立てれば幸いです。また、本ページの投稿者の方々にこの場を借りて感謝致します。
本ページは過去ログを集めて自動構成しています。よろしければこのページに関するフィードバックをお願いします。
(※ 構成の誤り、広告等の不適切な記事、リンク切れ、読めないページの報告など)