0

我正在将多个 Access 数据库移动到使用 Access 2007 项目作为前端的 SQL 2008 R2 服务器中,当用户尝试从表单中过滤数据时,我们遇到了问题。

例子:

我有一个项目文件设置,以便用户可以搜索客户数据,并且我正在使用只有“CONNECT”和“SELECT”权限的服务器登录,因此他们无法更改任何数据。该项目中唯一的表单将其记录源直接设置到表中,没有视图或查询。如果用户选择“客户#”,然后按“过滤器”按钮,选择“文本过滤器”并输入客户编号,他们会收到“输入有效值”错误(如果他们选择表单上的字段,也会发生同样的情况并右键单击并尝试设置过滤器)。如果用户使用“高级/按表单过滤”没有问题。

在表单或代码中没有设置其他过滤器,没有输入验证,只是一个计划表单。

任何人都知道从哪里开始调试这个?

谢谢。

4

1 回答 1

0

首先需要确认是MSSQL权限问题。要检查这一点 - 对没有任何权限限制的 MSSQL 用户尝试相同的操作。然后,您可以使用 MSSQL 分析器查看 Access 发送的实际 MSSQL 语句。我相信这不是简单的“SELECT”,而是一些系统存储过程调用(这就是 Access 与 MSSQL 的工作方式)。查看此跟踪并尝试了解应添加的权限。如果您的 Access 应用程序在表级别上工作,那么拒绝更新/删除而不是仅授予选择可能会更容易 - 不确定它是否会有所帮助,但这只是您可以尝试的一个想法。

于 2012-01-13T08:20:26.873 回答