Ошибка неопределенной переменной в доступе
-
23-12-2019 - |
Вопрос
У меня возникли проблемы с целью компиляции, он продолжает давать неопределенную переменную ошибку во время компиляции на «INCDNTNO.Value».Я пытался смутить Icdntno как целое число, но тогда получал неверный квалификатор.У меня есть аналогичный код, который работает (см. Второй код код).Мне не нужно много того, что происходит в рабочем коде, поэтому я удалил его.Я был бы таким признателен, если кто-то может указать, куда я ошибаюсь в первом блоке кода?Спасибо, очень много
Private Sub Incdntno_AfterUpdate()
Dim conn As ADODB.Connection
Dim sSQL As String
Set conn = CurrentProject.Connection
If IsNull([Incdntno]) Then
Me.Dirty = False
End If
Dim Incident As String
Incident = Incdntno.Value
sSQL = "INSERT INTO tblFieldIncident_Complaint_InspHist ( Incdntno, InspectID, Dt_Inspect ) SELECT " & [Incdntno] & ", " & [InspectID] & ", " & [InspDate] & " FROM tblInspect WHERE Incdntno='" & Incident & "';"
conn.Execute sSQL
'Me.Requery
frmInspectItemsSub.Requery
ProcExit:
Exit Sub
End Sub
.
код, который работает:
Private Sub InspectType_AfterUpdate()
Dim conn As ADODB.Connection
Dim sSQL As String
Dim wYesNo As Integer
On Error GoTo ProcErr
If Not mbNewRecord Then
wYesNo = MsgBox("Changing the inspection type will erase the current entries and insert items specific to the new inspection. Proceed?", vbYesNo, "Inspection item update")
If wYesNo <> vbYes Then GoTo ProcExit
End If
Set conn = CurrentProject.Connection
If Not mbNewRecord Then
conn.Execute "DELETE FROM tblInspectItems WHERE InspectID=" & InspectID
End If
If IsNull([InspectID]) Then
Me.Dirty = False
End If
Dim inspType As String
inspType = InspectType.Value
sSQL = "INSERT INTO tblInspectItems ( ItemID, InspectID ) SELECT ItemID, " & [InspectID] & " FROM tblRefInspectItemCodes WHERE InspectType='" & inspType & "';"
conn.Execute sSQL
'Me.Requery
frmInspectItemsSub.Requery
ProcExit:
Exit Sub
ProcErr:
ErrMsg ("frmInspect.InspectType_AfterUpdate")
Resume ProcExit
End Sub
. Решение
Это звучит, как то, что произойдет, если вы продублируете код события.Посмотрите на ваши контрольные имена и убедитесь, что они совпадают.Кроме того, вы захотите убедиться, что [процедура события] появляется в свойствах события.Эта ссылка не может появиться автоматически, если вы измените управляющие имена.