• ベストアンサー

SQL文 日付

VB6.0  ACCESS2000 Dim strToday As Date text1.text = 2002年12月1日 strToday = Format(Form1.Text1.Text, "yyyy/mm/dd") strSQL = "SELECT * From DAPT_生産指示 WHERE 予定作業開始日時 = strToday" & _ "ORDER BY 予定作業開始日時" として実行すると クエリ式の構文エラー:演算子がありません とでます。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.4

>例えばbetween A and B の場合はどうなんですか BETWEEN #A# AND #B# という風に、比較する値(日付を表す文字列変数)の前後に個々に付けます。 もちろん、文字列の"(ダブルクォーテーション)の位置には注意して下さい。 例 strA = "2003/01/01" strB = "2003/01/10" strSQL = "SELECT * FROM DAPT_生産指示 " & _     "WHERE 予定作業開始日時 BETWEEN #" & strA & "# AND #" & strB & "# " & _     "ORDER BY 予定作業開始日時"

GERRARD
質問者

お礼

毎回、毎回質問したら丁寧に答えてくださってありがとうございます。

その他の回答 (3)

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.3

こんにちは。maruru01です。 日付型だから、変数を#で括る必要があると思います。 strSQL = "SELECT * From DAPT_生産指示 WHERE 予定作業開始日時 = #" & strToday & _ "# ORDER BY 予定作業開始日時" ところで、1つの予定作業開始日時を抽出条件にしているのに、その予定作業開始日時で並べ替えをする意味があるんですか。

GERRARD
質問者

補足

例えばbetween A and B の場合はどうなんですか、いまいち#を付ける場所がわからないのですが

  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.2

strSQL = "SELECT * From DAPT_生産指示 WHERE 予定作業開始日時 ='" &_ strToday" & _ "' ORDER BY 予定作業開始日時" 上記のようにしてみたらいかがでしょうか?

GERRARD
質問者

お礼

試してみたけど、だめでした

  • nonchi
  • ベストアンサー率43% (16/37)
回答No.1

"・・・strToday"の「y」と「"」の間か、 "ORDER BY ・・・"の「"」と「O」の間に、 半角スペースを入れてもダメですか?

関連するQ&A

専門家に質問してみよう