2010-06-28 110 views
0

我不斷收到一個不匹配的錯誤這條線:VB不匹配錯誤

UPDATE tblLunchTime SET [End] = '06/28/2010 9:41:34 AM' WHERE Start = '06/28/2010 9:41:31 AM' 

有誰知道爲什麼嗎?

編輯:添加其他代碼。

'Save end time in database. 
Dim strValuesQuery As String 

strValuesQuery = _ 
    "UPDATE tblLunchTime " & _ 
    "SET [End] = '" & Now & "' " & _ 
    "WHERE Start = '" & StartTime & "' " 

'Execute Query. 
DoCmd.RunSQL strValuesQuery 
+0

您可以發佈用於執行該語句的代碼.... – 2010-06-28 13:48:58

+0

已添加代碼。 – BioXhazard 2010-06-28 13:54:20

回答

1

我最終以允許它在需要的方式進行格式化添加英鎊符號到我的變量:

strValuesQuery = _ 
    "UPDATE tblLunchTime " & _ 
    "SET EndTime = #" & Now & "# " & _ 
    "WHERE StartTime = #" & StartTime & "#" 
+0

#是Jet/ACE SQL中日期的分隔符。 – 2010-07-01 01:54:34

0

你執行這個查詢到SQLSERVER,甲骨文?

在客戶端和服務器端是相同的語言嗎?

使用日期字符串和字符串日期需要特定的格式轉換。

對於Oracle:結束時間= TO_DATE( '2010/01/05', 'YYYY/MM/DD')

這避免了語言失配。

我總是使用參數。

「UPDATE tblLunchTime SET EndTime =?WHERE StartTime =?」 - 對於OleDb

參數避免一些錯誤,並且還提高性能(服務器緩存遊標)。

+0

你有沒有讀標籤? – 2010-07-08 02:52:25