Olá!
Estou testando um código DAO.Recordset (segundo ouvi é mais rápido que ADO), mas ainda não domino a sintaxe.
Apliquei este que transcrevo abaixo, funciona perfeito, mas creio que não está fechando o Recorset.
Alguém pode dar uma olhada?
Private Sub FornNF_NotInList(NewData As String, Response As Integer)
On Error GoTo Trato
Dim blnOk As Boolean
Dim strMessage As String
Dim dbsComind As Database
Dim rstFornec As DAO.Recordset
strMessage = "Deseja adicionar '" & NewData & "' ao cadastro de Fornecedores?"
If Confirmar(strMessage) Then
If FormIsOpen("for_Fornec") Then
DoCmd.Close acForm, "for_Fornec"
End If
Set dbsComind = CurrentDb
Set rstFornec = dbsComind.OpenRecordset("tab_Fornec")
rstFornec.AddNew
rstFornec!RazSocForn = NewData
rstFornec!AtivForn = True
rstFornec!DatCadForn = Date
rstFornec.Update
Response = acDataErrAdded
Else
Response = acDataErrContinue
FornNF.Undo
ParkNF.SetFocus
blnOk = Confirmar("Deseja abrir o cadastro de Fornecedores e cadastrar agora?")
If Not blnOk Then
Exit Sub
Else
If FormIsOpen("for_Fornec") Then
blnOk = Confirmar("O formulário já está aberto" & vbCrLf & _
"Deseja alternar para o cadastro de Fornecedores?")
If Not blnOk Then
Exit Sub
Else
Forms!for_Fornec.SetFocus
DoCmd.GoToRecord , "", acNewRec
End If
Else
DoCmd.OpenForm "for_Fornec", acNormal, "", "", , acNormal
DoCmd.GoToRecord , "", acNewRec
End If
End If
End If
Exit Sub
Trato:
MsgBox Err.Description
End Sub
Obrigado!
Estou testando um código DAO.Recordset (segundo ouvi é mais rápido que ADO), mas ainda não domino a sintaxe.
Apliquei este que transcrevo abaixo, funciona perfeito, mas creio que não está fechando o Recorset.
Alguém pode dar uma olhada?
Private Sub FornNF_NotInList(NewData As String, Response As Integer)
On Error GoTo Trato
Dim blnOk As Boolean
Dim strMessage As String
Dim dbsComind As Database
Dim rstFornec As DAO.Recordset
strMessage = "Deseja adicionar '" & NewData & "' ao cadastro de Fornecedores?"
If Confirmar(strMessage) Then
If FormIsOpen("for_Fornec") Then
DoCmd.Close acForm, "for_Fornec"
End If
Set dbsComind = CurrentDb
Set rstFornec = dbsComind.OpenRecordset("tab_Fornec")
rstFornec.AddNew
rstFornec!RazSocForn = NewData
rstFornec!AtivForn = True
rstFornec!DatCadForn = Date
rstFornec.Update
Response = acDataErrAdded
Else
Response = acDataErrContinue
FornNF.Undo
ParkNF.SetFocus
blnOk = Confirmar("Deseja abrir o cadastro de Fornecedores e cadastrar agora?")
If Not blnOk Then
Exit Sub
Else
If FormIsOpen("for_Fornec") Then
blnOk = Confirmar("O formulário já está aberto" & vbCrLf & _
"Deseja alternar para o cadastro de Fornecedores?")
If Not blnOk Then
Exit Sub
Else
Forms!for_Fornec.SetFocus
DoCmd.GoToRecord , "", acNewRec
End If
Else
DoCmd.OpenForm "for_Fornec", acNormal, "", "", , acNormal
DoCmd.GoToRecord , "", acNewRec
End If
End If
End If
Exit Sub
Trato:
MsgBox Err.Description
End Sub
Obrigado!