此数据库的目的是将“变量名称”分配给不同的“表”。我们正在获取数据并制作有限的数据集,因此我使用Access来记录该过程。我有3张桌子:
我创建了一个表单来选择要添加到特定数据集的变量。两个下拉框非常简单。一个框是数据集的名称。另一个框是所有变量的名称。问题是,如果我已经选择“性别”作为“演示”数据集的变量,我不希望弹出“性别”作为未来变量下拉值的选项。毕竟,它已经在数据集中,没有理由再次添加它。由于存在多个数据集,因此在查询中对数据集名称进行硬编码并不适合我。
如何使用尚未包含在特定数据集中的值填充变量下拉列表?
答案 0 :(得分:1)
表[tbl_var] ...
variableID variableName
---------- ------------
1 LastName
2 FirstName
3 Sex
... [tbl_db] ...
datasetID datasetName
--------- -----------
1 Demo
2 SomeOther
......和[tbl_vardb] ......
datasetID variableID
--------- ----------
1 3
...如果我有一个名为[cbxDataset]的组合框从[tbl_db]获取其项目,那么我可以使用另一个名为[cbxVariable]的组合框,其Row Source
是
SELECT variableID, variableName
FROM tbl_var
WHERE variableID NOT IN
(
SELECT variableID
FROM tbl_vardb
WHERE datasetID=[cbxDataset]
);
[cbxDataset]组合框的After Update
事件确保另一个组合框包含相关选项
Private Sub cbxDataset_AfterUpdate()
Me.cbxVariable.Requery
End Sub