Variável indefinida de erro no Access
-
23-12-2019 - |
Pergunta
Estou tendo problemas para fazer isso para compilar, ele continua a dar uma variável indefinida de erro durante a compilação em 'Incdntno.Valor".Eu tentei Dim Incdntno como Inteiro, mas depois foi ficando qualificador Inválido.Eu tenho um código semelhante que funciona (veja o segundo bloco de código).Eu não preciso de muito do que estava acontecendo no código de trabalho, parte para que eu o retirei.Eu seria muito grato se alguém puder ponto que eu estou indo mal no primeiro bloco de código?Obrigado, muito
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
Código que funciona:
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
Solução
Isso soa como o que acontece se você duplicar código de evento.Dê uma olhada de perto os seus nomes de controle e verifique se correspondem.Além disso, você vai querer certificar-se de que o [Procedimento de Evento] é a indicação apresentada no evento propriedades.Que ligação pode não aparecer automaticamente se você alterar os nomes de controle.