アプリ版:「スタンプのみでお礼する」機能のリリースについて

Win98SE、VB6.0+SP3からAccess97のmdbを読んで処理するプログラムで、

On Error GoTo Err_Hndr
Set db = OpenDatabase(sDatabase)

sSQL = "select * from station WHERE compare.[stationNo] = 1;"
Set rs = db.OpenRecordset(sSQL, dbOpenSnapshot)

このSet rs文のあと、エラールーチンに飛んでしまいます。
エラーコードは3061(パラメータが少なすぎます。1を指定して下さい)
です。
このエラーはどういう意味で、どうやって解決すればいいのでしょうか?

A 回答 (3件)

No.2で回答の自己レスです。


大変申し訳ありません。勘違いでした。
私が、解決したのは
・・・WHERE フィールド名 =" & 変数名 & ";"
というやり方でした。これならおわかりでしたよね。
今後はよく状況を把握して回答します。
    • good
    • 1

Accessはパラメータクエリーと認識しているようです。


私もこういう経験ありました。
compare.[stationNo]を変数に入れ、SQL文をちょっと面倒くさいですが
・・・ WHERE" & 変数名 & "=1;"
のようにしたところ解決しました。
試してみてください。
    • good
    • 0
この回答へのお礼

ありがとうございます。返事が遅れてすみません。

お礼日時:2001/05/31 09:36

正確にそうだとはいえませんが、(.[stationNo] )の部分で、stationNOはパラメータだと認識していると思います。



やりたいことがはっきりわからないので正確にいえませんが、解消方法は、パラメータに値をセットするか、compareテーブルのstationNOフィールドが1のものという意味であれば、[]をとってください。(でもそれだと、SQL文自体がおかしいような気がしますが・・・)
    • good
    • 1
この回答へのお礼

ありがとうございます。返事が遅れてすみません。

お礼日時:2001/05/31 09:37

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