Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.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
Excel 有没有一种方法可以使用ADO打开到共享Access数据库的共享只读连接?_Excel_Ms Access_Vba_Ado - Fatal编程技术网

Excel 有没有一种方法可以使用ADO打开到共享Access数据库的共享只读连接?

Excel 有没有一种方法可以使用ADO打开到共享Access数据库的共享只读连接?,excel,ms-access,vba,ado,Excel,Ms Access,Vba,Ado,我开发了一个系统,其中一组用户(现在大约50人)注册数据并连续查看注册数据。系统将数据存储在Access数据库中,我目前为所有用户使用连接模式admodesharedynone,以便数据库永远不会锁定对数据库的访问 但是,有人要求我开发一个简单的Excel工作表,作为一个界面,用户可以在其中编写sql select语句,然后根据该语句(通过VBA)将数据检索到工作表中。这非常简单,我创建了这样的系统,但是我希望它能够防止执行操纵性语句(insert、update、delete),即充当只读系统

我开发了一个系统,其中一组用户(现在大约50人)注册数据并连续查看注册数据。系统将数据存储在Access数据库中,我目前为所有用户使用连接模式admodesharedynone,以便数据库永远不会锁定对数据库的访问

但是,有人要求我开发一个简单的Excel工作表,作为一个界面,用户可以在其中编写sql select语句,然后根据该语句(通过VBA)将数据检索到工作表中。这非常简单,我创建了这样的系统,但是我希望它能够防止执行操纵性语句(insert、update、delete),即充当只读系统


然而,我似乎找不到一种方法来做到这一点,而不为其他用户锁定数据库,这是不可能的,因为数据库经常被多个用户使用。有没有办法做我想做的事?我想到了其他连接模式,但它们(除了AdModeSharedInOne)似乎都应用了某种锁定。

关于
adModeRead
呢?表示只读权限而没有共享。

那么
adModeRead
呢?表示只读权限而非共享。

要澄清,用户是否键入自己的SQL语句?如果是这样的话,您是否可以在允许执行字符串之前通过VBA验证/限制该字符串?澄清一下,用户键入自己的SQL语句?如果是这样,在允许执行字符串之前,您能否通过VBA验证/限制字符串?+1绝对,只读连接是答案,这也应该避免任何锁定问题+1绝对,只读连接是答案,这也应该避免任何锁定问题