我试图在一个单独的数据库上执行更新查询,到目前为止我有这个SQL:
UPDATE [;database=C:\QA_Daily_YTD_Report_Export.accdb].[YTD-Daily_Report] AS EXT_DB
SET EXT_DB.Category1 = "1"
WHERE (EXT_DB.Category1 = "status1");
当我运行它时,它返回一个"无效的操作"错误。知道我做错了什么吗?
答案 0 :(得分:1)
我建议将表[YTD-Daily_Report]链接到数据库中,因为您可以轻松地将更新查询放入代码中,而无需代码执行与其他数据库的连接。
您可以通过单击外部数据链接Access中的表。然后单击Access符号。
请确保选择第二个单选按钮,因为您不想从数据库导入数据,只需链接它即可。
导航到数据库的位置并单击它。然后确保您的数据库显示在上面的对话框中,然后单击“确定”。
然后你应该得到一个像这样的对话框来显示你不会的表格。突出显示它,然后单击“确定”。现在,您可以使用您想要的任何名称重命名链接表,这对您的工作来说将是一个绊脚石。
答案 1 :(得分:0)
尝试省略;database=
UPDATE [C:\QA_Daily_YTD_Report_Export.accdb].[YTD-Daily_Report] AS EXT_DB SET EXT_DB.Category1 = "1" WHERE (EXT_DB.Category1 = "status1");
答案 2 :(得分:0)
我最终在一个表单中使用VBA,以防有人想知道它是怎么回事:
Dim SQL As String
Dim db_external As Database
Set db_external = OpenDatabase(CurrentProject.Path & "\QA_Daily_YTD_Report_Export.accdb")
SQL = "UPDATE [YTD-Daily_Report]" & Chr(13) & _
"SET [YTD-Daily_Report].Category1 = '" & New_value & "'" & Chr(13) & _
"WHERE ([YTD-Daily_Report].Category1= '" & Look_up_value & "');"
db_external.Execute SQL