VBAで開発しています。
Where句で、日付/時刻型のA_dateに対して
WHERE A_date > 2008/05/01
といったような条件を付けたいのですが、
どうしてもうまくいきません。
WHERE A_date > Format(2008/05/01, "YYYY/MM/DD")
のようにフォーマットしてみてもだめでした。
WHERE A_date > date()
のような記述はちゃんと通るんですが、固有の日付とのSQLがうまくいきません。
日付/時刻型の条件付けは何か特別な記述が必要なのでしょうか?
どなたかご回答よろしくお願い致します。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
説明不足ですみません。
convert関数は、SQL-Server側の関数です。
VBA側ではなく、SQL-Serverへ渡しているクエリ内に含めて大丈夫です。
2008/05/01 がWK_HIZUKEという変数に格納されているとすると、
SQL_STRING = "~ WHERE A_date > convert(datetime,'" & WK_HIZUKE & "' ~"
恐らくこんな感じかな?
変数でなければ、
SQL_STRING = "~ WHERE A_date > convert(datetime,'2008/05/01' ~"
こんな感じ?
再度アドバイスありがとうございます!
せっかくなのですが、Accessのクエリで試してもconvertは未定義だと出てしまいまして…
使っているのはSQL-Serverのはずなのですが、Access経由だとだめなのでしょうか?
あと、色々と試してみたところ、テーブルの方の日付をスラッシュを抜いた日付にフォーマットするとうまくいきそうでした。
なんとか解決できそうです。
せっかくアドバイス頂いたのにすみません。
VBAじゃない開発環境の時にぜひ試させていただきます。
No.2
- 回答日時:
比較する場合には、左右のタイプを合わせた方が好ましいと思います。
A_date のタイプが日付/時刻型ですので、
convert(datetime,'2008/05/01')
こんな感じではどうでしょうか?
この回答への補足
アドバイスありがとうございます。
早速試してみましたが、convertが未定義関数だとエラーが出てしまいまして…
VBAではconvert関数は使えないのでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Oracle sqlのwhere句で下記の条件にしたい場合どうなるでしょうか。 システム日付が開始日以上、終了日以 2 2022/03/25 21:22
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- Visual Basic(VBA) VBAで日付入力しているのですが 4 2023/03/02 11:25
- Visual Basic(VBA) データベースから絞り込んでデータを読み込み 1 2023/02/21 19:51
- Access(アクセス) アクセス 有効なフィールド名、または式として認識できませんのエラー 3 2022/08/19 11:53
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2023/05/23 16:28
- Access(アクセス) ExcelのVBAコードについて教えてください。 4 2023/01/20 09:44
- JavaScript gasについて 1 2022/05/31 21:51
- MySQL SQLについて教えて下さい。 SELECT分で、あるカラムにある日付の 半年先のデータを取って来たい 3 2022/12/07 22:28
- Excel(エクセル) エクセルの数式で教えてください。 2 2022/12/23 14:57
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
select文で int を yyyy-mm-dd...
-
sinカーブの表示のさせ方
-
for whichの使い方
-
英語ができる方、問題をお願い...
-
1、Rstudioで回帰直線を求める...
-
過剰なオブジェクト指向脳から...
-
ギターのコードが分からない
-
マイクラPC版のコマンドで効率...
-
数値フィールドのワイルドカー...
-
変数名「cur」について
-
差し込み後、元データを変更し...
-
広告ブロッカーのアドカードと...
-
chatgptでつくってもらったコー...
-
エクセルで個人用マクロの配布方法
-
PreviewKeyDownイベントが2回...
-
複数列の最大値を求めたい
-
pythonにてseleniumを使うも、...
-
【VB】タスクマネージャでEXECE...
-
伝票番号、品番、在庫としてマ...
-
コンピュータ
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAのAccessでDATE型のINSERT
-
クロス集計で、列を動的に
-
SQLサーバでの和暦(int)→西暦へ...
-
nvarcharとdatetimeで作成され...
-
MS-SQL datetime型から日付だけ...
-
select文で int を yyyy-mm-dd...
-
ACCESS 日付の比較
-
SQL文に時刻が含まれる場合
-
差し込み後、元データを変更し...
-
フィルターかけた後、重複を除...
-
エクセルで最後の文字だけ置き...
-
SELECT 文 GROUP での1件目を...
-
SQLで特定の項目の重複のみを排...
-
for whichの使い方
-
外部参照してるキーを主キーに...
-
SQLServerで文字列の末尾からあ...
-
重複していないレコードの抽出...
-
INSERT文でフィールドの1つだ...
-
SQL Date型の列から年月だけを...
-
SQL Left Join で重複を排除す...
おすすめ情報