0

对于改进以下方面的一点帮助,我将不胜感激:

表格1

AB

1

2

3 2

4 2

5

6

7 6

8 6

9 6

我有一个包含 2 个字段 A 和 B 的表(对不起……尝试在这里更好地分离字段时遇到了一点问题……stackoverflow 的新手)

我有一个带有一个多选列表框的用户表单。此列表框由字段 A 填充。用户可以在此列表框中选择任意数量的项目。

在表中,字段 B 与字段 A 相关,因此 B 中的条目允许选择 A 中的项目的速记方法——我试图实现的正是这种“速记”。

例子:

  • 如果列表框选择为 1,6,则实际选择为 1,6,7,8,9(6 与 7,8,9 相关)

  • 如果列表框选择为 1,5,则实际选择为 1,5(此处无关系)

  • 如果列表框选择为 2,6,则实际选择为 2,3,4,6,7,8,9

B 中的条目也必须出现在 A 中,因为用户可以启用或禁用关系(此处仅使用 A 中的选择)。在任何一种情况下,都会对所做的选择进行后处理。

我想知道的是——当启用 A:B 关系时,是否有一种简单的方法来填充数组,例如 Selection() 与所有选择?这最终将输入到 sql "IN(...)" 语句中。我在 Excel 中做了类似的事情,但是我正在将一个项目转换为 Access,并且想知道是否有一些 sql 方法可以一步完成。

(编辑:)到目前为止,我已经构建了以下似乎可行的方法:

SELECT A
FROM Table1
WHERE A IN(1,2,6) OR B IN(1,2,6);

过滤返回:1,2,3,4,6,7,8,9(正是我想要的)

对于上述情况,我可以使用 VBA 提取列表框中的用户选择项,然后将这些条目填充到上面的“IN(...)”语句中。

我现在需要做的是能够将上述结果输入到第二个下游搜索查询中,特别是使用来自上述查询的过滤返回填充另一个“IN(....)”语句。是否有捷径可寻?

4

1 回答 1

1

在设计视图中,选择子组合框的行源,即根据父组合框更改的组合框。它将询问您是否要构建 SQL 查询引用。

选择要显示的字段,以及要关联的字段,并使用 [Forms]![YourForm]![cboParentCombo] 作为关联字段的条件。确保两个 CBO 都设置为包括可见字段和相关字段,并确保“绑定列”匹配,即在设计视图中,如果 cbo1 上的字段 1 绑定到 cbo2 上的字段 2,请确保两者的绑定列反映了这一点。

我有一个下拉菜单,您可以在其中从列表中选择一个部门。该表中的另一个字段,在组合中链接但不可见,是一个显示部门类型的数字。下一个组合显示一个类别,并且有一个不可见的字段,它也是部门类型。我将 [Forms]![AddNewCase]![cboDepartment] 放在 rowsource sql 查询中隐藏相关字段的条件中,并且我的绑定列都设置为 2。每当部门更改时,类别选项都会更改以反映它。

希望能帮助解决它

于 2013-07-08T21:24:43.997 回答