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

    [Resolvido]Loop no Formulário de produtos

    avatar
    ARGONZALE
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Loop no Formulário de produtos Empty [Resolvido]Loop no Formulário de produtos

    Mensagem  ARGONZALE 15/4/2021, 23:29

    Prezados, boa noite.

    Meu Bd tem um formulário que mostra as vendas de um determinado cliente (filtrado pelo telefone pra não dar erro de confundir pelo nome).

    Resumindo: Preciso pegar a última venda feita para este cliente a realizá-la novamente mas na hora de fazer o loop pelo formulário de produtos ele não faz, apenas copia o primeiro registro.

    Preciso de ajuda com o código abaixo para ele fazer o Loop percorrar todo o form de produtos.

    Código:
    Dim rs As DAO.Recordset
        Dim tbl As DAO.Recordset
        
        'Abre a tabela que receberá os dados
        Set tbl = CurrentDb.OpenRecordset("DetVendas")
            
        'carrega os dados do subformulário
        Set rs = Forms!Det_Sub_Duplica.Form.RecordsetClone
            
        'Percorre os registros do subformulário um a um
        
        rs.MoveFirst 'Informo para comecar do inicio
        
        Do While Not rs.EOF
          
             'Copia os dados do subformulário para a tabela
        tbl.AddNew
          
           tbl!ID_Vendas = Forms!Vendas!IDVendas
           'Forms!Vendas!DetVendas_1!ID_Vendas = Forms!Det_Sub_Duplica!ID_Vendas
           tbl!ID_Produtos = Forms!Det_Sub_Duplica!ID_Produtos
           'tbl!txt_produtos = Forms!Det_Sub_Duplica!txt_produtos
           tbl!txt_descricao = Forms!Det_Sub_Duplica!txt_descricao
           tbl!QtdeSaida = Forms!Det_Sub_Duplica!QtdeSaida
           tbl!preco_vendido = Forms!Det_Sub_Duplica!preco_vendido
           tbl!Obs = Forms!Det_Sub_Duplica!Obs
           tbl!ID_pao = Forms!Det_Sub_Duplica!ID_pao        
           tbl!sem_ovo = Forms!Det_Sub_Duplica!sem_ovo
           tbl!sem_mussarela = Forms!Det_Sub_Duplica!sem_mussarela
                  
           tbl.Update
           'vai para o próximo registro do subformulário
            rs.MoveNext
            Loop
            
        
        tbl.Close
        rs.Close
        Set tbl = Nothing
        Set rs = Nothing
        Set db = Nothing
        'MsgBox "Dados copiados...", vbInformation, "Msg"
        ''*******************************************
        Forms!Vendas!DetVendas_1.Form.Requery


    .................................................................................
    Att.

    Alexandre Gonzales
    luissiscone
    luissiscone
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 178
    Registrado : 16/02/2011

    [Resolvido]Loop no Formulário de produtos Empty Re: [Resolvido]Loop no Formulário de produtos

    Mensagem  luissiscone 16/4/2021, 20:43

    Opa, boa tarde

    Olha se te atende !
    Anexos
    [Resolvido]Loop no Formulário de produtos AttachmentCópia.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (34 Kb) Baixado 19 vez(es)
    avatar
    ARGONZALE
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Loop no Formulário de produtos Empty Re: [Resolvido]Loop no Formulário de produtos

    Mensagem  ARGONZALE 17/4/2021, 17:46

    Boa tarde luissiscone,

    Agradeço pelo tempo desprendido em me ajudar.

    Seu código fez o mesmo que o meu. Ele copia o primeiro registro e não vai para o segundo.

    Explicando melhor meu sistema:

    Ao abrir um Form eu digito o telefone do cliente e aparecem todas as Compras que ele fez (ID, Senha, Data, Valor da Compra, etc...) em modo Formulário Contínuo.

    No canto de cada compra tem um botão chamado Detalhe... segue foto:

    [Resolvido]Loop no Formulário de produtos Form_p10

    Ao clicar nele mostra um Subform com os produtos da compra, segue foto:

    [Resolvido]Loop no Formulário de produtos Detahe10

    Ao clicar no campo Registro ele pergunta se deseja duplicar a venda e ao confirmar ele abre o Formulário de Vendas e faz as cópias solicitadas.

    Estes são os dados que o código deveria copiar ao criar os registros:
    [Resolvido]Loop no Formulário de produtos Venda10


    Após rodar seu código ou o meu ele cria os registros no Subformulário e copia os dados mas duplica somente o primeiro registro:
    [Resolvido]Loop no Formulário de produtos Detalh11

    Espero que tenha entendido como criei a rotina do meu BD e se puder analisar estes dados eu agradeceria.


    .................................................................................
    Att.

    Alexandre Gonzales
    avatar
    ARGONZALE
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Loop no Formulário de produtos Empty Re: [Resolvido]Loop no Formulário de produtos

    Mensagem  ARGONZALE 19/4/2021, 02:16

    Prezados, boa noite.

    Só dando um up aqui para ficar no topo dos pedidos sem resultado.

    Se alguém conseguir identificar onde estou errando eu agradeço pois vou utilizar em outros projetos.

    Desde já agradeço.


    .................................................................................
    Att.

    Alexandre Gonzales
    luissiscone
    luissiscone
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 178
    Registrado : 16/02/2011

    [Resolvido]Loop no Formulário de produtos Empty Re: [Resolvido]Loop no Formulário de produtos

    Mensagem  luissiscone 19/4/2021, 14:33

    Bom dia

    O exemplo em anexo faz o vinculo da sua venda ID, com o ID da venda nos seus itens de venda, é o mais próximo que consegui chegar do seu objetivo através de loop.

    Dá uma olhada se consegue aproveitar alguma coisa...
    Anexos
    [Resolvido]Loop no Formulário de produtos AttachmentCópia.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (99 Kb) Baixado 13 vez(es)
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1446
    Registrado : 13/12/2016

    [Resolvido]Loop no Formulário de produtos Empty Re: [Resolvido]Loop no Formulário de produtos

    Mensagem  Alexandre Fim 19/4/2021, 17:33

    Olá. Só passando aqui pra deixar um pitaco!

    ARGONZALE,

    Se você precisa somente da ultima compra do cliente, basta criar uma consulta utilizando o operador MAX da data da última venda e filtrar o formulário.

    Espero ter ajudado

    []'s


    FIM



    .................................................................................
    - Procure sempre anexar seu projeto para análise do problema/dúvida.
    - Ao copiar/colar um código VBA, procure entender seu funcionamento.
    - Se o problema foi resolvido, não se esqueça de marcar o tópico como RESOLVIDO.
    avatar
    ARGONZALE
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Loop no Formulário de produtos Empty Re: [Resolvido]Loop no Formulário de produtos

    Mensagem  ARGONZALE 19/4/2021, 22:42

    Boa noite,

    luissiscone, vou estudar seu código agora.

    Alexandre FIM,

    Seus pitacos são sempre Bem Vindos e geralmente são a solução dos problemas. Na verdade eu não preciso só pegar a ultima compra (isto eu já montei). Preciso que ele copie esta compra para uma nova. O que tá encrespando é que ao fazer o Loop pelo SubForm de produtos ele não vai para o próximo registro (vai de novo para o primeiro registro de produtos e copia).

    Tenho este código:

    Código:
    Dim rs As DAO.Recordset
        Dim tbl As DAO.Recordset
          
        'Abre a tabela que receberá os dados
        Set tbl = CurrentDb.OpenRecordset("DetVendas")
            
        'carrega os dados do subformulário
        Set rs = Forms!Det_Sub_Duplica.Form.RecordsetClone
            
        'Percorre os registros do subformulário um a um
        
        rs.MoveFirst 'Informo para comecar do inicio
        
        Do While Not rs.EOF
          
             'Copia os dados do subformulário para a tabela
        tbl.AddNew      
            tbl!ID_Vendas = Forms!Vendas!IDVendas
            tbl!ID_Produtos = Forms!Det_Sub_Duplica!ID_Produtos
            tbl!txt_produtos = Forms!Det_Sub_Duplica!txt_produtos
            tbl!QtdeSaida = Forms!Det_Sub_Duplica!QtdeSaida
                                
            tbl.Update
           'vai para o próximo registro do subformulário
            rs.MoveNext
            Loop
            
        
        tbl.Close
        rs.Close
        Set tbl = Nothing
        Set rs = Nothing
        Set db = Nothing
        'MsgBox "Dados copiados...", vbInformation, "FT"
        ''*******************************************
        ''DoCmd.RunCommand acCmdSaveRecord 'Salvo o Registro antes de começar a selecionar os dados
        Forms!Vendas!DetVendas_1.Form.Requery

    Vou estudar o código que o luissiscone me enviou e ver se consigo adaptar.


    .................................................................................
    Att.

    Alexandre Gonzales
    avatar
    ARGONZALE
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Loop no Formulário de produtos Empty Re: [Resolvido]Loop no Formulário de produtos

    Mensagem  ARGONZALE 20/4/2021, 18:52

    Prezados, muito boa tarde.

    Consegui montar um BD fiel ao meu e assim ficar mais fácil de verificar onde estou errando:

    luissiscone,

    Neste BD eu tenho:

    Frm_Vendas e o Subformulário Frm_vendasdetalhe vinculados pelo IDVendas e ID_vendas.

    Para a cópia dos dados tenho o Formulário Historico e o Subformulário Historico_detalhe.

    Ao clicar no campo IDVendas ele cria a nova venda, copia os dados mas não roda o Loop para pegar o próximo registro da Tabela Tab_Detalhe.

    Se puderem observar este modelo me ajudaria muito.

    Agradeço a atenção desde já!!!!
    Anexos
    [Resolvido]Loop no Formulário de produtos Attachmentexemplo - Loop_produtos.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (480 Kb) Baixado 8 vez(es)


    .................................................................................
    Att.

    Alexandre Gonzales
    luissiscone
    luissiscone
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 178
    Registrado : 16/02/2011

    [Resolvido]Loop no Formulário de produtos Empty Re: [Resolvido]Loop no Formulário de produtos

    Mensagem  luissiscone 20/4/2021, 20:43

    Opa, boa tarde

    Olha isso que você quer dá pra fazer sem loop...dá uma olhada, só que precisei alterar seu exemplo para chegar ao resultado.
    Anexos
    [Resolvido]Loop no Formulário de produtos Attachmentexemplo - Loop_produtos.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (423 Kb) Baixado 15 vez(es)
    avatar
    ARGONZALE
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Loop no Formulário de produtos Empty Re: [Resolvido]Loop no Formulário de produtos

    Mensagem  ARGONZALE 22/4/2021, 15:35

    Prezados, bom dia.

    luissiscone,

    O simples é muito melhor. Muito obrigado pela ajuda.

    Tópico Resolvido.


    .................................................................................
    Att.

    Alexandre Gonzales
    avatar
    ARGONZALE
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Loop no Formulário de produtos Empty Re: [Resolvido]Loop no Formulário de produtos

    Mensagem  ARGONZALE 22/4/2021, 21:43

    Boa tarde,

    luissiscone,

    Dei o tópico como resolvido porque você conseguiu me ajudar mas a situação mudou um pouquinho e para não abrir outro Tópico vou utilizar este mesmo (não sei se posso fazer isso mas já fiz).

    O código copia os dados de vendas e dos produtos.

    Mas e se eu tiver subprodutos para incluir na Venda, por exemplo.

    O Cliente compra um sapato e eu também vendo as meias. Compra Botas e eu vendo cintas. Seriam vendas casada por tipo de produto.

    O código precisa copiar também da tabela Tab_detalhe_Adicionais.

    Anexo exemplo reformulado do BD, agradeço a ajuda e pelo desculpas pelo transtorno.

    Tentei trabalhar com seu código e fiquei com dor de cabeça mas não consegui.
    Anexos
    [Resolvido]Loop no Formulário de produtos Attachmentexemplo - Loop_produtos.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (462 Kb) Baixado 8 vez(es)


    .................................................................................
    Att.

    Alexandre Gonzales
    luissiscone
    luissiscone
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 178
    Registrado : 16/02/2011

    [Resolvido]Loop no Formulário de produtos Empty Re: [Resolvido]Loop no Formulário de produtos

    Mensagem  luissiscone 23/4/2021, 19:51

    Alexandre, boa tarde.

    Infelizmente, na modelagem atual depois de várias tentativas, não consegui implementar algo que resolva, (Não alterei suas tabelas, pois não sei a rotina que está por trás do seu sistema).

    Vou explanar aqui o que eu percebi na modelagem atual, claro, não descartando que talvez alguém aqui no Fórum possa ter alguma solução que não estamos enxergando.

    É o seguinte, da forma que está hoje, este item casado está amarrado ao IDDetalhe e não ID do item da venda e ao ID da venda, cada hora ele vai ser diferente ex.:

    Venda 95, item 1 Sapato, IDDetalhe 100, Item casado 4 meia amarrado ao IDDetalhe 100;
    Venda 95, item 2 Sandalia, IDDetalhe 101, Item casado 5 cinto amarrado ao IDDetalhe 101;
    Venda 95, item 3 Bota, IDDetalhe 102, Item casado 4 meia amarrado ao IDDetalhe 102;

    Na cópia, os ID's da Tab_detalhe_Adicionais, terão que seguir o ID da Tab_detalhe então:
    96 - 103
    96 - 104
    96 - 105

    O problema é que não tem amarração da Venda e do item da venda na Tab_detalhe_Adicionais o que dificulta a criação desta cópia.

    Em resumo, talvez se rever a possibilidade de amarrar este item casado a venda e ao ID do item da venda, facilite bastante a cópia (Isso não quer dizer que é a solução, pode haver necessidade de mais alterações).

    Obs.: Como eu disse pode ter alguém aqui no Fórum com uma visão além desta.
    avatar
    ARGONZALE
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Loop no Formulário de produtos Empty Re: [Resolvido]Loop no Formulário de produtos

    Mensagem  ARGONZALE 23/4/2021, 20:19

    Prezados, boa tarde.

    luissiscone, agradeço muito seu retorno.

    Sua visão do BD está perfeita. A venda casada está amarrada de acordo com os moldes padronizados.

    IDVendas (Campo Pai) do formulário Frm_vendas  com ID_vendas (Campo filho) do formulário Frm_vendasdetalhe;

    IDDetalhe(Campo Pai) do formulário Frm_vendasdetalhe com ID_Detalhe do formulário Frm_Adicionais;

    Pensei muito sobre o assunto e não vi sentido em fazer uma venda sem casar com a necessidade do cliente. Veja:

    O cliente comprou um chinelo e uma bota, então o cinto deve estar amarrado à venda da bota e não a venda do chinelo.

    Poderia lançar o cinto na venda em geral mas e quando o cliente comprar dois itens e somente em um dele tiver o cinto lançado?

    Um exemplo bastante simples seria o de uma lanchonete:

    O cliente compra dois lanches me pede que somente em 01 seja colocado cebola e no outro não. A Cozinha não saberia em qual dele a cebola deveria ser colocada.

    Por isso a necessidade de amarrar em qual produto o subproduto deverá ser atrelado.

    Se meu pensamento estiver errado, por favor me corrija.

    Até consegui fazer a cópia outros itens da tabela Tab_detalhe_Adicionais mas ele não copia o ID_Detalhe = IDDetalhe da tabela Tab_detalhe:

    DoCmd.RunSQL "INSERT INTO Tab_detalhe_Adicionais ( ID_Adicionais, Qtde_Adicionais, txt_adicionais, ID_Detalhe )SELECT Tab_detalhe_Adicionais.ID_Adicionais" _
    & "Tab_detalhe_Adicionais.Qtde_Adicionais, Tab_detalhe_Adicionais.txt_adicionais, [Formulários]![Frm_vendas]![Frm_vendasdetalhe]![IDDetalhe ] AS ID_Detalhe FROM Tab_detalhe WHERE (((Tab_detalhe_Adicionais.ID_Detalhe )=[Formulários]![Historico]![Historico_detalhe]![ID_Detalhe ]))"


    .................................................................................
    Att.

    Alexandre Gonzales
    Noobezinho
    Noobezinho
    Moderador
    Moderador

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4121
    Registrado : 29/06/2012

    [Resolvido]Loop no Formulário de produtos Empty Re: [Resolvido]Loop no Formulário de produtos

    Mensagem  Noobezinho 23/4/2021, 21:06

    Senhores

    Creio que o que está "pegando", é o fato de ter 3 tabelas de estoque.
    Controle de estoque se faz com uma tabela apenas para todos produtos,
    não existe sub produto e nem venda casada.
    Caso queira diferenciar produtos e sub produtos,  usa-se um campo na tabela.
    Veja que com isso, irá eliminar duas tabelas.
    Assim, ficará mais fácil de conseguir os critérios que precisa, e para isso usa-se esses campos que citei.
    Então o loop será nas tabelas e não nos formulários.
    Não sei como está o relacionamento do projeto, neste exemplo
    faltou a tabela principal  de clientes que deve está relacionado com vendas e  ela com o detalhes da venda.

    Espero ter ajudado!

    { }'s

    Noobezinho


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    avatar
    ARGONZALE
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Loop no Formulário de produtos Empty Re: [Resolvido]Loop no Formulário de produtos

    Mensagem  ARGONZALE 23/4/2021, 21:18

    Boa tarde Noobezinho,

    Agradeço pelo retorno.

    Vou estudar meu BD e realizar as modificações necessárias. Desta forma o código do luissiscone vai fazer o que preciso 100%.

    Volto aqui para postar o resultado.

    Obrigado.


    .................................................................................
    Att.

    Alexandre Gonzales
    Noobezinho
    Noobezinho
    Moderador
    Moderador

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4121
    Registrado : 29/06/2012

    [Resolvido]Loop no Formulário de produtos Empty Re: [Resolvido]Loop no Formulário de produtos

    Mensagem  Noobezinho 23/4/2021, 21:42

    Ia me esquecendo.

    Faltou algo que te ajudará muito.

    Crie 2 tabelas, vou chamar de orçamentos e detalhes de orçamentos, dai escolha qual nome dar

    com isso terá 2 formulários, um principal e outro subform.

    Nele irá relacionando o que o cliente está comprando, form. principal com id do orçamento, Nome do cliente(combo, primeira coluna id_cliente,nomecliente) data do orçamento e id do Caixa (venda)
    no sub form. vai a relação de produtos que está sendo comprados, e a id_orçamento.
    Quem irá preencher esses formulários é o vendedor.
    É como se fosse uma comanda de restaurante.
    No formulário terá um botão para efetuar a venda, que irá preencher automaticamente  a tabela venda e detalhe da venda.
    Os dados para fazer outra venda numa outra ocasião serão pegos desse orçamento .^^

    Bom dei minhas sugestões, agora se vira nos 30!  Razz  Razz

    Lógico que se precisar, estamos aqui.

    Balem


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    avatar
    ARGONZALE
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Loop no Formulário de produtos Empty Re: [Resolvido]Loop no Formulário de produtos

    Mensagem  ARGONZALE 23/4/2021, 22:06

    Noobezinho,

    Agradeço o retorno.

    Este BD que foi apenas um exemplo que peguei para ser mais prático. O sistema que estou finalizando roda sobre uma lanchonete então vou me ater à ele.

    Criei a Tabela de Vendas, Detalhe_de_Vendas e Detalhe_Adicionais.

    A Venda é simples;

    Os produtos desta venda são lançados normalmente;

    Mas e se o cliente faz o pedido do lanche por exemplo e pede para colocar adicionais.

    Se não tiver a tabela Detalhe_Adicionais onde seriam lançados estes produtos (Adicionais)?

    Esta terceira tabela Detalhe_Adicionais amarra os subprodutos ao produto.

    O sistema roda normalmente sem problemas, o que está ocorrendo é que se eu quiser pegar o último pedido de um determinado cliente e lançá-lo novamente, ao invés de digitar tudo de novo eu pego o registro e copio.

    Nosso colega luissiscone me ajudou com a copia da Venda e dos produtos mas os subprodutos não são copiados.

    Vi que você tem experiência no assunto.

    Consegue me ajudar?


    .................................................................................
    Att.

    Alexandre Gonzales
    Noobezinho
    Noobezinho
    Moderador
    Moderador

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4121
    Registrado : 29/06/2012

    [Resolvido]Loop no Formulário de produtos Empty Re: [Resolvido]Loop no Formulário de produtos

    Mensagem  Noobezinho 23/4/2021, 22:20

    Então, entendi agora

    Posso tentar, não sou dono da verdade não, sou Noobezinho ainda.

    Vou estudar esse teu projeto que tenho aqui, assim que puder eu respondo aqui, ok?

    { }'s








    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    avatar
    ARGONZALE
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Loop no Formulário de produtos Empty Re: [Resolvido]Loop no Formulário de produtos

    Mensagem  ARGONZALE 23/4/2021, 22:25

    Noobezinho,

    Qualquer ajuda é bem vinda, sempre.


    .................................................................................
    Att.

    Alexandre Gonzales
    avatar
    ARGONZALE
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Loop no Formulário de produtos Empty Re: [Resolvido]Loop no Formulário de produtos

    Mensagem  ARGONZALE 28/4/2021, 17:24

    Prezados, boa tarde.

    Trago aqui a solução do problema sobre o Loop no Formulário de produtos.

    Professores: Noobezinho, Scandinavo e luissiscone.

    Já começo falando que esses caras são feras, tanto na inteligência quanto na forma respeitosa de tratar as pessoas e agradeço muito a ajuda que me deram.

    O BD passou por analises destes caras que trouxeram a solução que compartilho aqui.

    A ideia era a seguinte: fazer uma venda, adicionar produtos a esta venda e se o cliente quisesse poderia adicionar subprodutos ao produtos escolhido, exemplo:

    Venda de um sapato e com este sapato adiciona um par de meias.

    Ou se preferirem uma referência melhor:

    Venda de um Big Mac com adicional de cebola. O sistema copia a venda, copia os produtos e copia os adicionais que estão vinculados a cada produto.

    Anexo o BD para os interessados com o código adaptado e melhorado em 100% pelo Scandinavo. O código fornecido pelo luissiscone funciona 100% também para o loop de vendas e produtos. E o Noobezinho teve que me aguentar tirar as dúvidas e ficar de cabelo branco.

    Segue BD em anexo e código abaixo.

    Obrigado à todos:

    Código:
    Private Sub IDVendas_Click()

    If MsgBox("Deseja copiar todos os registros ?", vbInformation + vbYesNo, "Atenção !") = vbYes Then
        DoCmd.OpenForm "Frm_vendas", , , , AddNew
        Forms!Frm_vendas!Data_Venda = Date
        Forms!Frm_vendas!texto = Forms![Historico]!texto
        Forms!Frm_vendas!Valor_venda = Forms![Historico]!Valor_venda
        Forms!Frm_vendas.Recordset.MoveLast    
      
    '******************************* Copia dos produtos *******************************
        
        Dim rs, rsA As DAO.Recordset
        Dim tbl, tblAdicional As DAO.Recordset
        Set db = CurrentDb()
        Dim NovoNumero As Integer
        '--------------------------------------------
        'Abre a tabela que receberá os dados do pedido
        Set tbl = CurrentDb.OpenRecordset("Tab_detalhe")
        '--------------------------------------------
        'Abre a tabela que receberá os dados dos adicionais do pedido
        Set tblAdicional = CurrentDb.OpenRecordset("Tab_detalhe_Adicionais")
        '---------------------------------------------
        '****Pega os dados do pedido e copia para ela mesmo com uma nova venda*****'
        Set rs = db.OpenRecordset("SELECT * FROM Tab_detalhe WHERE ID_vendas = " & Me.IDVendas & "")
        '--------------------------------------------
        'Percorre os registros da tabela um a um
        rs.MoveFirst 'Informo para comecar do inicio
        Do While Not rs.EOF
        'Copia os dados do subformulário para a tabela
        tbl.AddNew
            tbl!ID_vendas = Forms!Frm_vendas!IDVendas
            tbl!ID_produtos = rs!ID_produtos
            tbl!txt_descricao = rs!txt_descricao
            tbl!Qtde = rs!Qtde
            tbl!txt_descricao = rs!txt_descricao
            
            ''''''''''''''''''
            tbl.Update

        'Salvo antes de continuar
         DoCmd.RunCommand acCmdSave
        
          '*********Pega os dados dos adicionais de acordo com o IDDetSaida da tbl DetVendas *********'
         Set rsA = db.OpenRecordset("SELECT * FROM Tab_detalhe_Adicionais WHERE ID_Detalhe = " & rs!IDDetalhe & "")
        'Percorre os registros databela um a um
        On Error Resume Next
        rsA.MoveFirst 'Informo para comecar do inicio
        
        Do While Not rsA.EOF
          
             'Copia os dados do subformulário para a tabela
            tblAdicional.AddNew
            tblAdicional!ID_Adicionais = rsA!ID_Adicionais
            tblAdicional!ID_Detalhe = DLast("IDDetalhe", "Tab_detalhe") 'Ao mudar de produto busca o ultimo IDDetSaida para vincular os adicionais do outro produto
            tblAdicional!Qtde_Adicionais = rsA!Qtde_Adicionais
            tblAdicional!txt_adicionais = rsA!txt_adicionais
            'tblAdicional!ID_Detalhe = rsA!ID_Detalhe
            tblAdicional.Update
           'vai para o próximo registro do subformulário
            rsA.MoveNext
            Loop
            ''''''''''''''''''''''''''''''''''''''''ate aqui
           'vai para o próximo registro do subformulário
            rs.MoveNext
            Loop
      '********************************************
        tbl.Close
        tblAdicional.Close
        rs.Close
        rsA.Close
        Set tbl = Nothing
        Set tblAdicional = Nothing
        Set rs = Nothing
        Set rsA = Nothing
        Set db = Nothing
        'MsgBox "Dados copiados...", vbInformation, "FT"
        ''*******************************************
        
         Forms!Frm_vendas![Frm_vendasdetalhe].Requery
       End If
       End Sub
    Anexos
    [Resolvido]Loop no Formulário de produtos AttachmentLoop_produtos.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (470 Kb) Baixado 13 vez(es)


    .................................................................................
    Att.

    Alexandre Gonzales
    Noobezinho
    Noobezinho
    Moderador
    Moderador

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4121
    Registrado : 29/06/2012

    [Resolvido]Loop no Formulário de produtos Empty Re: [Resolvido]Loop no Formulário de produtos

    Mensagem  Noobezinho 28/4/2021, 17:33

    Gonzale

    " E o Noobezinho teve que me aguentar tirar as dúvidas e ficar de cabelo branco.

    Eles já eram brancos, agora com tua ajuda, se foram de vez! Razz Razz

    Valeu o retorno!

    Boa sorte!

    Balem


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.

      Data/hora atual: 13/6/2021, 00:42