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

お世話になります。
書籍のデータベース(SQL7.0)にASPを絡めて
検索のためのページを作っています。

書籍の発行日を
期間を区切って(Between...And...)検索したいのですが
行き詰まっています。
詳細は以下のとおりです。
データベースへの接続はできた状態になっています。

テーブル名:T_書籍
フィールド名:発行日
ASPでのテキストボックス名:RDate1,RDate2

strSQL="SELECT [発行日] FROM [T_書籍] WHERE [発行日] BETWEEN ..."

この後が分かりません。
おそらく#が必要かと思いますが
どうやったらいいのか・・・。

ぜひともお願いいたします。

A 回答 (2件)

#1の者です。



すみません。
間違ってました
「&」が抜けてました。

strSQL = strSQL & Month(RDate1) & "/" & Day(RDate1) & "/" & Year(RDate1)

としてください。

ところで、RDate1,RDate2はテキストボックスなんですね。
変数と勘違いしてました。
ASPでは、当該ページのテキストボックスを直接参照できず、サブミットしたリンク元WebページからRequest.Form("RDate1")という形でテキストボックスの値を受け取ることになりますがこの辺はご了解下さい。

上記例では
RDate1 = Request.Form("RDate1")
といった形で、サブミットしたページのテキストボックスの値をいったん変数に入れていることを仮定してます。
    • good
    • 0
この回答へのお礼

mfukuさん。
重ねてのご回答ありがとうございます。

おかげさまで滞りなく検索することができました。

そういえば変数について書いてませんでしたね。
わざわざご指摘いただきすいませんでした。

お礼日時:2002/10/04 14:24

SQL7.0とは、SQL-Server 7.0ですよね?



基本的に、日付検索をする場合は
'MM/DD/YYYY'
の形で指定してください。

従って、
strSQL = "SELECT [発行日] FROM [T_書籍] WHERE [発行日] BETWEEN '"
strSQL = strSQL & Month(RDate1) & "/" & Day(RDate1) & "/" Year(RDate1)
strSQL = strSQL & "' AND '"
strSQL = strSQL & Month(RDate2) & "/" & Day(RDate2) & "/" Year(RDate2) & "'"

で良いかと思います。
#は必要ありません。

この回答への補足

mfukuさん
素早い回答ありがとうございます。
SQL7.0というのは、仰るとおりSQL-Server7.0のことです。

早速試してみたのですが
以下のようにエラーになってしまいました。
(3行目は加工してあります)

Microsoft VBScript コンパイル エラー エラー '800a0401'
ステートメントの末尾が不正です。
/xxxx/xxxx.asp, 行 x
strSQL = strSQL & Month(RDate1) & "/" & Day(RDate1) & "/" Year(RDate1)
-------------------------------------------------------^

ちなみにデータベース上の「発行日」のデータ型は
smalldatetime ですが
datetime型にしても結果は同じでした。

補足日時:2002/10/04 09:37
    • good
    • 0

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