使用Access 2010,我将几个Excel表导入Access,并构建了允许用户更新表并添加信息的表单。表单通过在VBA中动态生成SQL alter和update语句然后运行DoCmd.RunSQL
来工作。但是,我希望对表的更改反映在原始Excel表中,因此我删除了Access中的表,而是将Excel表链接到Access。
我的所有选择查询都继续工作,所以我能够以基本相同的方式访问数据,但是我无法使用DoCmd.RunSQL
在VBA中的表上执行SQL语句,这意味着我可以不像我之前那样执行SQL更新和更改语句。
我的问题是:我可以在链接的Excel表格上执行包括alter和update语句的SQL,如果是,如何执行?
答案 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。
请记住,在处理外部数据时,您需要在方法中更加奇特地访问和操作数据。