【发布时间】:2019-02-21 16:09:29
【问题描述】:
我正在处理的一个项目遇到了一些障碍,而且我是 Access 的新手,我不知道如果没有 VBA,我想要做的事情是否可行。我环顾四周,但只能找到与显示多列相关的答案,而不是控制数据库中的多个字段。
为了绘制图片,我在数据库中设置了一个映射系统,以帮助我区分表中保存的数据的名称和类型。
设置如下:
- 数据表是带有 ID 和行数据的“LineItems”(想想典型的 excel 格式)
- 映射表是带有 LineItem_ID、DataType 和 Entity_ID 的“LineItem_Mapper”
- 带有 ID 和名称的帮助表“Data_Type”
- 两个具有不同属性的“实体”表都有 ID 和名称
拆分的原因在于数据类型是两种类型的数据行为不同。一种类型具有父子关系,另一种是独立行。我想在我的数据库中保留这个结构,并且觉得我已经通过这个映射做到了。
现在,谈谈我遇到的问题。在我的 Access 数据输入表单中,我想使用一个组合框,因为用户在输入时可以为每一行选择的选项是有限的。但是,此组合框会影响上面的映射表。我已经能够使用从我的 2 个实体表构建的自定义查询来使用我想要的列表填充该框,但我不知道如何让 Access 使用此框创建或更新映射表。
我想要发生的是,当我在框中选择某些内容时,会在映射表中创建(或更改)一行,并填充所有 3 列。首先是我要填充的行的 LineItem_ID,然后是 DataType 和 Entity ID 以反映正确的映射。
Access 可以自行执行此操作吗?还是我需要用 VBA 来做这件事?
【问题讨论】:
-
您需要 VBA。即使不知何故有办法在没有 VBA 的情况下做到这一点,它也会如此复杂且容易出错,因此学习简单的 VBA 比尝试任何其他方式更容易。使用 VBA 做到这一点并不难,特别是如果您知道作为组合框中的值选择的结果要执行的 SQL 语句。
-
感谢您的快速回答!我想知道我是不是在追逐一只兔子到一个黑洞……如果您将评论添加为答案,我会将其标记为这样。
标签: ms-access combobox data-entry