0

Im trying to perform an update query on a table that its on a separate database, so far i have this 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");

When i run this it returns an "invalid operation" error. Any idea what im doing wrong?

4

3 回答 3

1

我建议将表 [YTD-Daily_Report] 链接到您的数据库,因为您可以轻松地将更新查询放入您的代码中,而无需让您的代码执行与其他数据库的连接。

您可以通过单击外部数据链接 Access 中的表。然后单击访问符号。在此处输入图像描述

然后你应该得到一个这样的对话框: 在此处输入图像描述

确保选择第二个单选按钮,因为您不想从数据库中导入数据,只需链接它即可。

导航到数据库的位置并单击它。然后确保您的数据库显示在上面的对话框中,然后单击确定。 在此处输入图像描述

然后你应该得到一个像这样的对话框,它会显示你不会显示的表格。突出显示它并单击确定。现在,您可以使用任何您想要的名称重命名链接表,这对您的工作来说将不再是一个绊脚石。

于 2016-04-26T19:49:45.473 回答
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");
于 2014-09-03T04:26:07.860 回答
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
于 2014-09-05T17:13:59.660 回答