Normally I don't use a zip code entry and all as David Fenton has said as well. I do normally store the state and zip code together with the city in the record. But if you are wanting other information based on zip code to pre-populate then I had suggested
that was a bit outside of the realm of normalization. But I am wondering, if you really want to store it, what harm is there (none really). So I back track a bit on the normalization argument as it is sometimes okay for a little denormalization to make things
work better. Since the cities aren't going to change, the data is pretty safe to store.
So, you can use a combo to select the city and populate the rest by using this in the AfterUpdate event of the combo:
Me.State = Me.ComboName.Column(2)
Me.City = Me.ComboName.Column(1)
Me.County = Me.ComboName.Column(3)
That is zero based so the 2nd column is 1, 3rd is 2, etc. You set up the combo row source to include everything from the zip code to the county and then set the combo column count to 4 (if there are 4 columns, which I'm assuming based on Zip Code, City,
State, and County.
Bob Larson, Former Access MVP (2008-2010) http://www.btabdevelopment.com (free Access tools, tutorials, and samples)