Я перемещаю формы из одной базы данных Access в другую. Когда я пытаюсь скомпилировать новую базу данных, выдается ошибка «Переменная не определена». Это происходит только при использовании Option Explicit. Переменная является типом данных AccessField, который выбирается запросом SQL формы. Это прекрасно компилируется в базе данных Access, из которой я ее перемещаю, так что я совершенно заблудился, пытаясь выяснить, в чем дело?
Кажется, у меня точно такая же проблема, которая никогда не решалась в этой старой теме: https://bytes.com/topic/access/answers/896346-variable-not-defined-error-field-exists
Это более одного экземпляра. Все, что ссылается на AccessField, которое не объявлено как переменная, вернет эту ошибку при использовании Option Explicit.
Например, форма использует запрос:
Select * from BM where ClientID =143 and Month(BMDate) = 4 and year(bmdate) =2018 order by bmdate
И код VBA внутри этой формы завершится с ошибкой:
Option Explicit
Option Compare Database
Private Sub Form_Load()
If IsNull(RecNbr) Then
'Code fails with RecNbr on line above when I try to compile
'RecNbr is a field selected from the query and is not declared as a variable
End If
End Sub