我是相當新的VBA(與本網站 - 所以道歉,如果我發佈這個錯誤),以前是一個SQL開發人員,但不幸的是我的新工作包括只訪問2010的工作。我試圖建立一個VBA宏,它將運行各種更新語句。我在訪問中構建了查詢,並試圖在vba中調用查詢。我試圖用一個訪問查詢來做到這一點,我跑到UPDATE語句中的運行時錯誤 - 語法錯誤。查詢在訪問中運行良好,但vba函數因運行時錯誤而失敗。訪問VBA - 運行時錯誤在更新宏
以下是我的VBA函數:
Public Function TestUpdate1()
Dim cmdT As ADODB.Command
Dim cnn As ADODB.Connection
Dim prmT As ADODB.Parameter
Set cnn = Application.CurrentProject.Connection
Set cmdT = New ADODB.Command
Set cmdT.ActiveConnection = cnn
cmdT.CommandText = "Update Table 1"
cmdT.CommandType = adCmdText
'Set prmT = cmdT.Parameters("Acc_Date")
'prmT.Value = #12/31/2012#
cmdT.Execute
'Set cmdT = Nothing
'
'If Err <> 0 Then
' cmdT.ActiveConnection.RollbackTrans
'Else
' cmdT.ActiveConnection.CommitTrans
'End If
End Function
當調試上線cmdt.Execute發生錯誤的功能。它正在執行
SQL查詢(更新表1)如下:
UPDATE Table_1 SET Product = IIf(Contract Like "*budget*amt*","BUDGET Annual",
IIf(Contract Like "*CLASSIC*AMT*","CLASSIC Annual",
IIf(Contract Like "*essential*AMT*","ESSENTIAL Annual",
IIf(Contract Like "*P*PLUS*AMT*","Premier Plus Annual",
IIf(Contract Like "*SELECT*AMT*","SELECT Annual",
IIf(Contract Like "*prestige*AMT*","PRESTIGE Annual",
IIf(Contract Like "*GAP*","GAP Productl",
IIf(Contract Like "*SINGLE*TRIP*","SINGLE TRIP",
IIf(Contract Like "*premier*","PREMIER Annual",
IIf(Contract Like "*standard*","STANDARD Annual",
IIf(Contract Like "*EVAC*","European VAC","???"))))))))))), End_Date = Depart_Date+Days;
任何幫助,您可以在上面會衷心感謝給予。
非常感謝
錯誤是什麼? – 2013-02-14 14:09:25