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
Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top