首页 > 解决方案 > 具有大量手动数据输入的 MS Access 数据库

问题描述

我正在 Access 中构建一个数据库,用于记录变电站负载。有 50 个变电站,每个变电站有 4 到 10 个馈线,数据是流经这些馈线的电流,所有数据都将手动输入。

我应该如何处理这个数据库的用户界面?我应该创建 50 个表单还是有更好的方法来做到这一点?

我应该补充一点,我还想让它尽可能动态(用户可以添加新的变电站),因此我在制作 50 个单独的表格时犹豫不决。

这就是我的想法:一个表单,您可以在其中循环浏览变电站表中的每个变电站,然后在表单中填充特定于该变电站的馈线的文本框(使用关系)。

鉴于我对软件的了解有限,这样做需要一个宏来创建文本框并自动执行边界、命名、定位等,而我没有运气在网上找到类似的东西。

像这样的图像。

标签: vbams-accessms-access-2013data-entry

解决方案


我不确定你的问题的程度。另外,我不知道您对 Access 有多熟悉。基于没有对这两个问题中的任何一个问题的答案,有 2 个一般的事情需要考虑。

  1. 数据库本身——数据的存储
  2. 用户界面。

为了让你滚动,我将讨论数据库部分。我通常会首先为 50 个变电站创建一个表。使用我将设置为 AutoIncrement 的主键创建它。创建第二个表,列出所有 50 个变电站的所有馈线。根据您列出的信息,这意味着该表将有 200 到 500 条记录。该表还应该有一个主键(也可以自动递增),但它还将包括一个来自变电站表的主键字段,然后它将正确地将馈线与适当的变电站相关联。该馈线表将是所谓的子表,因为它依赖于变电站表。如果馈线不是专用于特定的变电站,则更复杂的是。在这种情况下,您将需要第三个表,这是一个多对多表。它将需要自己的主键,并将包括来自变电站和馈线表的主键。这允许任何一个馈线与尽可能多的变电站相关联。

我会为用户界面提供一些指导,但没有足够的信息来做到这一点。

我看到你已经添加了一些信息。我假设馈线专用于单个变电站,单个变电站可能有多个馈线。但没有馈线服务超过 1 个变电站。

在这种假设下,原始数据库概念适用 - 父表(变电站)和子表(馈线)。

很高兴您提供了插图,因为它定义了需要输入的数据。但是建议的制作用户界面的方法需要太多的工作,并且会减慢用户界面的速度。如果您按照上述方式设计数据库,则在馈线表中有一个用于变电站 ID 字段的字段。然后创建一个绑定到 substations 表的主窗体,并使用下拉菜单选择一个变电站。在这个表单中添加所谓的子表单——实际上只是另一种表单,但它并不独立。相反,它会像任何其他控件一样加载到主窗体上。使其绑定到馈线表。链接父/子属性,当您从下拉列表中选择一个变电站时,子表单将自动显示属于该变电站的每个馈线的记录。

这是有关使用带有子表单的表单的 Microsoft 链接:https: //support.microsoft.com/en-us/office/create-a-form-that-c ​​ontains-a-subform-a-one-to-many-form -ddf3822f-8aba-49cb-831a-1e74d6f5f06b

在 YouTube 上也可以找到各种关于子表单的教程。如果假设是正确的,则馈线仅用于 1 个变电站,则不要寻找讨论具有多对多关系的子表单的教程。


推荐阅读