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


2 participantes

    [Resolvido]Apagar todos os registros do SubForm ao clicar em botão no formulário principal

    avatar
    AlbertoG
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 39
    Registrado : 18/01/2015

    [Resolvido]Apagar todos os registros do SubForm  ao clicar em botão no formulário principal Empty [Resolvido]Apagar todos os registros do SubForm ao clicar em botão no formulário principal

    Mensagem  AlbertoG 25/7/2015, 19:41

    Imagine uma tela de vendas de um PDV (Ponto de Venda), programa para supermercado onde no form principal aparece na parte superior,  informações do cliente e na parte de inferior, o subform contendo a lista de compras. Ao clicar no botão encerrar, a lista de produtos vai para uma tabela chamada: tbl_backup (isso eu já consegui) e em seguida, todos os registros da tela de vendas são deletados (isso é o que ainda não consegui)

    Como fazer para deletar todos os registros de um subform, através de um botão de um formulário?
    rubenscouto
    rubenscouto
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 679
    Registrado : 02/10/2011

    [Resolvido]Apagar todos os registros do SubForm  ao clicar em botão no formulário principal Empty Re: [Resolvido]Apagar todos os registros do SubForm ao clicar em botão no formulário principal

    Mensagem  rubenscouto 25/7/2015, 21:39

    na tela do PDV que lista o cliente tem um código que amarra a escolha do cliente aos produtos, sendo um relacionamento um para muitos. Execute o código assim:
    delete * SuatabelaDeItensPDV where codigotabelaItens = codigotabelaCliente.
    entendeu?
    avatar
    AlbertoG
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 39
    Registrado : 18/01/2015

    [Resolvido]Apagar todos os registros do SubForm  ao clicar em botão no formulário principal Empty Apagar registros da tabela do subform via - VBA

    Mensagem  AlbertoG 26/7/2015, 02:02

    Ainda não consegui. Agradeço desde já pela atenção e compreensão.

    Tenho uma tela de vendas/formulário (simulação para estudo) com o nome de: Frm_Vendas (para os detalhes de vendas) com a fonte de registros na tabela: tbl_CadCli (Cadastro de Clientes). Já o subformulário com o nome de: Frm_Subform_Vendas com a fonte de registro em: tbl_VendasDet.

    =============================================
    os campos do formulário Frm_Venda são:

    CodTabDet, CodigoVendas, Produto, Qtd, ValorUnit

    =============================================
    os campos do SubFormulário são:

    CodTabDetVendas CodigoVendas Produto ValorUnit Qtd ValorTotal Estoque

    =============================================

    Ai segue o código que estou estudando, sou iniciante

    Private Sub btn_ConfVenda_Click()
    On Error Resume Next

    ValorDaCompra.Value = txt_ValorTotal

    CurrentDb.Execute "INSERT INTO tbl_FormaPagamento (Cod_CadCli_Cli, NomeCli, DataCompra, ValorDaCompra, Pagou, Troco, Resta)" _
    & " VALUES ('" & Me.txt_CodCli & "', '" & Me.txt_NomeCli & "', '" & Me.txt_DataCompra & "', '" & Me.txt_ValorTotal & "', '" & Me.txt_Pagou & "', '" & Me.txt_Troco & "', '" & Me.txt_Resta & "')"

    CurrentDb.Execute "INSERT INTO tbl_backup SELECT * FROM tbl_VendasDet"
    CurrentDb.Execute "delete * from tbl_VendasDet where CodigoVendas = CodVenda"

    Me.txt_Pagou.SetFocus


    DoCmd.Close
    DoCmd.OpenForm "Frm_Pagamentos"
    End Sub
    rubenscouto
    rubenscouto
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 679
    Registrado : 02/10/2011

    [Resolvido]Apagar todos os registros do SubForm  ao clicar em botão no formulário principal Empty Re: [Resolvido]Apagar todos os registros do SubForm ao clicar em botão no formulário principal

    Mensagem  rubenscouto 26/7/2015, 02:45

    Nesta parte aqui faltou a clausura "where". Desta forma o sistema vai selecionar todos os registros da tbl_VendasDet" e inseri-los na tabela de backup.
    seria mais ou menos assim:
    CurrentDb.Execute "INSERT INTO tbl_backup SELECT * FROM tbl_VendasDet where CodTabDet = " & Formulários!Frm_Subform_Vendas!CodTabDetVendas
    Sendo assim o bd vai inserir na tbl_backup os registros da tbl_VendasDet onde o código "CodTabDet foi igual ao campo CodTabDetVendas do seu formulário.
    capiche?
    avatar
    AlbertoG
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 39
    Registrado : 18/01/2015

    [Resolvido]Apagar todos os registros do SubForm  ao clicar em botão no formulário principal Empty Apagar registros da tabela do subform via - VBA

    Mensagem  AlbertoG 26/7/2015, 03:29

    Tem como eu te enviar o BD que estou estudando via e-mail para que possa ser verificado onde está o meu erro?
    avatar
    AlbertoG
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 39
    Registrado : 18/01/2015

    [Resolvido]Apagar todos os registros do SubForm  ao clicar em botão no formulário principal Empty Botão no Form captar e inserir dados do subform na tabela tbl_backup e apagar registros do mesmo subform

    Mensagem  AlbertoG 26/7/2015, 15:30

    Buscando ser mais claro, quero que um botão do formulário: Frm_Vendas, peque todo o conteúdo do subform: Frm_Subform_Vendas e trasnsporte-o para a tabela: tbl_Backup, em seguida, limpe todo o conteúdo do referido subform, deixando-o livre para nova inserção de dados.


    Este código funciona pegando dados do formulário principal diretamente para a tabela referida,

    CurrentDb.Execute "INSERT INTO tbl_FormaPagamento (Cod_CadCli_Cli, NomeCli, DataCompra, ValorDaCompra, Pagou, Troco, Resta)" _
    & " VALUES ('" & Me.txt_CodCli & "', '" & Me.txt_NomeCli & "', '" & Me.txt_DataCompra & "', '" & Me.txt_ValorTotal & "', '" & Me.txt_Pagou & "', '" & Me.txt_Troco & "', '" & Me.txt_Resta & "')"

    mas o código que mostrarei a seguir, não deu certo porque o botão está no form principal(Frm_Vendas) e deveria pegar os dados do subform: Frm_Subform_Vendas, portanto, quando se digita "Me." não aparece aquela ajuda de auto completar, pois não parece haver comunicação entre o form e o subform, embora estejam relacionados pelos códigos de venda e cliente.


    CurrentDb.Execute "INSERT INTO tbl_backup SELECT * FROM tbl_VendasDet where CodTabDet= " & Formulários!Frm_Subform_Vendas!CodTabDet

    Mas uma vez agradeço pela partilha de conhecimentos e que Deus lhe retribua naquilo que você mais precisa em sua vida!
    avatar
    AlbertoG
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 39
    Registrado : 18/01/2015

    [Resolvido]Apagar todos os registros do SubForm  ao clicar em botão no formulário principal Empty Re: [Resolvido]Apagar todos os registros do SubForm ao clicar em botão no formulário principal

    Mensagem  AlbertoG 1/8/2015, 12:06

    Depois de muito estudar cada detalhe, consegui por fim resolver o problema!

    o código ficou assim:

    CurrentDb.Execute "INSERT INTO tbl_backup (CodTabDet, [CodigoVendas], [Produto], [Qtd], [ValorUnit]) SELECT CodTabDet, [CodigoVendas], [Produto], [Qtd], [ValorUnit] FROM tbl_VendasDet "

    CurrentDb.Execute "DELETE * FROM tbl_VendasDet WHERE CodigoVendas=" & Me.CodCli
    Me.Requery

    Dessa forma, tenho uma tabela tbl_backup que guarda os registros e ao mesmo tempo os mesmos são apagados da tabela tbl_DetVendas.

    Obrigado pela colaboração!

    Conteúdo patrocinado


    [Resolvido]Apagar todos os registros do SubForm  ao clicar em botão no formulário principal Empty Re: [Resolvido]Apagar todos os registros do SubForm ao clicar em botão no formulário principal

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 28/3/2024, 23:32