Dim sqlUpdate As String
sqlUpdate = "UPDATE [Stock Conversion] SET [Stock Conversion].Status = 'PRINTED' " & _
"WHERE ((([Stock Conversion].Status) = 'NEW'));"
' Turn off warning
DoCmd.SetWarnings False
'Run SQL
DoCmd.RunSQL (sqlUpdate)
'Turn on warning
DoCmd.SetWarnings True
基本上没有错误信息,它根本没有任何反应?
有人可以帮忙吗?
答案 0 :(得分:3)
将此语句粘贴到新的Access查询的SQL视图中并对其进行测试。
UPDATE [Stock Conversion]
SET Status = 'PRINTED'
WHERE Status = 'NEW';
如果它不起作用,希望错误消息将帮助您了解原因,以便您可以解决它。
如果它可以正常工作,请使用DAO.Database对象的.Execute
方法从VBA执行相同的语句。由于您不会使用DoCmd.RunSQL
,因此无法关闭SetWarnings
。这一点非常重要,因为当您关闭SetWarnings
时会取消信息。
Dim db As DAO.Database
Dim sqlUpdate As String
sqlUpdate = "UPDATE [Stock Conversion]" & vbCrLf & _
"SET Status = 'PRINTED'" & vbCrLf & _
"WHERE Status = 'NEW';"
Debug.Print sqlUpdate
DoCmd.SetWarnings True ' in case it had been left off somehow '
Set db = CurrentDb
db.Execute sqlUpdate, dbFailOnError
Set db = Nothing
答案 1 :(得分:0)
[Stock Conversion]
和set
where
where
,然后再次尝试检查是否存在
是你的子句