Boa tarde!
tenho a programação abaixo para que de um formulário seja salvo em três tabelas.
Acontece que alguns lançamentos estão sendo duplicados, quando faço a alteração em um já gravado, ele duplica o lançamento.
Como faço para isso não ocorrer?
Private Sub Btn_Alterar_Click()
Dim db As Database
Dim rs As Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("SELECT * fROM Tb_Movimento_Caixa WHERE IDCaixa = " & IDCaixa & "")
rs.Edit
rs("Empresa") = Me.txtempresa
rs("Fornecedor") = Me.txtfornecedor
rs("Histórico") = Me.txthistórico
rs("Data_Pagamento") = Me.txtData_pagto
rs("Tipo") = Me.Tipo
rs("ClassifcDebito") = Me.txtClassifcDebito
rs("ClassificCredito") = Me.txtcalssificação_credito
rs("Crédito") = Me.txtcredito
rs("Centrodecustos") = Me.txtxCentrodeCusto
rs.Update
rs.Close
Set rs = db.OpenRecordset("SELECT * fROM Tb_Conta_Corrente WHERE IDCaixa = " & IDCaixa & "")
rs.Edit
rs("Empresa") = Me.txtempresa
rs("Histórico") = Me.txthistórico
rs("Data_Pagamento") = Me.txtData_pagto
rs("ClassifcDebito") = Me.txtClassifcDebito
rs("Crédito") = Me.txtcredito
rs("IDCaixa") = Me.IDCaixa
rs("Tipo") = Me.Tipo
rs.Update
rs.Close
Set rs = db.OpenRecordset("SELECT * fROM Tbl_Resultado WHERE IDCaixa = " & IDCaixa & "")
rs.Edit
rs("IDCaixa") = Me.IDCaixa
rs("Empresa") = Me.txtempresa
rs("Histórico") = Me.txthistórico
rs("Data_Pagamento") = Me.txtData_pagto
rs("ClassificCrédito") = Me.txtcalssificação_credito
rs("Crédito") = Me.txtcredito
rs("IDCaixa") = Me.IDCaixa
rs("Tipo") = Me.Tipo
rs("Centrodecustos") = Me.txtxCentrodeCusto
rs.Update
rs.Close
db.Close
NOVO.enabled = False
Btn_Alterar.enabled = False
Primeiro.enabled = False
anterior.enabled = False
proximo.enabled = False
Ultimo.enabled = False
Btn_Excluir.enabled = False
Btn_Salvar.enabled = True
End Sub
Private Sub btn_salvar_Click()
'SALVAR O CONTEUDO EM UMA SEGUNDA TABELA
If MsgBox("Deseja Salvar os Dados?", vbYesNo + vbInformation, "Atenção!!!") = vbYes Then
Dim db As Database
Dim rs As dao.Recordset
Set db = CurrentDb()
'ABRE O RECORDSET DA TABELA 2 PARA ADD OS DADOS.
Set rs = db.OpenRecordset("Tb_Conta_Corrente")
rs.AddNew 'ADD NOVO REGISTRO
'NO CAMPO NOME DA TABELA2 COLOCA OS DADOS QUE TEM NO CAMPO ME.NOME DO FORMULARIO... E ASSIM SEGUE
rs("Empresa") = Me.txtempresa
rs("Histórico") = Me.txthistórico
rs("Data_Pagamento") = Me.txtData_pagto
rs("ClassifcDebito") = Me.txtClassifcDebito
rs("Crédito") = Me.txtcredito
rs("IDCaixa") = Me.IDCaixa
rs("Tipo") = Me.Tipo
rs.Update
'ENCERRA AS CONEXÕES E LIMPA DA MEMORIA
rs.Close
Set rs = Nothing
db.Close
Set db = Nothing
End If
Set db = CurrentDb()
'ABRE O RECORDSET DA TABELA 2 PARA ADD OS DADOS.
Set rs = db.OpenRecordset("Tbl_Resultado")
rs.AddNew 'ADD NOVO REGISTRO
'NO CAMPO NOME DA TABELA2 COLOCA OS DADOS QUE TEM NO CAMPO ME.NOME DO FORMULARIO... E ASSIM SEGUE
rs("IDCaixa") = Me.IDCaixa
rs("Empresa") = Me.txtempresa
rs("Histórico") = Me.txthistórico
rs("Data_Pagamento") = Me.txtData_pagto
rs("ClassificCrédito") = Me.txtcalssificação_credito
rs("Crédito") = Me.txtcredito
rs("IDCaixa") = Me.IDCaixa
rs("Tipo") = Me.Tipo
rs("Centrodecustos") = Me.txtxCentrodeCusto
rs.Update
'ENCERRA AS CONEXÕES E LIMPA DA MEMORIA
rs.Close
Set rs = Nothing
db.Close
Set db = Nothing
On Error GoTo Err_btn_Salvar_Click
DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70
IDCaixa.enabled = False
Btn_Alterar.enabled = True
NOVO.enabled = True
Primeiro.enabled = True
proximo.enabled = True
anterior.enabled = True
Ultimo.enabled = True
Btn_Excluir.enabled = True
NOVO.SetFocus
Btn_Salvar.enabled = False
Exit_btn_Salvar_Click:
'soma = Texto16
Exit Sub
Err_btn_Salvar_Click:
' MsgBox Err.Description
' Resume Exit_Salvar_Click
End Sub
Obrigada
Dina
tenho a programação abaixo para que de um formulário seja salvo em três tabelas.
Acontece que alguns lançamentos estão sendo duplicados, quando faço a alteração em um já gravado, ele duplica o lançamento.
Como faço para isso não ocorrer?
Private Sub Btn_Alterar_Click()
Dim db As Database
Dim rs As Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("SELECT * fROM Tb_Movimento_Caixa WHERE IDCaixa = " & IDCaixa & "")
rs.Edit
rs("Empresa") = Me.txtempresa
rs("Fornecedor") = Me.txtfornecedor
rs("Histórico") = Me.txthistórico
rs("Data_Pagamento") = Me.txtData_pagto
rs("Tipo") = Me.Tipo
rs("ClassifcDebito") = Me.txtClassifcDebito
rs("ClassificCredito") = Me.txtcalssificação_credito
rs("Crédito") = Me.txtcredito
rs("Centrodecustos") = Me.txtxCentrodeCusto
rs.Update
rs.Close
Set rs = db.OpenRecordset("SELECT * fROM Tb_Conta_Corrente WHERE IDCaixa = " & IDCaixa & "")
rs.Edit
rs("Empresa") = Me.txtempresa
rs("Histórico") = Me.txthistórico
rs("Data_Pagamento") = Me.txtData_pagto
rs("ClassifcDebito") = Me.txtClassifcDebito
rs("Crédito") = Me.txtcredito
rs("IDCaixa") = Me.IDCaixa
rs("Tipo") = Me.Tipo
rs.Update
rs.Close
Set rs = db.OpenRecordset("SELECT * fROM Tbl_Resultado WHERE IDCaixa = " & IDCaixa & "")
rs.Edit
rs("IDCaixa") = Me.IDCaixa
rs("Empresa") = Me.txtempresa
rs("Histórico") = Me.txthistórico
rs("Data_Pagamento") = Me.txtData_pagto
rs("ClassificCrédito") = Me.txtcalssificação_credito
rs("Crédito") = Me.txtcredito
rs("IDCaixa") = Me.IDCaixa
rs("Tipo") = Me.Tipo
rs("Centrodecustos") = Me.txtxCentrodeCusto
rs.Update
rs.Close
db.Close
NOVO.enabled = False
Btn_Alterar.enabled = False
Primeiro.enabled = False
anterior.enabled = False
proximo.enabled = False
Ultimo.enabled = False
Btn_Excluir.enabled = False
Btn_Salvar.enabled = True
End Sub
Private Sub btn_salvar_Click()
'SALVAR O CONTEUDO EM UMA SEGUNDA TABELA
If MsgBox("Deseja Salvar os Dados?", vbYesNo + vbInformation, "Atenção!!!") = vbYes Then
Dim db As Database
Dim rs As dao.Recordset
Set db = CurrentDb()
'ABRE O RECORDSET DA TABELA 2 PARA ADD OS DADOS.
Set rs = db.OpenRecordset("Tb_Conta_Corrente")
rs.AddNew 'ADD NOVO REGISTRO
'NO CAMPO NOME DA TABELA2 COLOCA OS DADOS QUE TEM NO CAMPO ME.NOME DO FORMULARIO... E ASSIM SEGUE
rs("Empresa") = Me.txtempresa
rs("Histórico") = Me.txthistórico
rs("Data_Pagamento") = Me.txtData_pagto
rs("ClassifcDebito") = Me.txtClassifcDebito
rs("Crédito") = Me.txtcredito
rs("IDCaixa") = Me.IDCaixa
rs("Tipo") = Me.Tipo
rs.Update
'ENCERRA AS CONEXÕES E LIMPA DA MEMORIA
rs.Close
Set rs = Nothing
db.Close
Set db = Nothing
End If
Set db = CurrentDb()
'ABRE O RECORDSET DA TABELA 2 PARA ADD OS DADOS.
Set rs = db.OpenRecordset("Tbl_Resultado")
rs.AddNew 'ADD NOVO REGISTRO
'NO CAMPO NOME DA TABELA2 COLOCA OS DADOS QUE TEM NO CAMPO ME.NOME DO FORMULARIO... E ASSIM SEGUE
rs("IDCaixa") = Me.IDCaixa
rs("Empresa") = Me.txtempresa
rs("Histórico") = Me.txthistórico
rs("Data_Pagamento") = Me.txtData_pagto
rs("ClassificCrédito") = Me.txtcalssificação_credito
rs("Crédito") = Me.txtcredito
rs("IDCaixa") = Me.IDCaixa
rs("Tipo") = Me.Tipo
rs("Centrodecustos") = Me.txtxCentrodeCusto
rs.Update
'ENCERRA AS CONEXÕES E LIMPA DA MEMORIA
rs.Close
Set rs = Nothing
db.Close
Set db = Nothing
On Error GoTo Err_btn_Salvar_Click
DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70
IDCaixa.enabled = False
Btn_Alterar.enabled = True
NOVO.enabled = True
Primeiro.enabled = True
proximo.enabled = True
anterior.enabled = True
Ultimo.enabled = True
Btn_Excluir.enabled = True
NOVO.SetFocus
Btn_Salvar.enabled = False
Exit_btn_Salvar_Click:
'soma = Texto16
Exit Sub
Err_btn_Salvar_Click:
' MsgBox Err.Description
' Resume Exit_Salvar_Click
End Sub
Obrigada
Dina