2010-05-24 5 views
2

데이터베이스 필드를 현재 시간으로 업데이트하려하지만 "now()"를 전달할 수 없습니다. 나는 다음과 같은 오류가 발생합니다 :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

now() 대신 getdate()를 사용해보십시오. Now()는 mysql 함수이고 getdate()는 TSQL (ms SQL 서버)에서 작동합니다. –

답변

5

Now()는 VBA 기능입니다. 당신이하고 싶은 것은 동등한 SQL 함수를 사용하는 것입니다. 그러나 연결하려는 데이터베이스에 달려 있습니다.

연결할 SQL Server 인 경우 GETDATE() (현지 시간) 또는 GETUTCDATE() (UTC 시간)을 사용하십시오.

+1

정말 고마워요, 그 기능을 시도하고 매력처럼 작동했습니다. 저는 MySQL 백그라운드에서오고 있습니다. 그리고 now()는 유용한 함수였습니다. 이것은 나의 혼란이 어디에서 왔는지입니다. 시간 제한이 끝나자 마자 귀하의 답변을 "수락"할 것입니다. 해피 코딩 :) – sooprise

2

getdate() 함수 또는 CURRENT_TIMESTAMP를 시도하십시오.

+0

좋은 소식입니다. 'CURRENT_TIMESTAMP'는 SQL 표준이며, SQL Server는 괄호없이이를 이해합니다. – eksortso