1

该数据库的目的是将“变量名”分配给不同的“表”。我们正在获取我们的数据并制作有限的数据集,因此我使用 Access 来记录该过程。我有 3 张桌子:

  • tbl_var - 包含所有变量信息
  • tbl_db - 包含有限数据集的名称和特征
  • tbl_vardb - 关联表 ID 和变量 ID 的链接表

我创建了一个表单来选择要添加到特定数据集的变量。这很简单,有两个下拉框。一个框是数据集的名称。另一个框是所有变量的名称。问题是,如果我已经选择“sex”作为“demo”数据集的变量,我不希望“sex”作为未来变量下拉值的选项弹出。毕竟它已经在数据集中了,没有理由再添加它。由于有多个数据集,因此在查询中硬编码数据集名称对我来说并不适用。

如何使用特定数据集中尚不存在的值填充变量下拉列表?

4

1 回答 1

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
于 2013-10-16T07:43:57.843 回答