2009-08-20 56 views
2

我有點卡住了,我不知道我做錯了什麼。 我想在VB中插入當前日期到MS Access數據庫。 遇到問題的代碼IM的部分是:在vb中插入一個日期到訪問數據庫

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

SQLString += Date.Today & ")" 

在數據庫中的類型是日期和爲dd /毫米/年。 在此先感謝您的幫助。

+0

如果你總是想要今天的日期,你可以考慮將mdb中的默認值設置爲Date,然後不需要插入。 – Fionnuala 2009-08-20 12:05:42

回答

2

如果你沒有使用什麼SQL NOW(),你可以換引號中的日期:

SQLString = "INSERT INTO (Sales) VALUES (" 

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

引號是用於字符串嗎?它需要準確的數據庫採取信息。 – 2009-08-20 10:49:31

+0

在我使用的所有Access版本中,它都會使用單引號接受日期,日期列。就像SQL Server一樣 唯一的區別是在Access VBA中你可以使用#(散列)insted單引號。 正如Tikeb所說 - 您還可以從使用cultureInfo來獲取使用數據的格式,Access將正確解釋(ISO YYYYMMDD或美國MMDDYYYY)的格式。 – danseagrave 2009-08-20 10:59:32

+0

啊生病了試了一下,我只是覺得日期不會用引號。 – 2009-08-20 11:38:44

0

爲什麼你不讓接近把手日期:

「INSERT INTO銷售VALUES(NOW())」

+0

我嘗試過,但它不喜歡格式輸入到數據庫然後。我認爲它可能會試圖在該命令中添加時間和日期。 – 2009-08-20 10:44:02

+0

如果你讓「Access」處理它,並且你想要一個數據,你可以使用Date()而不是Now(),因爲Now()返回日期和時間。但是從Access之外,這些功能都不可靠。其次,你要看它是否得到了正確的優化,即它不會爲每一行執行。在將日期值傳遞給處理數據庫引擎之前解析日期值可確保其不會被錯誤優化。 – 2009-08-20 19:14:01

0

您可以使用CultureInfo來設置日期時間的格式嗎?

+0

CultureInfo does not do dates – 2009-08-20 10:53:13

+0

我們使用CultureInfo確保日期格式爲en-GB:dd/mm/yyyy而不是美國mm/dd/yyyy。只是想,也許這可能是問題,如果不是很好.. – Tikeb 2009-08-20 11:03:17