MS Access 用户可以输入数据但不能修改它

Posted

技术标签:

【中文标题】MS Access 用户可以输入数据但不能修改它【英文标题】:MS Access user able to enter data but not modify it 【发布时间】:2011-04-18 17:06:05 【问题描述】:

我正在尝试创建一个 Access 数据库,该数据库仅允许用户通过表单输入新数据,但在输入后不允许修改该记录(或其余数据)。然后数据将受到保护,所有进一步的报告和查询将由另一个具有更高权限的用户完成。

我得出的结论是,使用 Access 无法做到这一点,并且向我提出了一个简单的解决方案,即通过 Excel 中的表单输入数据,该表单会将信息输入 Access 文件.

这可能吗?如何 ?有更好的主意吗?

谢谢, 桑托斯

【问题讨论】:

不确定它是否相关,但总的来说,我倾向于使用不同的形式来创建新记录,而不是在创建后使用它来编辑它。但是,在这种情况下,您必须同时拥有所有字段,这似乎是不必要的重复。您需要考虑在保存记录后更改 AllowEdits 属性。 【参考方案1】:

您可以按照建议设置表单属性,以限制用户可以使用该表单执行的操作。 (另一种可能性是“数据输入”属性......将其设置为“是”会阻止它们在表单中显示以前的数据。)

但是,如果您的目标更广泛(“只允许用户通过表单输入新数据”),您需要阻止他们在数据表视图中打开表格、在数据表视图中打开可编辑查询等。

您可以将您的应用程序分发为 MDE 或 ACCDE 格式数据库并锁定用户界面,以便他们只能访问您通过表单和自定义菜单(或 2007 年或 2010 年的功能区)提供的那些功能。

Access 还提供 MDB 数据库格式的 ULS(用户级安全性)。较新的 ACCDB 格式不支持 ULS ...但 Access 2007 和 2010 仍然可以使用 MDB 格式的数据库。缺点是 ULS 设置起来有点繁琐,而且不是很安全。如果安全性对您的应用程序很重要,请考虑将数据存储在更安全的数据库中,例如 SQL Server。

我会选择这些选项中的任何一个,而不是创建 Excel 电子表格以将数据输入 Access 数据库。

【讨论】:

【参考方案2】:

您应该能够只允许使用基于表格的表格输入数据(尽管出于各种原因,我会使用基于表格查询的表格) - 只需将管理删除和修改的属性设置为“否” ' 和一个关于添加到 'Yes' 的内容

【讨论】:

以上是关于MS Access 用户可以输入数据但不能修改它的主要内容,如果未能解决你的问题,请参考以下文章

如何在 MS Access 中创建“只写”远程表?

无法更改 MS Access 2007 上的数据类型

MS-Access 中的未嵌套行?

MS Access HyperlinkAddress 保留上次使用的 URL

MS-Access 表单组合框不能限制粘贴的记录

MS Access 数据库设计 - 用户输入比较