Pessoal, boa noite!
Estou tentando utilizar o código abaixo para acrescentar e editar registros em um formulário desvinculado.
Porém, quando tento atualizar os registros surge o seguinte erro:
"Erro em tempo de execução '3157':
ODBC - falha ao atualizar em uma tabela vinculada 'tblProgrCompra'
A falha ocorre no método .Update
Private Sub cmdSalvar_Click()
Dim intResponse As Integer
Dim Msg As String
Dim rst1 As Recordset
Set rst1 = CurrentDb.OpenRecordset("tblProgrCompra")
On Error GoTo 1
intResponse = MsgBox("Deseja Salvar o Registro?", vbInformation + vbYesNoCancel)
Select Case intResponse
'Salva tudo o que foi feito
Case vbYes
If IsNull(Me.UnidNeg) Or IsNull(Me.UnidProd) Or IsNull(Me.CodChaveForn) Or IsNull(Me.DataInicialProgr) Or IsNull(Me.DataFinalProgr) Or IsNull(Me.QZ) Or IsNull(Me.DataEntrega) Or IsNull(Me.DataPrevPG) Or IsNull(Me.CodChaveTipoCompra) Or IsNull(Me.CodChaveFormaPG) Or IsNull(Me.CodChaveStatus) Then
MsgBox "FALTAM CAMPOS A SEREM PREENCHIDOS" & vbLf & vbLf & "Verifique.", vbInformation, "Aviso"
ElseIf DCount("[CodChaveProgrCompra]", "tblProgrCompra", "[CodChaveProgrCompra]= " & Me.CodChaveProgrCompra & " ") > 0 Then
rst1.Edit
rst1![CodChaveProgrCompra] = Me.CodChaveProgrCompra
rst1![UnidNeg] = Me.UnidNeg
rst1![UnidProd] = Me.UnidProd
rst1![CodChaveForn] = Me.CodChaveForn
rst1![DataInicialProgr] = Format(Me.DataInicialProgr, "dd/mm/yyyy hh:nn:ss")
rst1![DataFinalProgr] = Format(Me.DataFinalProgr, "dd/mm/yyyy hh:nn:ss")
rst1![QZ] = Me.QZ
rst1![DataEntrega] = Format(Me.DataEntrega, "dd/mm/yyyy hh:nn:ss")
rst1![DataPrevPG] = Format(Me.DataPrevPG, "dd/mm/yyyy hh:nn:ss")
rst1![CodChaveTipoCompra] = Me.CodChaveTipoCompra
rst1![CodChaveFormaPG] = Me.CodChaveFormaPG
rst1![CodChaveStatus] = Me.CodChaveStatus
rst1![NºNF] = Me.NºNF
rst1![DataEmissaoNF] = Me.DataEmissaoNF
rst1.Update
rst1.Close
MsgBox "REGISTRO MODIFICADO", vbInformation, "Aviso"
Call Limpar
Me.CodChaveProgrCompra.SetFocus
Else
rst1.AddNew
rst1![CodChaveProgrCompra] = Me.CodChaveProgrCompra
rst1![UnidNeg] = Me.UnidNeg
rst1![UnidProd] = Me.UnidProd
rst1![CodChaveForn] = Me.CodChaveForn
rst1![DataInicialProgr] = Format(Me.DataInicialProgr, "dd/mm/yyyy hh:nn:ss")
rst1![DataFinalProgr] = Format(Me.DataFinalProgr, "dd/mm/yyyy hh:nn:ss")
rst1![QZ] = Me.QZ
rst1![DataEntrega] = Format(Me.DataEntrega, "dd/mm/yyyy hh:nn:ss")
rst1![DataPrevPG] = Format(Me.DataPrevPG, "dd/mm/yyyy hh:nn:ss")
rst1![CodChaveTipoCompra] = Me.CodChaveTipoCompra
rst1![CodChaveFormaPG] = Me.CodChaveFormaPG
rst1![CodChaveStatus] = Me.CodChaveStatus
rst1![NºNF] = Me.NºNF
rst1![DataEmissaoNF] = Me.DataEmissaoNF
rst1.Update
rst1.Close
MsgBox "REGISTRO INSERIDO", vbInformation, "Aviso"
Call Limpar
Me.CodChaveProgrCompra.SetFocus
End If
'Não salva
Case vbNo
Me.Undo
'Cancela
Case vbCancel
Exit Sub
End Select
Exit_1:
DoCmd.Hourglass False
DoCmd.Echo True
Exit Sub
1 a:
DoCmd.Hourglass False
DoCmd.Echo True
Msg = "Erro # " & Str(Err.Number) _
& vbNewLine & "Descrição: " & Err.Description _
& vbNewLine & vbNewLine & "Por favor contate o Administrador de Sistema."
MsgBox Msg, vbExclamation, "Atenção"
Resume Exit_1
End Sub
Estou tentando utilizar o código abaixo para acrescentar e editar registros em um formulário desvinculado.
Porém, quando tento atualizar os registros surge o seguinte erro:
"Erro em tempo de execução '3157':
ODBC - falha ao atualizar em uma tabela vinculada 'tblProgrCompra'
A falha ocorre no método .Update
Private Sub cmdSalvar_Click()
Dim intResponse As Integer
Dim Msg As String
Dim rst1 As Recordset
Set rst1 = CurrentDb.OpenRecordset("tblProgrCompra")
On Error GoTo 1
intResponse = MsgBox("Deseja Salvar o Registro?", vbInformation + vbYesNoCancel)
Select Case intResponse
'Salva tudo o que foi feito
Case vbYes
If IsNull(Me.UnidNeg) Or IsNull(Me.UnidProd) Or IsNull(Me.CodChaveForn) Or IsNull(Me.DataInicialProgr) Or IsNull(Me.DataFinalProgr) Or IsNull(Me.QZ) Or IsNull(Me.DataEntrega) Or IsNull(Me.DataPrevPG) Or IsNull(Me.CodChaveTipoCompra) Or IsNull(Me.CodChaveFormaPG) Or IsNull(Me.CodChaveStatus) Then
MsgBox "FALTAM CAMPOS A SEREM PREENCHIDOS" & vbLf & vbLf & "Verifique.", vbInformation, "Aviso"
ElseIf DCount("[CodChaveProgrCompra]", "tblProgrCompra", "[CodChaveProgrCompra]= " & Me.CodChaveProgrCompra & " ") > 0 Then
rst1.Edit
rst1![CodChaveProgrCompra] = Me.CodChaveProgrCompra
rst1![UnidNeg] = Me.UnidNeg
rst1![UnidProd] = Me.UnidProd
rst1![CodChaveForn] = Me.CodChaveForn
rst1![DataInicialProgr] = Format(Me.DataInicialProgr, "dd/mm/yyyy hh:nn:ss")
rst1![DataFinalProgr] = Format(Me.DataFinalProgr, "dd/mm/yyyy hh:nn:ss")
rst1![QZ] = Me.QZ
rst1![DataEntrega] = Format(Me.DataEntrega, "dd/mm/yyyy hh:nn:ss")
rst1![DataPrevPG] = Format(Me.DataPrevPG, "dd/mm/yyyy hh:nn:ss")
rst1![CodChaveTipoCompra] = Me.CodChaveTipoCompra
rst1![CodChaveFormaPG] = Me.CodChaveFormaPG
rst1![CodChaveStatus] = Me.CodChaveStatus
rst1![NºNF] = Me.NºNF
rst1![DataEmissaoNF] = Me.DataEmissaoNF
rst1.Update
rst1.Close
MsgBox "REGISTRO MODIFICADO", vbInformation, "Aviso"
Call Limpar
Me.CodChaveProgrCompra.SetFocus
Else
rst1.AddNew
rst1![CodChaveProgrCompra] = Me.CodChaveProgrCompra
rst1![UnidNeg] = Me.UnidNeg
rst1![UnidProd] = Me.UnidProd
rst1![CodChaveForn] = Me.CodChaveForn
rst1![DataInicialProgr] = Format(Me.DataInicialProgr, "dd/mm/yyyy hh:nn:ss")
rst1![DataFinalProgr] = Format(Me.DataFinalProgr, "dd/mm/yyyy hh:nn:ss")
rst1![QZ] = Me.QZ
rst1![DataEntrega] = Format(Me.DataEntrega, "dd/mm/yyyy hh:nn:ss")
rst1![DataPrevPG] = Format(Me.DataPrevPG, "dd/mm/yyyy hh:nn:ss")
rst1![CodChaveTipoCompra] = Me.CodChaveTipoCompra
rst1![CodChaveFormaPG] = Me.CodChaveFormaPG
rst1![CodChaveStatus] = Me.CodChaveStatus
rst1![NºNF] = Me.NºNF
rst1![DataEmissaoNF] = Me.DataEmissaoNF
rst1.Update
rst1.Close
MsgBox "REGISTRO INSERIDO", vbInformation, "Aviso"
Call Limpar
Me.CodChaveProgrCompra.SetFocus
End If
'Não salva
Case vbNo
Me.Undo
'Cancela
Case vbCancel
Exit Sub
End Select
Exit_1:
DoCmd.Hourglass False
DoCmd.Echo True
Exit Sub
1 a:
DoCmd.Hourglass False
DoCmd.Echo True
Msg = "Erro # " & Str(Err.Number) _
& vbNewLine & "Descrição: " & Err.Description _
& vbNewLine & vbNewLine & "Por favor contate o Administrador de Sistema."
MsgBox Msg, vbExclamation, "Atenção"
Resume Exit_1
End Sub