Ms access 子窗体中的从属组合框
我有一个主窗体,它有一个子窗体和两个组合框。我想根据第一个组合框的选择限制第二个组合框。我在第一个组合框的rowsource中添加了以下代码:Ms access 子窗体中的从属组合框,ms-access,vba,ms-access-2010,ms-access-2007,ms-access-2013,Ms Access,Vba,Ms Access 2010,Ms Access 2007,Ms Access 2013,我有一个主窗体,它有一个子窗体和两个组合框。我想根据第一个组合框的选择限制第二个组合框。我在第一个组合框的rowsource中添加了以下代码: SELECT DISTINCT tblAll.Country FROM tblAll ORDER BY tblAll.Country; 然后在我添加的第一个组合框的更新后事件中 Private Sub cboCountry_AfterUpdate() On Error Resume Next cboCity.RowSource =
SELECT DISTINCT tblAll.Country FROM tblAll ORDER BY tblAll.Country;
然后在我添加的第一个组合框的更新后事件中
Private Sub cboCountry_AfterUpdate()
On Error Resume Next
cboCity.RowSource = "Select tblAll.City " & _
"FROM tblAll " & _
"WHERE tblAll.Country = '" & cboCountry.Value & "' " & _
"ORDER BY tblAll.City;"
End Sub
我的问题是,当我为第二个combobox选择一个值时,我可以将第一个combobox更改为combobox one中的所有选项
例如,首先我在第一个组合框中选择法国,然后第二个组合框显示法国的城市,然后我选择一个。现在我可以把组合框一换成我们
这意味着我在第二个combobox中有一个来自法国的城市,现在我将第一个combobox的值更改为US,并且如果我保存此记录并希望在子窗体中保存另一条记录,这是可能的
我应该怎么做来限制它?我的意思是,当我从第二个组合框中选择城市时,我不想改变第一个组合框的值,因为在这种情况下,我的数据库是错误的-我可以保存不属于特定国家的城市。如果用户选择了错误的国家,难道用户不能改变国家吗 在第一个combobox的AfterUpdate事件中有代码,该代码从第二个combobox中删除数据(将combobox值设置为Null),因此用户现在必须选择适当的城市 如果您不想允许用户在选择城市后更改国家/地区,则必须禁用或锁定国家/地区组合框。然后在移动到新记录时重新激活它。可能还希望在重新打开现有记录时禁用/锁定。因此,在设计中将country组合框设置为disabled/locked,然后以编程方式仅为新记录激活它
建议您的代码将combobox 2 RowSource设置在combobox 2 GotFocus事件中。如果用户选择了错误的国家,是否应该更改国家/地区 在第一个combobox的AfterUpdate事件中有代码,该代码从第二个combobox中删除数据(将combobox值设置为Null),因此用户现在必须选择适当的城市 如果您不想允许用户在选择城市后更改国家/地区,则必须禁用或锁定国家/地区组合框。然后在移动到新记录时重新激活它。可能还希望在重新打开现有记录时禁用/锁定。因此,在设计中将country组合框设置为disabled/locked,然后以编程方式仅为新记录激活它
建议您的代码将combobox 2 RowSource设置在combobox 2 GotFocus事件中。很抱歉,我是新访问的。我在第一个combobox的更新后添加了Me.cityName=Null,但没有任何更改。当我为第二个组合框选择值时,我仍然可以将第一个组合框的值更改为我拥有的所有选项。实际上,我必须设计数据输入表单,允许用户编辑数据,用户希望在第一次输入错误的国家时有可能更改国家,因此如果他输入错误的国家和城市,他可以更改它。但问题是,如果他选择了乡村,并根据乡村选择了城市,那么现在他也有可能把乡村变成他想要的,这意味着他可能会保存错误的信息。这正是为什么我建议使用代码在选择国家/地区时将城市组合框值设置为Null。很抱歉,我是新访问的。我在第一个组合框更新后添加了我。cityName=Null,但没有任何更改。当我为第二个组合框选择值时,我仍然可以将第一个组合框的值更改为我拥有的所有选项。实际上,我必须设计数据输入表单,允许用户编辑数据,用户希望在第一次输入错误的国家时有可能更改国家,因此如果他输入错误的国家和城市,他可以更改它。但问题是,如果他选择了国家,并根据它选择了城市,现在他也有可能将国家更改为任何他想要的,这意味着他可以保存错误的信息。这正是为什么我建议代码设置城市组合框值为空时,国家被选中。