我是相当新的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