【发布时间】:2019-09-23 14:17:17
【问题描述】:
我有一个名为 Devices 的表。此表中的两个字段是品牌和型号。
我正在创建一个表单来将新设备添加到数据库中。
我希望用户从组合框中选择品牌和型号数据。出于数据完整性的目的,我希望这些仅限于数据库中已有的现有品牌和型号项目(如果需要,可以选择添加新的品牌/型号)。
makeCombo 由一个简单的查询 (SELECT DISTINCT Devices.Make FROM Devices;) 填充,并且可以正常工作。
我想根据品牌的选择,将 modelCombo 更新为适当的值(例如:用户选择 Dell 作为品牌,并且 modelCombo 更新以包含数据库中的所有 Dell 型号,并允许新型号,如果戴尔设备当前不在数据库中)。
Devices表的一般格式:DeviceID是主键,Make和Model都是Devices表中的字段。
我过去曾将这种类型的 VBA 用于较小的任务/数据库,但该数据库有数百条记录,并且对每个品牌/型号组合进行硬编码需要很长时间。
Private Sub combo1_Change()
If combo1 = "op1" Then
Me.combo2.RowSourceType = "Value List"
Me.combo2.RowSource = "a; b; c"
Else
Me.combo2.RowSourceType = "Value List"
Me.combo2.RowSource = "default"
End If
End Sub
【问题讨论】:
标签: sql database vba ms-access