2009-08-20 22 views
2

私はちょっと立ち往生していますが、何が間違っているのか分かりません。 VBでMS Accessデータベースに現在の日付を挿入したいとします。 に問題がコードIMの一部である:vbのアクセスデータベースに日付を挿入する

SQLString = "INSERT INTO Sales(DateSold) VALUES (" 

SQLString += Date.Today & ")" 

データベース内の型が日付であり、DD/MM /年です。 ご協力いただきありがとうございます。

+0

今日の日付が常に必要な場合は、mdbのデフォルト値をDateに設定して、それを挿入する必要はありません。 – Fionnuala

答えて

2

"を販売VALUES INTO(NOW())INSERT"()あなたがラップすることができ引用符で囲まれた日付:

SQLString = "INSERT INTO (Sales) VALUES (" 

SQLString += "'" & Date.Today & "')" 
+0

引用符は文字列のものですが? dbが情報を取得するためには正確である必要があります。 –

+0

私が使用したAccessのすべてのバージョンでは、一重引用符を使用して日付の日付列を受け入れます。 SQL Serverと同じように 唯一の違いは、#(ハッシュ)の一重引用符を使用できるAccess VBAにあります。 Tikeb氏によると、cultureInfoを使用して、Accessが正しく解釈する形式(ISO YYYYMMDDまたはAmerican MMDDYYYのいずれか)でデータを使用することもできます。 – danseagrave

+0

ああ、それは試してみると、私はちょうど日付引用符を使用しないと思った。 –

0

なぜあなたはアクセス日付を扱うことはできません。

あなたがNOW SQLを使用しなかった場合はどうすれば

+0

私はそれを試みましたが、それはその後、dbに入力された形式のようなものではありません。私はそれがそのコマンドで時間と日付を追加しようとしているかもしれないと思う。 –

+0

Now()は日付と時刻の両方を返しますので、「アクセス」で処理してデータを必要とする場合は、Now()ではなくDate()を使用します。しかし、Access自体の外部からは、これらの関数のどちらも確実に動作しません。第2に、適切に最適化されている、つまりすべての行で実行されないことに依存しています。処理中のデータベースエンジンに渡す前に日付の値を解決すると、誤って最適化されないことが保証されます。 –

0

あなたの日付時刻のフォーマットを設定したCultureInfoを使用することができますか?

+0

CultureInfoは日付を入力しません –

+0

CultureInfoを使用して、日付がen-GB:dd/mm/yyyy(US mm/dd/yyyy)の形式になっていることを確認します。まあまあではないにしても、それが問題になるかもしれないと思っていただけです。 – Tikeb

関連する問題