我正在尝试通过从单独的查找框中选择表名来定义查找字段的行源。
产品目录包含约41个产品组,然后进一步划分为类型,其中一些类型超过100种。
我有一个产品组表(41组),然后每个产品组(41个表)都有一个单独的类型表。所有类型表名称都与产品组表格中显示的完全相同。我希望能够从查找框中选择产品组,然后在单独的查找框中从相应的表中选择类型。
下面的图片应该有助于了解我的目标。
设置我的第一个查询框:
设置我的第二次查找:
这可能,如果有的话,任何人都可以伸出援助之手吗?
感谢。
答案 0 :(得分:0)
总结一下,您需要一个包含TypeID,GroupID和任何其他“Type”相关字段的表。
您的Group ComboBox应该将ID字段作为其第一列(使过滤更容易),因此您的控制源应该是:
SELECT [ProductGroup]![GroupID], [ProductGroup]![ProductGroup]
FROM [ProductGroup]
ORDER BY [ProductGroup];
然后在“格式”选项卡上的“组合框”的属性中,使列宽为“”x“以隐藏ID字段。
Type ComboBox的控件源应为:
SELECT [NewTypeTable]![TypeID], [NewTypeTable]![TypeName]
FROM [NewTypeTable]
WHERE [NewTypeTable]![GroupID] Like [Forms]![frmWithComboBoxName]![CboPGroup]
ORDER BY [NewTypeTable]![TypeName];
同样,如果要隐藏ID字段,请将第一列宽度设为0“。
您还应该在afterUpdate()
CboPGroup
事件中重新查询第二个组合框,它将根据CboPGroup
中的新选择过滤第二个组合框。代码(VBA)将是:
Forms!frmWithComboBoxName!CboType.Requery