MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

3 participantes

    [Resolvido]Excluir todos os registros do formulário continuo!

    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1145
    Registrado : 07/05/2011

    [Resolvido]Excluir todos os registros do formulário continuo! Empty Excluir todos os registros do formulário continuo!

    Mensagem  Lupércio 26/4/2012, 13:53

    Bom dia companheiros!

    Tenho uma tabela: "TbMpsArmazem"


    E com origem nessa tabela tenho um formulário continuo "FrMpsAtualGG1"

    Preciso através do evento ao clicar do botão,
    excluir todos os registros desse formulário.

    Estou tentando com esse código:


    Private Sub Comando48_Click()
    If IsNull(Me.IDmapas) Then

    MsgBox "Não há registros a serem excluídos!", vbCritical, "Prezado Operador!"
    Exit Sub
    ElseIf MsgBox("Tem certeza que quer excluir todos os registros?", vbYesNo + vbQuestion, "Prezado Operador!") = vbYes Then

    CurrentDb.Execute "DELETE * FROM TbMpsArmazem WHERE IDmapas=" & Me.IDmapas & ""

    DoCmd.RunCommand acCmdRefreshPage

    MsgBox "Resgistros excluídos com sucesso!", vbInformation, "Prezado Operador!"
    DoCmd.Close acForm, "FrMpsAtualGG1"
    DoCmd.OpenForm "PainelGG001"
    Else
    End If


    End Sub


    Mas está excluindo um registro por vez, e preciso excluir todos de uma vez!

    Agradeço antecipado!
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Excluir todos os registros do formulário continuo! Empty Re: [Resolvido]Excluir todos os registros do formulário continuo!

    Mensagem  criquio 26/4/2012, 13:58

    Tem certeza que está passando o ID comum a todos os registros a serem excluídos e não o ID individual da linha?


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1145
    Registrado : 07/05/2011

    [Resolvido]Excluir todos os registros do formulário continuo! Empty Re: [Resolvido]Excluir todos os registros do formulário continuo!

    Mensagem  Lupércio 26/4/2012, 16:08

    cliquio, ja verifiquei tudo e não consigo descobrir!

    http://speedy.sh/w48Df/EXCLUIR-REGISTROS-FORM-CONTINUO.zip
    avatar
    Convidad
    Convidado


    [Resolvido]Excluir todos os registros do formulário continuo! Empty Re: [Resolvido]Excluir todos os registros do formulário continuo!

    Mensagem  Convidad 26/4/2012, 16:30


    Olá!

    Infelizmente só há um registro, então não deu pra testar direitinho.

    DoCmd.SetWarnings False
    DoCmd.RunSQL ("delete from TbMpsArmazem where IDmapas = IDmapas;")
    DoCmd.SetWarnings True
    Form.Refresh

    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1145
    Registrado : 07/05/2011

    [Resolvido]Excluir todos os registros do formulário continuo! Empty Re: [Resolvido]Excluir todos os registros do formulário continuo!

    Mensagem  Lupércio 26/4/2012, 16:36

    Bom dia Norberto!

    Tem coisas que é dificil entender, pois eu tinha um form e um sub form e usava
    o mesmo código e funcinonava, agora para um form só não funcina!

    Obrigado mestre funcionou maravilha.
    avatar
    Convidad
    Convidado


    [Resolvido]Excluir todos os registros do formulário continuo! Empty Re: [Resolvido]Excluir todos os registros do formulário continuo!

    Mensagem  Convidad 26/4/2012, 16:55


    Eu costumo usar DoCmd.RunSQL mas, por curiosidade, teste assim:

    CurrentDb.Execute "DELETE * FROM TbMpsArmazem WHERE IDmapas=" & Me.IDmapas
    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1145
    Registrado : 07/05/2011

    [Resolvido]Excluir todos os registros do formulário continuo! Empty Re: [Resolvido]Excluir todos os registros do formulário continuo!

    Mensagem  Lupércio 26/4/2012, 17:04

    Testei aqui!

    Neste ultimo ai mestre, só exclui um por vez!
    Igual ao que eu estava usando anteriormente.

    Um abraço amigo!
    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1145
    Registrado : 07/05/2011

    [Resolvido]Excluir todos os registros do formulário continuo! Empty Re: [Resolvido]Excluir todos os registros do formulário continuo!

    Mensagem  Lupércio 26/4/2012, 22:16

    Estava observando com esse código que eu estava usando:


    If IsNull(Me.IDmapas) Then

    MsgBox "Não há registros a serem excluídos!", vbCritical, "Prezado Operador!"
    Exit Sub
    ElseIf MsgBox("Tem certeza que quer excluir todos os registros?", vbYesNo + vbQuestion, "Prezado Operador!") = vbYes Then

    CurrentDb.Execute "DELETE * FROM TbMpsArmazem WHERE IDmapas=" & Me.IDmapas & ""

    DoCmd.RunCommand acCmdRefreshPage

    MsgBox "Resgistros excluídos com sucesso!", vbInformation, "Prezado Operador!"
    DoCmd.Close acForm, "FrMpsAtualGG1"
    DoCmd.OpenForm "PainelGG001"
    Else
    End If

    Na tabela ele exclui todos os registros com apenas um clic, só no form vai excluindo um a um, porque?
    avatar
    Convidad
    Convidado


    [Resolvido]Excluir todos os registros do formulário continuo! Empty Re: [Resolvido]Excluir todos os registros do formulário continuo!

    Mensagem  Convidad 26/4/2012, 23:07


    Em duas palavras: Não sei!

    Também fiquei encucado com isso.
    Fiz alguma pesquisa, mas não descobri.
    Vou tirar o Resolvido, e quem sabe alguém elucide o caso.
    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1145
    Registrado : 07/05/2011

    [Resolvido]Excluir todos os registros do formulário continuo! Empty Re: [Resolvido]Excluir todos os registros do formulário continuo!

    Mensagem  Lupércio 26/4/2012, 23:16

    Olha que eu ja quebrei a cabeça aqui,

    pois tenho outro código maravilhoso que exclui o form,
    e todos os registros do subform, e olha que são de duas tabelas relacionadas.

    Veja o código que uso em outro banco, que exclui o form e sub form.


    If IsNull(Me.codigoMaquinaPrimario) Then

    MsgBox "Não há registros a serem excluídos!", vbCritical, "Prezado Operador!"
    Exit Sub
    ElseIf MsgBox("Tem certeza que quer excluir todos os registros?", vbYesNo + vbQuestion, "Prezado Operador!") = vbYes Then

    CurrentDb.Execute "DELETE * FROM T_LeituraSubFormulario WHERE CodigoFilhoEstrangeiro=" & Me.código & ""
    CurrentDb.Execute "DELETE * FROM T_LeituraFormulário WHERE codigoMaquinaPrimario=" & Me.código & ""
    DoCmd.RunCommand acCmdRefreshPage

    MsgBox "Resgistros excluídos com sucesso!", vbInformation, "Prezado Operador!"
    DoCmd.Close acForm, "FormularioAtualizaGG01"
    DoCmd.OpenForm "PainelGG001"
    Else
    End If


    O mais encucado Norberto e que vc da o comando excluir ele só exclui um registro no form,
    ai vc abre a tabela excluiu todos os registros que era para excluir, beleza, ai vc abre
    o form ta la de novo os registros só com um excluido.


    Lembrando que esse código acima ai não é meu, foi copiado aqui do forum, e por sinal funciona
    muitissimo bem no form e subfom.
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4924
    Registrado : 20/04/2011

    [Resolvido]Excluir todos os registros do formulário continuo! Empty Re: [Resolvido]Excluir todos os registros do formulário continuo!

    Mensagem  Silvio 27/4/2012, 00:53

    Boa noite Lupércio...

    Em uma grande parte dos meus forms, com subforms...eu utilizo esse código:

    Private Sub bt_excluir_Click()
    'Tratamento de erro
    On Error GoTo Err_Delete

    Dim numRecord As Integer 'Declaração da variável
    numRecord = InputBox("Informe o número da Ordem de serviço....:", "teste de mensagem") 'Solicitação do número da Ordem de serviço

    'Confirmação de operação de delete
    If MsgBox("Deseja excluir o registro " & numRecord & "?", vbQuestion + vbYesNo, "Sistema!") = vbYes Then

    Dim SQL As String
    DoCmd.SetWarnings False 'Aviso de execução
    SQL = "DELETE * FROM OS WHERE IDservico = " & numRecord 'ALTERE O NOME DA TABELA E NOME DO CAMPO
    'tabela nome do campo
    DoCmd.RunSQL SQL 'Executa consulta

    MsgBox "Operação realizada com sucesso!", vbInformation, "teste de mensagem!" 'Confirmação do processo
    DoCmd.GoToRecord , , acNewRec

    Else
    MsgBox " Ação cancelada pelo usuário", vbInformation, " teste de mensagem"

    Exit Sub

    End If
    DoCmd.RunCommand acCmdRefresh
    DoCmd.GoToRecord , , acNewRec


    Exit_Delete:
    Exit Sub

    Err_Delete:
    MsgBox "Erro número: " & Err.Number & vbLf & vbLf & Err.Description, vbCritical, "teste de mensagem"

    Resume Exit_Delete
    End Sub


    E sempre excluiu todos os registros.

    Mas, fiquei aqui matutando....como esta as relações entre tabelas ? como está a propagação de exclusão ? Sei lá..são apenas ideias para você dar uma olhada. Pode ser que tenha passado algo que você não percebeu.


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    avatar
    Convidad
    Convidado


    [Resolvido]Excluir todos os registros do formulário continuo! Empty Re: [Resolvido]Excluir todos os registros do formulário continuo!

    Mensagem  Convidad 27/4/2012, 01:00


    Olá Silvio

    O Lupércio resolveu o problema em si.
    Mas ficamos intrigados com o fato de que funciona com DoCmd.RunSQL mas não funciona com CurrentDb.Execute.
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4924
    Registrado : 20/04/2011

    [Resolvido]Excluir todos os registros do formulário continuo! Empty Re: [Resolvido]Excluir todos os registros do formulário continuo!

    Mensagem  Silvio 27/4/2012, 01:03

    Boa a noite a si, Noberto.

    Muito estranho mesmo....

    Fiquei encucado aqui, pensando no que poderia ser. Dei uma olhada nos bancos que eu tenho aqui, com subforms carregados...e todos excluem ao mesmo tempo.

    Estranho mesmo.

    Mas se ele resolveu....ótimo !


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1145
    Registrado : 07/05/2011

    [Resolvido]Excluir todos os registros do formulário continuo! Empty Re: [Resolvido]Excluir todos os registros do formulário continuo!

    Mensagem  Lupércio 27/4/2012, 02:25

    Ola Silvio tudo bem?
    O problema foi resolvido com o código do Norberto!
    mas o que nos deixou encucado é que não conseguimos fazer funcionar com o currentDb.execute,
    olha que passei a manhã interia, tentando, vou dar mais uma olhada por aqui,
    se os senhores descobrirem, por favor passa a dica.

    abraços.
    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1145
    Registrado : 07/05/2011

    [Resolvido]Excluir todos os registros do formulário continuo! Empty Re: [Resolvido]Excluir todos os registros do formulário continuo!

    Mensagem  Lupércio 27/4/2012, 03:16

    Norberto o código que você me passou está excluindo todos os registros da tabeala,

    Exemplo: tenho 25 registros com datas no form continuo.
    Dia 24/04/2012 - 25 registros.
    Dia 25/04/2012 - 25 registros.

    Vamos dizer que quero excluir os registros do dia 24/04/2012.
    Tenho a consulta que pesquisa a data e abre o form.
    quando clico para excluir os registros, exclui todos os registros da tabela.

    Que complicação.
    avatar
    Convidad
    Convidado


    [Resolvido]Excluir todos os registros do formulário continuo! Empty Re: [Resolvido]Excluir todos os registros do formulário continuo!

    Mensagem  Convidad 27/4/2012, 12:53


    Sim, porque a cláusula WHERE está considerando apenas o Id e não a data.
    Se quer excluir por data, use o campo data como critério.
    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1145
    Registrado : 07/05/2011

    [Resolvido]Excluir todos os registros do formulário continuo! Empty Re: [Resolvido]Excluir todos os registros do formulário continuo!

    Mensagem  Lupércio 27/4/2012, 16:48

    Funcionou assim:

    Private Sub Excluir_Click()
    If IsNull(Me.codigo) Then

    MsgBox "Não há registros a serem excluídos!", vbCritical, "Prezado Operador!"
    Exit Sub
    ElseIf MsgBox("Tem certeza que quer excluir todos os registros?", vbYesNo + vbQuestion, "Prezado Operador!") = vbYes Then

    DoCmd.SetWarnings False
    DoCmd.RunSQL ("delete from ConsultaDataAtual where Data = Data;")
    DoCmd.SetWarnings True
    Form.Refresh



    MsgBox "Resgistros excluídos com sucesso!", vbInformation, "Prezado Operador!"
    DoCmd.Close acForm, "FrMpsAtualGG1"

    Else
    End If

    End Sub


    Obrigado pela dica!


    Última edição por Lupércio em 27/4/2012, 17:43, editado 1 vez(es)
    avatar
    Convidad
    Convidado


    [Resolvido]Excluir todos os registros do formulário continuo! Empty Re: [Resolvido]Excluir todos os registros do formulário continuo!

    Mensagem  Convidad 27/4/2012, 17:04


    Beleza.
    Acho que a linha DoCmd.RunCommand acCmdRefreshPage está sobrando.

    Vamos deixar como Resolvido.
    Qualquer coisa, é só dar continuidade.

    Abraço!
    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1145
    Registrado : 07/05/2011

    [Resolvido]Excluir todos os registros do formulário continuo! Empty Re: [Resolvido]Excluir todos os registros do formulário continuo!

    Mensagem  Lupércio 27/4/2012, 17:42

    Verdade Norberto, obrigado!

    Corrigi aqui mesmo, vá que alguem precise do código.

      Data/hora atual: 10/8/2022, 19:08