2010-05-24 54 views
2

我試圖將數據庫字段更新爲當前時間,但無法通過「now()」。我得到以下錯誤:現在()在ODBC SQL查詢?

'`now`' is not a recognized built-in function name. 

我使用查詢數據庫的方法如下:

Public Sub main() 

    Dim cnn As ADODB.Connection 
    Dim rst As ADODB.Recordset 

    Set cnn = New ADODB.Connection 
    Set rst = New ADODB.Recordset 

    cnn.Open "ConnectionName" 
    rst.ActiveConnection = cnn 
    rst.CursorLocation = adUseServer 

    rst.Source = "Update Table ..." 
    rst.Open 

    Set rst = Nothing 
    Set cnn = Nothing 
End Sub 
+2

嘗試getdate()而不是now()。 Now()是一個mysql函數,getdate()在TSQL(ms sql server)中工作。 – 2010-05-24 21:00:01

回答

5

Now()是VBA函數。你想要做的是使用等效的SQL函數,但這取決於你要連接的數據庫。

如果是連接到的SQL Server,請使用GETDATE()(當地時間)或GETUTCDATE()(UTC時間)。

+1

非常感謝,我嘗試了這個功能,它的功能就像一個魅力。 我來自MySQL的背景,現在()是一個可用的功能。這是我的困惑來自的地方。在時限到期後,我會盡快「接受」你的答案。 快樂編碼:) – sooprise 2010-05-24 21:03:25

2

嘗試使用getdate()函數或CURRENT_TIMESTAMP

+0

這也是一個很好的。 'CURRENT_TIMESTAMP'是SQL標準,SQL Server可以理解它沒有括號。 – eksortso 2010-05-24 21:39:22