Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 如何阻止对链接表的编辑更改MS Access 2013的实际表数据?_Vba_Ms Access_Linked Tables - Fatal编程技术网

Vba 如何阻止对链接表的编辑更改MS Access 2013的实际表数据?

Vba 如何阻止对链接表的编辑更改MS Access 2013的实际表数据?,vba,ms-access,linked-tables,Vba,Ms Access,Linked Tables,我不确定对于这样的问题,什么样的论坛才是正确的,所以如果换一个论坛会更好,你能把它移到那里吗 我已将数据库分为前端数据库和后端数据库。前端使用链接到后端实际表的链接表。如果用户更改了前端数据库表中的某些内容,则这些更改将转移到后端数据库 这是为什么?我如何防止这种情况发生?是否有方法更改设置以使数据库为只读?无论是否通过VBA,我都会接受任何一个答案。这是一个功能,而不是一个bug。您使用的是链接表,它是链接的 如果您想要一个单独的表,请创建一个单独的表,并创建一些ETL(提取/转换/加载)流程

我不确定对于这样的问题,什么样的论坛才是正确的,所以如果换一个论坛会更好,你能把它移到那里吗

我已将数据库分为前端数据库和后端数据库。前端使用链接到后端实际表的链接表。如果用户更改了前端数据库表中的某些内容,则这些更改将转移到后端数据库


这是为什么?我如何防止这种情况发生?是否有方法更改设置以使数据库为只读?无论是否通过VBA,我都会接受任何一个答案。

这是一个功能,而不是一个bug。您使用的是链接表,它是链接的

如果您想要一个单独的表,请创建一个单独的表,并创建一些ETL(提取/转换/加载)流程,以根据需要保持两个表同步,从而与您需要实现的任何业务规则保持一致


如果您的Access DB是通过SQL身份验证连接到SQL Server的,则您可以让SQL Server端的SQL用户仅授权
选择
,并拒绝
更新
删除
插入
权限。当链接表被修改时,访问端可能会出现错误。

这是一项功能,而不是bug。您使用的是链接表,它是链接的

如果您想要一个单独的表,请创建一个单独的表,并创建一些ETL(提取/转换/加载)流程,以根据需要保持两个表同步,从而与您需要实现的任何业务规则保持一致


如果您的Access DB是通过SQL身份验证连接到SQL Server的,则您可以让SQL Server端的SQL用户仅授权
选择
,并拒绝
更新
删除
插入
权限。修改链接表时,访问端可能会出现错误。

如果使用acFormReadOnly开关打开表单,情况如何?用户是直接编辑表,还是通过表单访问数据。如果您使用的是表单,则可以创建一个未链接的表单,并在用户单击
Save
时处理将数据推回的操作,或者在用户单击
Cancel
时处理将数据推回的操作。如果用户直接编辑表格,请参阅的答案。如果使用acFormReadOnly开关打开表格如何?用户是直接编辑表格还是通过表格访问数据。如果您使用的是表单,则可以创建一个未链接的表单,并在用户单击
Save
时处理将数据推回的操作,或者在用户单击
Cancel
时处理将数据推回的操作。如果他们直接编辑表格,请参阅的答案。