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]Seleção de produtos na tela de vendas

    Compartilhe
    avatar
    Ranyelton
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 10
    Registrado : 26/01/2017

    [Resolvido]Seleção de produtos na tela de vendas

    Mensagem  Ranyelton em Dom 30 Abr 2017, 17:58

    Olá Mestres Tudo Bom!?

    Estou trabalhando em um sistema de vendas e preciso de quando eu clicar em um botão exemplo: "ESCOLHER PRODUTO" abra uma caixa de listagem e ao escolher o produto ele ser adicionado em minha venda.



    Agradeço desde sempre,
    -Ranyelton


    Última edição por Ranyelton em Seg 01 Maio 2017, 20:39, editado 1 vez(es)

    enio.eltz
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 44
    Registrado : 19/07/2016

    Re: [Resolvido]Seleção de produtos na tela de vendas

    Mensagem  enio.eltz em Qua 03 Maio 2017, 20:38

    Olá

    Eu faria assim (não sei se é a forma mais correta):

    - O botão abre um formulário (pop-up ou não, depende da sua vontade) onde terá um campo de pesquisa e uma caixa de listagem com os dados dos produtos.
    - Ao digitar o produto na campo de pesquisa, ele mostra na caixa de listagem. Ao clicar duas vezes no produto na caixa de listagem, insere o produto na venda.

    Então, o botão tem um procedimento do evento "ao clicar" que vai abrir o formulário, assim:

    Código:
    Private Sub bt_pesquisa_vendas_Click()
        DoCmd.OpenForm "NOME_DO_FORMULARIO_ONDE_VOCE_VAI_PESQUISAR"
       
    End Sub

    O formulário onde você vai pesquisar terá uma caixa de texto que será onde você vai pesquisar. Não esqueça de dar um nome para ela, por exemplo campo_pesq_cod_prod
    Nessa caixa de texto você cria um procedimento do evento "ao alterar" com o código:

    Código:
    Private Sub campo_pesq_cod_prod_Change()
        Me.lst_produtos.Requery
       
    End Sub

    lst.produtos é o nome da caixa de listagem com os produtos.

    O formulário onde você vai pesquisar terá uma de listagem que será pesquisada. Não esqueça de dar um nome para ela, por exemplo lst_produtos

    Essa caixa de listagem terá como origem da linha sua tabela de produtos. Estou fazendo esse exemplo procurando o produto pelo nome, então na origem da linha, no campo COD_PRODUTO terá o campo critério assim:

    Como "*" & [Formulários]![NOME_DO_FORMULARIO_ONDE_VOCE_VAI_PESQUISAR].[campo_pesq_cod_prod].[Texto] & "*"

    Os valores "*" no início e no fim servem para procurar o que você digita em qualquer parte do nome do produto.

    Com isso você já consegue pesquisar. Uma vez que o produto foi pesquisado, criei uma regra para, ao clicar duas vezes no produto, insere na venda. Para isso, antes, eu criei 4 caixas de texto com os nomes abaixo para selecionar dados dos produtos pesquisados:

    campo_codigo_temp
    campo_descricao_temp
    campo_valor_temp
    campo_vlr_compra_temp

    Ao clicar duas vezes no produto pesquisado, o código abaixo vai preencher temporariamente as caixas de texto, limpar a pesquisa, e inserir o valor pesquisado na venda. Os nomes dos campos e tabelas estão de acordo com os meus campos:

    Código:
    Private Sub lst_produtos_DblClick(Cancel As Integer)
        Me.campo_codigo_temp.Value = Me.lst_produtos.Column(0)
        Me.campo_descricao_temp.Value = Me.lst_produtos.Column(2)
        Me.campo_valor_temp.Value = Me.lst_produtos.Column(3)
        Me.campo_vlr_compra_temp.Value = Me.lst_produtos.Column(4)
        Me.campo_codigo_temp.Requery
        Me.campo_descricao_temp.Requery
        Me.campo_valor_temp.Requery
        Me.campo_vlr_compra_temp.Requery
        Me.campo_pesq_prod_nome.Value = ""
        Me.lst_cad_prod.Requery
       
        Set DB = CurrentDb()
            Set rs = DB.OpenRecordset("tbl_CadVendasDetalhes")
           
            rs.AddNew
            rs("COD_ME_tbl_CadVendas") = Me.COD_tbl_CadVendas
            rs("COD_PRODUTO") = Me.campo_codigo_temp
            rs("DESC_PRODUTO") = Me.campo_descricao_temp
            rs("VALOR_ITEM_VEND") = Me.campo_valor_temp
            rs("VALOR_ITEM_COMP") = Me.campo_vlr_compra_temp
            rs.Update
           
            rs.Close
        DB.Close
           
        Me.fml_CadVendasDetalhes.Requery
       
    End Sub

    Bom trabalho!

    Enio




    avatar
    Ranyelton
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 10
    Registrado : 26/01/2017

    Muito Obrigado, Tenho uma dúvida.

    Mensagem  Ranyelton em Sex 05 Maio 2017, 17:38

    Sobre esse código:
    Código:
    Private Sub lst_produtos_DblClick(Cancel As Integer)
        Me.campo_codigo_temp.Value = Me.lst_produtos.Column(0)
        Me.campo_descricao_temp.Value = Me.lst_produtos.Column(2)
        Me.campo_valor_temp.Value = Me.lst_produtos.Column(3)
        Me.campo_vlr_compra_temp.Value = Me.lst_produtos.Column(4)
        Me.campo_codigo_temp.Requery
        Me.campo_descricao_temp.Requery
        Me.campo_valor_temp.Requery
        Me.campo_vlr_compra_temp.Requery
        Me.campo_pesq_prod_nome.Value = ""
        Me.lst_cad_prod.Requery
        
        Set DB = CurrentDb()
            Set rs = DB.OpenRecordset("tbl_CadVendasDetalhes")
            
            rs.AddNew
            rs("COD_ME_tbl_CadVendas") = Me.COD_tbl_CadVendas
            rs("COD_PRODUTO") = Me.campo_codigo_temp
            rs("DESC_PRODUTO") = Me.campo_descricao_temp
            rs("VALOR_ITEM_VEND") = Me.campo_valor_temp
            rs("VALOR_ITEM_COMP") = Me.campo_vlr_compra_temp
            rs.Update
            
            rs.Close
        DB.Close
            
        Me.fml_CadVendasDetalhes.Requery
        
    End Sub

    Nesta parte os campos são de qual formulário?

       
    Código:
    Me.campo_codigo_temp.Requery
        Me.campo_descricao_temp.Requery
        Me.campo_valor_temp.Requery
        Me.campo_vlr_compra_temp.Requery
        Me.campo_pesq_prod_nome.Value = ""
        Me.lst_cad_prod.Requery


    Agradeço, pela ajuda.
    Se puder gostaria de um exemplo na pratica.
    [Você precisa estar registrado e conectado para ver esta imagem.]

    enio.eltz
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 44
    Registrado : 19/07/2016

    Re: [Resolvido]Seleção de produtos na tela de vendas

    Mensagem  enio.eltz em Ter 09 Maio 2017, 17:31

    Boa tarde Ranyelton

    Segue o banco com as modificações.
    Verifiquei que você manteve alguns nomes de campos do meu banco no seu banco, aí não vai dar certo. Outra coisa, Quando o código abre a tabela Tbl_Vendas para adicionar valores, você digitou campos no código que não existia na tabela, aí não vai dar certo também.

    Fiz as modificações no seu banco. Alterei alguns nomes e tudo mais. Criei também no formulário de vendas um caixa de listagem e o campo de pesquisa. Então você tem dois exemplos de como fazer isso. Direto na tela de vendas e no formulário de pesquisa produtos que você criou. Os dois inserem o produto pesquisado clicando duas vezes no produto na caixa de listagem.

    Duas coisas:

    1 - Verifique os nomes dos campos no seu banco (tabelas, formulários, etc.). Na minha opinião não use acentuação, espaços, ç, etc.
    2 - Coloque as mensagens sempre no post. Não me importo em receber mensagens privadas. Assim, todos os usuários do fórum podem ver. Access não é o meu trabalho, não ganho dinheiro fazendo banco. Sou ajudado e ajudo quando posso, então vamos ajudar.

    Abraço.

    Enio Eltz Filho.
    Anexos
    SisMercado.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (569 Kb) Baixado 46 vez(es)
    avatar
    Ranyelton
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 10
    Registrado : 26/01/2017

    Re: [Resolvido]Seleção de produtos na tela de vendas

    Mensagem  Ranyelton em Qua 10 Maio 2017, 00:42

    Muito Obrigado!, Agora entendo como fazer.

    Desde Sempre, Agradeço:
    Ranyelton

    enio.eltz
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 44
    Registrado : 19/07/2016

    Re: [Resolvido]Seleção de produtos na tela de vendas

    Mensagem  enio.eltz em Qua 10 Maio 2017, 11:38

    Por nada.

    Não esqueça de marcar como concluído.
    avatar
    Ranyelton
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 10
    Registrado : 26/01/2017

    Valeu!

    Mensagem  Ranyelton em Ter 04 Jul 2017, 13:48

    Muito obrigado pessoal!

      Data/hora atual: Qua 22 Nov 2017, 19:57