- trabalho da seguinte forma forma:
01 - tenho um formulário com uma cx de listagem, nesse form realizo a inclusão, alteração ou exclusão dos dados;
02 - a exclusão é feita através do evento ao clicar do botão Excluir do form, após selecionar o registro na cx de listagem;
03 - carrego os dados da cx de listagem no evento ao carregar do form, através de uma instrução SQL;
- os código são:
01 - ao carregar do form:
Private Sub Form_Load()
On Error GoTo TrataErros
Me.KeyPreview = True
Dim db As DAO.Database
Dim sSQL1 As String
Dim sDevedora As String
Dim sCredora As String
Set db = CurrentDb()
sSQL1 = "SELECT tb_historico.ID_HT, tb_historico.NM_HT, tb_historico.CD_HT, tb_plano_contas.NR_PC, " _
& "tb_plano_contas.NM_PC, tb_historico.CC_HT, tb_plano_contas_1.NR_PC, tb_plano_contas_1.NM_PC, " _
& "tb_historico.DT_HT, tb_historico.RC_HT FROM tb_plano_contas AS tb_plano_contas_1 INNER JOIN " _
& "(tb_plano_contas INNER JOIN tb_historico ON tb_plano_contas.ID_PC = tb_historico.CD_HT) ON " _
& "tb_plano_contas_1.ID_PC = tb_historico.CC_HT;"
'Preenchendo a Caixa de Listagem Histórico
ListaHistorico.RowSource = sSQL1
End sub
02 - Evento ao clicar botão Excluir, após selecionar o item na cx de listagem:
Private Sub CmdExcluir_Click()
On Error GoTo TrataErros
Dim db As DAO.Database
Set db = CurrentDb()
Dim rs As DAO.Recordset
Dim intCrit As Long
lin = Chr$(13) & Chr$(10)
strUserName = basMachineName.fOSMachineName()
If ListaHistorico.ItemsSelected.Count = 0 Then
CritMsg "Para Excluir, selecione um Histórico."
DoCmd.CancelEvent
Exit Sub
End If
Historico_Rótulo.Caption = "EXCLUIR HISTÓRICO"
Alterar_Rótulo.Visible = False
blnOK = basMsg.Confirmar("" & strUserName & ", Excluir?" & lin _
& lin & "Histórico - " & ListaHistorico.Column(1) & lin _
& lin & "Conta Devedora - " & ListaHistorico.Column(3) & lin _
& lin & "Nome - " & ListaHistorico.Column(4) & lin _
& lin & "Conta Credora - " & ListaHistorico.Column(6) & lin _
& lin & "Nome - " & ListaHistorico.Column(7) & lin _
& lin & "Cadastro - " & ListaHistorico.Column(
& " ")
If blnOK Then
intCrit = Me.ListaHistorico.Column(0)
sSQL = "SELECT * FROM tb_historico WHERE ID_HT = " & intCrit
Set rs = db.OpenRecordset(sSQL)
rs.MoveFirst
rs.FindFirst "[ID_HT] = " & intCrit
rs.Delete
rs.Close
ExclMsg "Histórico Excluído com sucesso!"
ListaHistorico.Requery
Else
basMsg.CritMsg "Exclusão Cancelada."
Form_Load
End If
Set rs = Nothing
db.Close
Set db = Nothing
Saida:
Exit Sub
TrataErros:
If Err.Number = 3200 Then
CritMsg "Este Histórico não pode ser Excluído, existem" & lin _
& lin & "registro(s) vinculados em outra(s) tabela(s)!" & lin _
& lin & "Primeiro, exclua esse(s) registro(s)."
Else
CritMsg "Ocorreu um erro! " & Err.Description & "."
End If
Resume Saida
End Sub
Vlw