在Access中的链接Excel表上执行SQL更新

时间:2016-01-21 18:54:26

标签: excel vba ms-access access-vba ms-access-2010

使用Access 2010,我将几个Excel表导入Access,并构建了允许用户更新表并添加信息的表单。表单通过在VBA中动态生成SQL alter和update语句然后运行DoCmd.RunSQL来工作。但是,我希望对表的更改反映在原始Excel表中,因此我删除了Access中的表,而是将Excel表链接到Access。

我的所有选择查询都继续工作,所以我能够以基本相同的方式访问数据,但是我无法使用DoCmd.RunSQL在VBA中的表上执行SQL语句,这意味着我可以不像我之前那样执行SQL更新和更改语句。

我的问题是:我可以在链接的Excel表格上执行包括alter和update语句的SQL,如果是,如何执行?

2 个答案:

答案 0 :(得分:3)

  

我可以在链接上执行SQL,包括alter和update语句   Excel表格?

不,链接的工作表从Access的角度来看是只读的。这不仅仅是Access SQL的限制。如果直接在数据表视图中打开其中一个链接,则无法更改存储值,删除行或添加新行。

Microsoft explains ...

  

由于法律问题,Microsoft已禁用该功能   Access 2003和Access 2002中允许用户更改数据   链接表,指向Excel工作簿中的范围。

使用Access 2002和2003删除了该编辑功能,但未将其添加回后续版本。

有关详细信息,请参阅链接页面,包括建议的解决方法。

答案 1 :(得分:0)

你有一个简单的选择。如果链接Excel文件,则可以使用链接的Excel表创建生成表查询。创建新表后,您现在可以根据自己的喜好操作Access数据。然后,您可以根据需要将新的,更新的或更改的数据导回Excel。

请记住,在处理外部数据时,您需要在方法中更加奇特地访问和操作数据。