mysql - Access : How to structure input vs read only forms

标签 mysql ms-access

我有一个人民数据库,经过一些开发后,由于子查询等原因,我的主表单记录集不可更新。

所有这一切都是因为我重新设计了数据库以使其更像现实生活,这意味着我添加了一些可以跟踪某些事物的表。这使得关系变得更加复杂,现在我只剩下一个数据库,我无法添加新记录或编辑哈哈哈,这毫无用处

所以我认为这不能只是我的问题,所以要么有一个我看不到的简单解决方案,要么我设计的表单完全错误。

当您拥有/获得一个基于记录集的表单,而该记录集在“常规”人民数据库中不可更新并且您想要在其中添加或编辑详细信息时,设计/结构的实践是什么?(认为人力资源管理数据库)

relationships

(记录集不可更新的原因:记录集基于从 3 个相关表获取记录的查询,并对日期字段执行 MAX 函数以获取其中两个表的最新记录)

现在我有一个主窗体和三个子窗体。当然,我可以在子表单中编辑/添加信息,但显示姓名和其他个人详细信息的主表单不可更新...

mainForms 查询正在查询 tblPerson、tblInmate、tblClassificationHistory 和 tblSquadHistory...

最佳答案

对于您的情况,我建议两种可能性:

  1. 构建一个额外的表单,用于为唯一记录源为 tblPerson 的人员输入和编辑数据。例如,您可以通过按钮或功能区在主表单中打开此输入/编辑表单。您可以构建一种用于输入和编辑数据的表单,并通过 VBA 代码(甚至宏?)更改行为。或者您可以构建两个表单分别用于编辑和输入数据。您还可以添加“确定”和“取消”按钮来安全或撤消更改。可能性是无止境。这是基础 ACCESS 知识,并且有大量教程,因此我不会进一步解释。
  2. 更改主表单上的查询。如果您有连续表单并且不想添加新表单,则应编辑查询。我无法使用给定信息估计您所描述的查询复杂性,但必须有一种方法可以获取“MAX-date”记录集而不需要聚合(“Group By”-Statement)查询结果。您的目标是更改主表单查询,它没有任何“分组依据”部分。请注意,您可以使用子查询进行“分组依据”以查找“最大值”。如果您确实需要主表单的所有查询字段,您还应该检查主表单查询。让你的三个子表单来做数据查询工作。

基本上,ACCESS 中表单形式的完美用户界面 (UI) 取决于用户的偏好、期望和用例本身。因此,您必须找出最适合您的应用的设计。如果您想从最近的经验中获取知识,您可以对 UI 设计模式进行一些研究。这是一个巨大的专业领域!

关于mysql - Access : How to structure input vs read only forms,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32690144/

相关文章:

MySQL 将两列的差值计算成一个 Total 列

100 个用户的 JAVA MYSQL 聊天性能问题

mysql - 尝试通过 API 上传图像并将其存储在 MySQL 数据库中

ms-access - 在 VBA 中工作,我无法将字符串分配给初始化的字符串变量(编译错误 : expected end of statement)

database - 版本控制 Access 2007 数据库和应用程序

ms-access - 在 MS Access 中创建 "Winform"

mysql - 多重嵌套查询中的用户变量

sql - mysql - 按一天中的小时搜索时间戳

mysql - 连接两个表,一个具有相同的唯一行,另一个具有多个对应行

excel - 如何在 Access VBA 中检查 Excel 时间值?