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

【やりたい事】
 XXXTBLのDATE1が今日より前のレコードを読みたい。
 SQL-ServerのDATE1属性は「datetime」です。

【やってみた事1】
Dim wk_Today As Date
wk_Today = Date
SQLText = " select *" & _
     " From XXXTBL" & _
     " Where DATE1 < " & "#" & wk_Today & "#"

【結果1】
実行時エラー 3146
ODBC呼び出しが失敗しました。


【やってみた事2】
Dim wk_Today As Date
wk_Today = Date
SQLText = " select *" & _
     " From XXXTBL" & _
     " Where DATE1 < " & wk_Today
【結果2】
 該当データなし。
 (条件に合致するレコードを作っておいたのに)


【やってみた事3】
SQLText = " select *" & _
     " From XXXTBL" & _
     " Where DateDiff('d',DATE1," & "#" & Date & "#" & ") > 0 "

【結果3】
 読めました。


【質問】
 なぜ、1と2は駄目だったのでしょうか?
 1か2の方法でできた方が素直な感じがするのですが。

 VBにもSQL-Serverにも精通しておらず、つたない
質問で申し訳ありませんが、不足する情報は補足しま
すので、ご教授お願いいたします。

A 回答 (2件)

select * From XXXTBL Where DATE1 < '2005/02/16'


なら動くのでは?
あるいは、
select * From XXXTBL Where DATE1 < '2005/02/16 00:00:00'

この回答への補足

'2005/02/16'とした場合

実行時エラー '3464'
抽出条件でデータ型が一致しません。



'2005/02/16 00:00:00'とした場合

実行時エラー '3464'
抽出条件でデータ型が一致しません。


 という結果でした。

補足日時:2004/02/16 19:47
    • good
    • 0
この回答へのお礼

 ご回答ありがとうございます。

 ご指摘の通り、時間まで入れたところ、問題なく読めました。


wk_Today = Date & " " & Time
select * From XXXTBL Where DATE1 < " & "#" & wk_Today & "#

お礼日時:2004/02/16 19:47

SQLTextの値は?

この回答への補足

【その1】
select * From XXXTBL Where DATE1 < #2005/02/16#

【その2】
select * From XXXTBL Where DATE1 < 2005/02/16

【その3】
select * From XXXTBL Where DateDiff('d',DATE1,#2005/02/16#) > 0


 という補足でいいのでしょうか?

補足日時:2004/02/16 19:09
    • good
    • 0

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