您可以将 db 文件存储在其他用户具有只读权限的共享文件夹中。然后他们应该仍然能够查看,但不能更改链接表中的数据。
如果该建议不令人满意,您可以使用查询将其限制为只读访问。在您提供给用户的数据库中,不要在其他数据库中包含指向源表的链接。而是以FROM TableName IN '[path to db file]' 的形式向他们提供一个查询,以查找没有链接的源表...
这是一个经过测试的示例:
SELECT
u.UserID,
u.FName,
u.LName,
u.AccessLevelID
FROM tblUser AS u IN 'C:\share\Access\loginexample.mdb';
但是,该查询结果仍然可以编辑。您可以使用字段表达式代替实际字段值将列值设为只读。
SELECT
u.UserID + 0 AS UserID,
u.FName + '' AS FName,
u.LName + '' AS LName,
u.AccessLevelID + 0 AS AccessLevelID
FROM tblUser AS u IN 'C:\share\Access\loginexample.mdb';
这些是使值只读的简单转换。但是您可以酌情使用其他技术。例如,如果表格包含日期/时间字段,您可以使用CStr() 或Format()。
CStr(date_field) AS date_field_as_text
Format(date_field, 'yyyy-mm-dd hh:nn:ss ampm') AS date_field_as_text
注意,我使用了一个别名,该别名与这些函数的字段名称不同。在某些情况下,当您尝试将字段名称重新用作别名时,Access 会抱怨 “递归别名”。但只需在查询设计器中测试您的别名选择,即可快速找出可接受的别名。