我正在使用Access 2007项目作为前端将多个Access数据库移动到SQL 2008 R2服务器中,当用户试图从表单中筛选数据时,我们遇到了问题。
示例:
我有一个项目文件设置,这样用户就可以搜索客户数据,我使用的登录服务器只有"CONNECT"one_answers"SELECT"权限,所以他们不能更改任何数据。该项目中唯一的窗体将其记录源直接设置到表中,没有视图或查询。如果用户选择"客户编号",然后按下"过滤器"按钮,选择"文本过滤器"并输入客户编号,则会出现"输入有效值"错误(如果用户选择表单上的字段并右键单击并尝试设置过滤器,也会发生同样的情况)。如果用户使用"高级/按表单筛选",则没有问题。
表单或代码中没有设置其他过滤器,没有输入验证,只有一个计划表单
有人知道从哪里开始调试这个吗?
谢谢。
首先,您需要确认这是MSSQL权限问题。若要检查此项,请对没有任何权限限制的MSSQL用户进行同样的操作。然后,您可以使用MSSQL探查器查看Access发送的实际MSSQL语句。我相信这不是简单的"SELECT",而是一些系统存储过程调用(Access就是这样使用MSSQL的)。查看此跟踪并尝试了解应该添加的权限。如果您的Access应用程序在表级别工作,那么拒绝更新/删除可能会更容易,而不是只授予选择权限-不确定这是否有帮助,但这只是您可以尝试的一个想法。