我正在寻找设置VBA,如果当前不存在新记录(相同的ID#),则可以将新记录添加到表中,然后更新现有记录的所有列(相同的ID#)。我能够设置insert语句,但是出现更新错误。
下面的代码指出我有一个
查询表达式'[update]中的语法错误(缺少运算符)。[date]来自[update]。
您可能提供的任何帮助都会很有帮助。
Function Update()
Dim dbs As Database
Set dbs = CurrentDb
dbs.Execute "Update historic_archive Set historic_archive.DATE = [update].[DATE] FROM [update], historic_archive WHERE [update].[id] = historic_archive.id;"
End Function
答案 0 :(得分:2)
您可能想将“位置”更改为“开”
Function Update()
Dim dbs As Database
Set dbs = CurrentDb
dbs.Execute "UPDATE historic_archive " _
& "SET historic_archive.DATE = [update].[DATE] " _
& "FROM [update] " _
& "JOIN historic_archive ON [update].[id] = historic_archive.id;"
End Function
答案 1 :(得分:2)
两件事。 1.请阅读有关SQL更新命令的更多信息。 2.切勿使用类似于日期,更新之类的名称。了解有关命名约定的更多信息。
'Below update command will update historic date with update table.date where both id's are same.
Function Update()
Dim dbs As Database
Set dbs = CurrentDb
dbs.Execute "UPDATE historic_archive inner join [UPDATE] ON [update].[id] = historic_archive.id " & _
"SET historic_archive.[DATE] = [update].[DATE];"
End Function