【发布时间】:2017-08-04 07:28:59
【问题描述】:
我有一个主窗体,它有一个带有两个组合框的子窗体。我想根据第一个组合框的选择来限制第二个组合框。我在第一个组合框的行源中添加了这段代码:
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
我的问题是当我为第二个组合框选择一个值时,我可以将第一个组合框更改为我在组合框一中拥有的所有选项。
例如,首先我在第一个组合框中选择法国,然后第二个组合显示法国的城市,然后我选择一个。现在我可以将组合框一更改为 US。
这意味着我在第二个组合框中有一个来自法国的城市,现在我将第一个组合框的值更改为美国,如果我保存这条记录并想在子表单中保存另一条记录,这是可能的。
我应该怎么做才能限制它?我的意思是当我从第二个组合框中选择城市时,我不希望有可能更改第一个组合框的值,因为在这种情况下我的数据库是错误的 - 我可以保存不属于特定国家的城市。
【问题讨论】:
标签: ms-access vba ms-access-2010 ms-access-2007 ms-access-2013