1

我正在使用一个按钮制作一个相当简单的表单,该按钮打开一个表格供用户阅读(但不是编辑)。这是命令:

DoCmd.OpenTable "Tbl_SendLog", acViewNormal, acReadOnly
  1. 好的部分:正如预期的那样,用户不能添加或更改记录
  2. 不好的部分:用户仍然可以添加整个列。更好的是,Access 在关闭表格时甚至没有“是否要保存更改”提示。它只是保存它。

我原以为 acReadOnly 会处理这个问题。显然不是。所以我的问题是:我如何修改它以使用户无法添加列?

(如果需要,我会为表格制作表格或报告,但如果有更简单的选项,我会改为使用它)

4

1 回答 1

0

最简单的方法(=工作最少的方法)是使用查询,正如 Remou 在评论中所建议的那样。

只需进行查询select * from Tbl_SendLog并像这样打开它:

DoCmd.OpenQuery "YourQuery", acViewNormal, acReadOnly

优点:右键查询时,上下文菜单中没有“添加列”(就像直接打开表格时一样),因此用户无法添加列
反对:用户仍然可以切换到设计视图查询并弄乱查询,所以也许在那之后它就不再起作用了。

如果您可以忍受(=如果您的用户不太可能更改查询),您可以这样做。

如果您不能忍受,那么构建一个表格或表格(正如您在问题中已经建议的那样)可能是最好的解决方案。

于 2012-06-29T17:25:50.927 回答