プロが教える店舗&オフィスのセキュリティ対策術

お世話になります。コンピュータ歴が短いもので質問の意味がよくわからないかもしれませんがよろしくおねがいします。
accessのDB「テーブル1」に日付時刻型のフィールド「フィールド1」があり、
2001/00/00 00:00:00の形式でデータが入っています。
テーブル1のデータで、1ヶ月前のデータより新しいもののみをVBScriptで抜き出したいのですが、下記のようにDATEADD関数で変数1に1ヶ月前の日付を代入し、それと比較しようとしましたが、うまくいきませんでした。

変数1 = DATEADD("m" ,-1 ,NOW)
Set rs = Server.CreateObject("ADODB.RecordSet")
sql = "SELECT * FROM テーブル1 WHERE フィールド1 >= 変数1"

変数1をResponse.Writeすると見た目は同じ形式で入っていました。
変数1の部分を手書きで#2001/00/00 00:00:00#と書けばうまく動いてくれるの
ですが・・・
変数の値を型変換しなければいけないのでしょうか?
良い方法がありましたら教えてください。

A 回答 (1件)

変数1をCdate関数で変換してみては?


sql = "SELECT * FROM テーブル1 WHERE フィールド1 >= " & Cdate(変数1)
もしくは

sql = "SELECT * FROM テーブル1 WHERE フィールド1 >= #" & 変数1 & "#"

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

とても早く解答いただきありがとうございます。
2番目の#"&で囲むやりかたであっさり動きました。
変数1を#ではさむのはすでに試していたのですが、
&演算子がぬけていたことに気づきました・・
基本的なことがわかってなくてすみませんでした。

お礼日時:2001/11/15 11:29

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