MaximoAccess

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

Obrigado

Administração do MaximoAccess

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


    [Resolvido]Dblclick remove produto

    avatar
    ARGONZALE
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 156
    Registrado : 21/05/2015

    [Resolvido]Dblclick remove produto Empty [Resolvido]Dblclick remove produto

    Mensagem  ARGONZALE em 5/3/2019, 01:08

    Prezados, boa noite.

    Recebi este código aqui no Fórum que ao clicar insere os produtos no subformulário automaticamente:

    Private Sub Form_DblClick(Cancel As Integer)
    Dim DB As Database
    Set DB = CurrentDb()
    Dim rsP As DAO.Recordset 'Variavel para pegar a tabela

       Set rsP = DB.OpenRecordset("SELECT * FROM DetVendas")


    'Adiciono os dados na tabela DetVendas
       rsP.AddNew
       rsP("ID_Vendas") = Forms!Vendas!IDVendas
       rsP("ID_Produtos") = Me.Lista0.Column(0)
       rsP("QtdeSaida") = "1"
       rsP.Update
         

    'Fecha as Conexoes abertas
    Set DB = Nothing
    Set rsP = Nothing
    'atualiza o subformulario
    Me.Lista0.Requery

    End Sub

    Pergunto se teria como fazer o processo reverso, ao clicar em outro botão ele remove o produto inserido?

    Poderiam me ajudar com o código?

    Fico no aguardo e agradeço desde já.


    .................................................................................
    Obrigado.

    Att.

    Alexandre Gonzales
    scandinavo
    scandinavo
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 661
    Registrado : 11/11/2009

    [Resolvido]Dblclick remove produto Empty Re: [Resolvido]Dblclick remove produto

    Mensagem  scandinavo em 5/3/2019, 13:31

    Adapta ai no evento  ao clicar do botão

    If MsgBox("Deseja excluir o registro atual?", vbQuestion + vbYesNo, "Confirma??o") = vbNo Then Exit Sub

    CurrentDb.Execute ("DELETE * from DetVendas where ID_Vendas=" & ID_Vendas &  "")

    MsgBox "Registro excluido com sucesso!", vbInformation, "Aviso!"

    'atualiza o subformulario
    Me.Lista0.Requery
    avatar
    ARGONZALE
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 156
    Registrado : 21/05/2015

    [Resolvido]Dblclick remove produto Empty Re: [Resolvido]Dblclick remove produto

    Mensagem  ARGONZALE em 5/3/2019, 14:02

    Bom dia Scandinavo, tudo bem meu camarada?

    Esse código deu o seguinte erro: Erro de sintaxe (operador faltando) na expressão de consulta 'ID_Vendas='

    Não funcionou.

    Coloquei entre aspas mas ele exclui todos os produtos lançados:

    CurrentDb.Execute ("DELETE * from DetVendas where ID_Vendas=" & "ID_Vendas" & "")


    .................................................................................
    Obrigado.

    Att.

    Alexandre Gonzales
    scandinavo
    scandinavo
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 661
    Registrado : 11/11/2009

    [Resolvido]Dblclick remove produto Empty Re: [Resolvido]Dblclick remove produto

    Mensagem  scandinavo em 5/3/2019, 14:27

    então seria um produto dentro de uma lista de produtos cuja chave é o id vendas?

    isso ai esta errado
    CurrentDb.Execute ("DELETE * from DetVendas where ID_Vendas=" & "ID_Vendas" & "")

    tente

    CurrentDb.Execute ("DELETE * from DetVendas where ID_Vendas=" & me.ID_Vendas & "") se o campo id vendas for numero



    ou



    CurrentDb.Execute ("DELETE * from DetVendas where ID_Vendas='" & me.ID_Vendas & "'") se o campo id vendas for texto
    avatar
    ARGONZALE
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 156
    Registrado : 21/05/2015

    [Resolvido]Dblclick remove produto Empty Re: [Resolvido]Dblclick remove produto

    Mensagem  ARGONZALE em 8/3/2019, 03:37

    Boa noite Scandinavo,

    Acho que esqueci de mencionar que os dados estão agrupados por quantidade.

    Na Fonte de Registro eu agrupei a Quantidade por Soma para que o sistema mostrasse apenas um registro mas com a quantidade somada.

    Ou seja, meu botão Adicionar insere o produto no subform DetVendas e cada clique neste botão ele aumenta a quantidade mas não o registro ou ID.

    Desta forma, quando eu clico no botão para ele excluir nada acontece.


    Última edição por ARGONZALE em 8/3/2019, 18:22, editado 1 vez(es)


    .................................................................................
    Obrigado.

    Att.

    Alexandre Gonzales
    scandinavo
    scandinavo
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 661
    Registrado : 11/11/2009

    [Resolvido]Dblclick remove produto Empty Re: [Resolvido]Dblclick remove produto

    Mensagem  scandinavo em 8/3/2019, 08:47

    e preciso ver a estrutura do seu sistema
    avatar
    ARGONZALE
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 156
    Registrado : 21/05/2015

    [Resolvido]Dblclick remove produto Empty Re: [Resolvido]Dblclick remove produto

    Mensagem  ARGONZALE em 8/3/2019, 11:35

    OK Scandinavo.

    À noite eu posto o BD aqui.


    .................................................................................
    Obrigado.

    Att.

    Alexandre Gonzales
    avatar
    ARGONZALE
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 156
    Registrado : 21/05/2015

    [Resolvido]Dblclick remove produto Empty Re: [Resolvido]Dblclick remove produto

    Mensagem  ARGONZALE em 8/3/2019, 18:25

    Boa tarde.

    Scandinavo, segue meu BD!!!

    Lembrando que o botão + adiciona os produtos e o botão - deveria remover os produtos um a um.
    Anexos
    [Resolvido]Dblclick remove produto AttachmentExemploBD.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (173 Kb) Baixado 6 vez(es)


    .................................................................................
    Obrigado.

    Att.

    Alexandre Gonzales
    scandinavo
    scandinavo
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 661
    Registrado : 11/11/2009

    [Resolvido]Dblclick remove produto Empty Re: [Resolvido]Dblclick remove produto

    Mensagem  scandinavo em 10/3/2019, 13:09

    Duas maneiras de se fazer isso (Coloque o código no botão)

    1 utilizando o mesmo código mas adicionado -1 uma saída negativa

    Dim DB As Database
    Set DB = CurrentDb()
    Dim rsP As DAO.Recordset 'Variavel para pegar a tabela

    Set rsP = DB.OpenRecordset("SELECT * FROM DetVendas")


    'Adiciono os dados na tabela DetVendas
    rsP.AddNew
    rsP("ID_Vendas") = Forms!Vendas!IDVendas
    rsP("ID_Produtos") = Me.Lista0.Column(0)
    rsP("QtdeSaida") = "-1" 'colocar um saída negativa devolvendo o produto ao estoque
    rsP.Update


    'Fecha as Conexoes abertas
    Set DB = Nothing
    Set rsP = Nothing
    'atualiza o subformulario
    Me.Lista0.Requery
    Forms!Vendas!DetVendas_exibe.Requery
    Forms!Vendas!DetVendas_Resumida.Requery
    Forms!Vendas![Saldo-Estoque].Requery


    ou excluindo uma linha da tabela

    lembrando que se não houver registro para excluir vai da erro
    mas isso não ocorrer coloque um Dcount de verificação antes deste codigo


    'Adaptado de um código que exclui duplicatas não é de minha autoria fonte Dicas access
    Dim mysql As String, rs As DAO.Recordset, rs2 As DAO.Recordset
    '----------------------------------------------------------------
    'Monta a consulta que localiza as duplicadas
    '----------------------------------------------------------------
    mysql = "SELECT First(ID_Produtos) AS Produto "
    mysql = mysql & "FROM DetVendas "
    mysql = mysql & "where ID_Vendas=" & Me.Parent.IDVendas & " and ID_Produtos = " & Me.Lista0.Column(0) & ""
    Set rs = CurrentDb.OpenRecordset(mysql)
    Do While Not rs.EOF
    '--------------------------------------------------------------------------------------
    'Abre apenas 1 registro para exclus?o, de uma duplicada selecionada
    '--------------------------------------------------------------------------------------
    mysql = "SELECT top 1 ID_Produtos FROM DetVendas "
    mysql = mysql & "WHERE ID_Produtos=" & rs!Produto & ";"
    Set rs2 = CurrentDb.OpenRecordset(mysql)
    rs2.Delete
    rs2.Close
    '---------------------------------------
    'Vai para pr?xima duplicada
    '---------------------------------------
    rs.MoveNext
    Loop
    rs.Close
    Set rs2 = Nothing
    Set rs = Nothing

    'atualiza o subformulario
    Me.Lista0.Requery
    Forms!Vendas!DetVendas_exibe.Requery
    Forms!Vendas!DetVendas_Resumida.Requery
    Forms!Vendas![Saldo-Estoque].Requery




    Ate mais
    avatar
    ARGONZALE
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 156
    Registrado : 21/05/2015

    [Resolvido]Dblclick remove produto Empty Re: [Resolvido]Dblclick remove produto

    Mensagem  ARGONZALE em 10/3/2019, 14:52

    Bom dia,

    Scandinavo, muito top.

    A 2ª opção se aplicou perfeitamente ao meu projeto. Está perfeito!!!

    Espero que este tópico ajude mais colegas com a mesma dúvida.


    .................................................................................
    Obrigado.

    Att.

    Alexandre Gonzales
    scandinavo
    scandinavo
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 661
    Registrado : 11/11/2009

    [Resolvido]Dblclick remove produto Empty Re: [Resolvido]Dblclick remove produto

    Mensagem  scandinavo em 10/3/2019, 16:10

    o segundo código está com erro se estiver mais de uma id venda exclui mas da venda errada e preciso arrumar o filtro. da primeira linha sql
    avatar
    ARGONZALE
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 156
    Registrado : 21/05/2015

    [Resolvido]Dblclick remove produto Empty Re: [Resolvido]Dblclick remove produto

    Mensagem  ARGONZALE em 10/3/2019, 23:25

    Eu vi que deu erro e tentei a segunda opção que funcionou.

    Coloquei um botão "excluir" com o segundo código que você me passou dentro do 1º form Saldo-Estoque e ele excluiu certinho mas dentro do segundo form ele apresenta:

    Erro de Sintaxe (operador faltando) na expressão de consulta 'ID_Produtos=".

    Mesmo assim que vou adaptar para que faça excluir certinho.


    .................................................................................
    Obrigado.

    Att.

    Alexandre Gonzales
    scandinavo
    scandinavo
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 661
    Registrado : 11/11/2009

    [Resolvido]Dblclick remove produto Empty Re: [Resolvido]Dblclick remove produto

    Mensagem  scandinavo em 11/3/2019, 12:13

    Código corrigido.


    'Verifica se tem o produto na comanda
    If DCount("ID_Produtos", "DetVendas", "ID_Vendas = " & Me.Parent.IDVendas & " And ID_Produtos = " & Me.Lista0.Column(0) & "") = 0 Then Exit Sub

    Dim mysql As String, rs As DAO.Recordset, rs2 As DAO.Recordset
    '----------------------------------------------------------------
    'Monta a consulta que localiza as duplicadas
    '----------------------------------------------------------------
    'mysql = "SELECT First(ID_Produtos)AS Produto"
    mysql = "SELECT *"
    mysql = mysql & "FROM DetVendas "
    mysql = mysql & "where ID_Vendas=" & Me.Parent.IDVendas & " and ID_Produtos = " & Me.Lista0.Column(0) & ""
    Set rs = CurrentDb.OpenRecordset(mysql)
    'Do While Not rs.EOF
       '--------------------------------------------------------------------------------------
       'Abre apenas 1 registro para exclus?o, de uma duplicada selecionada
       '--------------------------------------------------------------------------------------
       mysql = "SELECT top 1 ID_Produtos FROM DetVendas "
       mysql = mysql & "WHERE ID_Produtos=" & rs!ID_Produtos & " And Id_Vendas=" & rs!ID_Vendas & ";"
       Set rs2 = CurrentDb.OpenRecordset(mysql)
       rs2.Delete
       rs2.Close
       '---------------------------------------
       'Vai para pr?xima duplicada
       '---------------------------------------
       'rs.MoveNext
    'Loop
    rs.Close
    Set rs2 = Nothing
    Set rs = Nothing

    'atualiza o subformulario
    Me.Lista0.Requery
    Forms!Vendas!DetVendas_exibe.Requery
    Forms!Vendas!DetVendas_Resumida.Requery
    Forms!Vendas![Saldo-Estoque].Requery
    Anexos
    [Resolvido]Dblclick remove produto AttachmentExemploBD2.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (278 Kb) Baixado 4 vez(es)
    avatar
    ARGONZALE
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 156
    Registrado : 21/05/2015

    [Resolvido]Dblclick remove produto Empty Re: [Resolvido]Dblclick remove produto

    Mensagem  ARGONZALE em 11/3/2019, 13:26

    Bom dia Sacandinavo,

    Estou testando seu código aqui e está funcionando perfeitamente.

    Eu percebi que quando adicionamos os produtos no segundo e terceiro formulário eles seguem a ordem de lançamento do primeiro formulário [Saldo-Estoque].

    Tentei colocar este botão de excluir no último formulário para facilitar a exclusão caso o cliente desista do produto ou troque por outro e ele não exclui como deveria.

    Este código foi criado pensando na opção de exclusão do primeiro formulário e nos outros ele não funciona muito bem devido a ordem de lançamento dos produtos.

    Eu agradeço pela ajuda!!!


    .................................................................................
    Obrigado.

    Att.

    Alexandre Gonzales
    scandinavo
    scandinavo
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 661
    Registrado : 11/11/2009

    [Resolvido]Dblclick remove produto Empty Re: [Resolvido]Dblclick remove produto

    Mensagem  scandinavo em 11/3/2019, 17:35

    pelo que eu vi o primeiro formulário controla os outros dois removendo o produto do primeiro os outros 2 são corrigidos automaticamente
    avatar
    ARGONZALE
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 156
    Registrado : 21/05/2015

    [Resolvido]Dblclick remove produto Empty Re: [Resolvido]Dblclick remove produto

    Mensagem  ARGONZALE em 11/3/2019, 17:48

    Exatamente.

    O primeiro Formulário controla os demais e por isso, ao colocar este botão "excluir" ele não se comporta como deveria.

    Ao excluir o terceiro item ele exclui o primeiro. Eu adaptei para excluir no modo convencional (criei outro subformulário não agrupado e puxo ele na tecla de atalho vinculado ao IDVendas)

    De qualquer forma, muito obrigado pela ajuda Scandinavo. Agradeço o aprendizado!!!


    .................................................................................
    Obrigado.

    Att.

    Alexandre Gonzales

    Conteúdo patrocinado

    [Resolvido]Dblclick remove produto Empty Re: [Resolvido]Dblclick remove produto

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 25/8/2019, 00:10