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

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

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

我的问题是:我可以在链接的Excel表上执行包括alter和update语句的SQL吗?如果是这样,怎么办?

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

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

微软解释说 …

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

该编辑function已在Access 2002和2003中删除,而不是添加回到后续的Access版本。

查看链接页面以获取更多详细信息,包括他们的build议解决方法。

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

请记住,在使用外部数据时,您需要在方法中获得更多的异类,以访问和操作数据。