Вы не должны создавать запрос, не проверив, существует ли он, иначе вы получите ошибку, как вы обнаружили.Вы можете изменить sql, ссылаясь на querydef, вам не нужно создавать новый запрос.Однако в этой ситуации вам не нужен запрос, просто DLookUp.
DLookUp("cityID", "City", "Name ='" & Replace(Me.List60.Value,"'","''") & "'")
Вы можете установить источник управления текстовым полем для Dlookup следующим образом:
=DLookUp("cityID", "City", "Name ='" & Replace(List60.Value,"'","''") & "'")
Кстатизарезервированное слово и не должно использоваться нигде, это вызовет неописуемое горе.