我有一個主窗體,它有兩個組合框的子窗體。我想根據第一個組合框的選擇來限制第二個組合框。我在第一個組合框的行源添加以下代碼:子窗體中的從屬組合框
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
我的問題是,當我選擇第二個組合框的一個價值,我可以將第一個組合框更改爲組合框中的所有選項。
例如,首先我選擇法國在第一個組合框,然後第二個組合顯示我法國的城市,我選擇一個。現在我可以將組合框更改爲美國。
這意味着我在第二個組合框中有一個來自法國的城市,現在我將第一個組合框的值更改爲美國,如果我保存此記錄並希望保存子窗體中的其他記錄,則可以。
我該怎麼做才能限制它?我的意思是當我從第二個組合框中選擇城市時,我不想有這種可能性來改變第一個組合框的值,因爲在這種情況下我的數據庫是錯誤的 - 我可以保存不屬於特定國家的城市。
對不起,我是新來access.I補充說 Me.cityName =空 在第一個組合框更新後,但沒有任何改變。 當我選擇第二個組合框的值時,我仍然可以將第一個組合框的值更改爲我擁有的所有選項。 – Mitra
請參閱上面的回答中的編輯。 – June7
其實我必須設計數據錄入表格,允許用戶編輯數據,用戶想要有這種可能性改變國家的時候,一開始他輸入錯了,所以如果他進入錯誤的國家和城市,他可以改變它。但問題是如果他選擇了國家,並據此選擇了城市,現在他也有這種可能性來改變國家到他想要的地步,這意味着他可以保存錯誤的信息。 – Mitra