Hi everyone! I am working on a very simple DB. The two fields in question are Country and City, both as text. The idea is that the user can choose one country from a single-selection ListBox and after selecting one country the Cities multi-selection ListBox gets populated through the following SQL search. The Table Country_City contains two rows with countries and cities, nothing complicated.
Code:
Private Sub BU_AfterUpdate()
'I deselect all the selected items
'*** WHY THE IS THIS NOT WORKING ???!!! ***
For i = 0 To AppliesTo.ListCount - 1
AppliesTo.Selected(i) = False
Next i
City.RowSource = "SELECT Country_City.City " & _
"FROM Country_City " & _
"WHERE Country_City.Country = '" & ListBoxCountry.Value & "';"
After I click/select a country on the first ListBox, the second does get populated correctly. The problem I am having is if the user changes the country, then the previously selected city/cities still stay selected. I tried to reverse that by deselecting all the cities each time I change the country, but the for-next loop does not seem to be doing the job. The funny thing is that if I paste those three lines on a buttom and click it right before selecting another country, it does work.
Example:
1) I select "France" on the first ListBox.
2) I select "Paris" and "Lyon" on the second ListBox.
3) Now I select "Germany" in the first ListBox.
4) The second ListBox gets filled by all the cities in Germany, but the ones I selected before (Lyon and Paris) appear on it too, selected.
Any ideas on how to come around this? I want to reset the selection on the second ListBox in case the user selects another country on the first ListBox.
Some information on the fields:
Country: Display Control=ListBox, Row Source Type=Value List, Row Source="France", "Germany"
City: Display Control=ListBox, Row Source=Table/Query, Row Source=(empty, updates with AfterUpdate event on Country ListBox)
Thanks a lot in advance for your help!
Greetings, Agustín