Hi I have tryed both methods and seem to get the closest to what I want with donbettis method useing DLooup.
This is what I entered in the before up date event.
Private Sub ZIP_BeforeUpdate(Cancel As Integer)
City = DLookup("[City]", "ZipCode", "[Zip]= '" & Me!ZIP & "'")
State =...