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]Puxar dados de outro formulário

    avatar
    tombr
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 320
    Registrado : 08/04/2018

    [Resolvido]Puxar dados de outro formulário Empty [Resolvido]Puxar dados de outro formulário

    Mensagem  tombr 14/12/2020, 20:24

    Olá,

    Alguém poderia me dizer se esse método e viável ou devo descartar e tentar implantar de outra forma?

    - A fórmula para "puxar produtos" já está funcionando.

    - Já para "puxar lojas" não tem fórmula. Não sei como faço para "puxar lojas" e colocar na mesma linha dos "produtos puxados".

    Anexos
    [Resolvido]Puxar dados de outro formulário AttachmentProjeto Cotações.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (106 Kb) Baixado 7 vez(es)


    Última edição por tombr em 20/12/2020, 00:51, editado 1 vez(es)
    scandinavo
    scandinavo
    Super Avançado
    Super Avançado

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Puxar dados de outro formulário Empty Re: [Resolvido]Puxar dados de outro formulário

    Mensagem  scandinavo 16/12/2020, 17:00

    veja ai
    Fiz um relacionamento entre a tabela produtos cotados e a lojas cotadas e também no frm cotação.
    para funcionar
    Anexos
    [Resolvido]Puxar dados de outro formulário AttachmentProjetoCotacao2.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (75 Kb) Baixado 16 vez(es)

    tombr gosta desta mensagem

    avatar
    tombr
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 320
    Registrado : 08/04/2018

    [Resolvido]Puxar dados de outro formulário Empty Re: [Resolvido]Puxar dados de outro formulário

    Mensagem  tombr 17/12/2020, 23:23

    Olá,

    Muito obrigado pela ajuda.

    Você poderia me ajudar com o seguinte problema:

    - Após puxar todos os dados pela segunda vez, mas com outro nome de loja/contato. Todos os nomes de loja/contato ficaram iguais no "fm cotações". É possível corrigir?

    Porque os mesmos "produtos" serão orçados em "lojas/contatos" diferentes.
    scandinavo
    scandinavo
    Super Avançado
    Super Avançado

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Puxar dados de outro formulário Empty Re: [Resolvido]Puxar dados de outro formulário

    Mensagem  scandinavo 18/12/2020, 12:40

    Preciso finalizar um sistema depois volto ao seu tópico.

    tombr gosta desta mensagem

    avatar
    tombr
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 320
    Registrado : 08/04/2018

    [Resolvido]Puxar dados de outro formulário Empty Re: [Resolvido]Puxar dados de outro formulário

    Mensagem  tombr 18/12/2020, 13:35

    Olá, Scandinavo

    Eu aguardo. Obrigado pela ajuda.
    scandinavo
    scandinavo
    Super Avançado
    Super Avançado

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Puxar dados de outro formulário Empty Re: [Resolvido]Puxar dados de outro formulário

    Mensagem  scandinavo 19/12/2020, 14:08

    Veja ai


    Código:
       '--------------------------------------------------------------'
        '   c?digo criado por scandinavo 19/12/20, do F?rum MaximoAccess   '
        '     utilize o c?digo livremente mas mantenha os cr?ditos     '
        '--------------------------------------------------------------'

     'Verifica se j? importou as lojas e produtos
     If Me.RecordsetClone.RecordCount > 0 Then
     MsgBox ("Produtos e lojas j? importados"), vbCritical, "Scandinavo"
     Exit Sub
     End If
     
      'rsL = sub frm com as Lojas
      'rsP = sub frm com os Produtos
      'rsPO =sub frm Produtos Or?ados
     
            Dim rsL, rsP, rsPO As DAO.Recordset 'declaro a vari?vel
            Set DB = CurrentDb
            'Vou buscar as lojas do subformulario
            Set rsL = Forms!formOrcamento![Loja subformul?rio].Form.RecordsetClone
          'Come?a no inicio
            rsL.MoveFirst '*****Faltou esta linha*****'
            'Repetirei At? que n?o haja mais registros
            Do While Not rsL.EOF
            'Vou buscar os produtos do subformulario
            Set rsP = Forms!formOrcamento!IncluirProdsOr?amento.Form.RecordsetClone
            'Come?a no inicio
            rsP.MoveFirst
            'Repetirei At? que n?o haja mais registros no subfrm IncluirProdsOr?amento
            Do While Not rsP.EOF
            'Abre a tabela produtos or?ados para receber As lojas e os produtos
            Set rsPO = DB.OpenRecordset("ProdsOrcamento")
            'Adicionar os novos dados
            rsPO.AddNew
            rsPO("Empresa") = rsL!Loja
            rsPO("Contato") = rsL!Contato
            rsPO("CodOrcamento") = Forms!formOrcamento!CodTabOrcamento
            
            rsPO("Produto") = rsP!Produto
            rsPO("Marca") = rsP!Marca
            rsPO("Unidade") = rsP!Unidade
            rsPO("Quantidade") = rsP!Quantidade
                  
            rsPO.Update
            'Vai para o proximo registro do sub frm IncluirProdsOr?amento
            rsP.MoveNext
                        
            Loop
            'Vai para o proximo registro do subfrm Loja subformul?rio
            rsL.MoveNext

            Loop
            'Emite mensagem
            MsgBox ("Lojas e Produtos importados"), vbInformation, "Maximos access 2020"
            
            rsL.Close 'fecho a consulta
            Set rsL = Nothing 'e a descarrego da mem?ria
            Set rsP = Nothing 'e a descarrego da mem?ria
            Set rsPO = Nothing 'e a descarrego da mem?ria
            
            Me.Form.Requery
    Anexos
    [Resolvido]Puxar dados de outro formulário AttachmentProjetoCotacao3.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (83 Kb) Baixado 8 vez(es)


    Última edição por scandinavo em 19/12/2020, 16:44, editado 1 vez(es) (Motivo da edição : Adiçao de uma linha no codigo)

    tombr gosta desta mensagem

    avatar
    tombr
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 320
    Registrado : 08/04/2018

    [Resolvido]Puxar dados de outro formulário Empty Re: [Resolvido]Puxar dados de outro formulário

    Mensagem  tombr 19/12/2020, 15:23

    Olá, Scandinavo

    Obrigado pela ajuda. E desculpa pelo trabalho.

    Deu o seguinte erro:

    Só consigo fazer as cotações de preços dos produtos no Orçamento Nº 01. Não consigo fazer o mesmo procedimento adiante. Ao clicar no Botão "puxar" da a seguinte mensagem: Lojas e Produtos Importados, mas não puxam os dados.
    Preciso fechar o programa Access e depois abrir novamente para dar certo.

    Gostei dessa forma que você implantou de digitar os nomes das três lojas diferentes no FM Lojas e depois puxar juntos com os produtos. Mas prefiro a rotina da seguinte forma:
    - FM Produto. Eu digito os Nomes dos Produtos.
    - FM Loja. Eu digito "um" Nome de Loja.
    - FM Cotações. Eu clico no botão "puxar" dados.
    - Depois eu vou em FM Loja e digito outro nome de Loja e clico no botão "puxar".

    Se puder ter as duas formas de puxar os dados, fica melhor ainda. Caso não, prefiro a minha rotina.
    scandinavo
    scandinavo
    Super Avançado
    Super Avançado

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Puxar dados de outro formulário Empty Re: [Resolvido]Puxar dados de outro formulário

    Mensagem  scandinavo 19/12/2020, 16:42

    " Deu o seguinte erro:" rsL.MoveFirst '*****Faltou esta linha*****'
    Adicione esta linha no código.



    Dim rsL, rsP, rsPO As DAO.Recordset 'declaro a vari?vel
    Set DB = CurrentDb
    'Vou buscar as lojas do subformulario
    Set rsL = Forms!formOrcamento![Loja subformul?rio].Form.RecordsetClone
    'Come?a no inicio
    rsL.MoveFirst '*****Faltou esta linha*****'
    'Repetirei At? que n?o haja mais registros
    Do While Not rsL.EOF

    tombr gosta desta mensagem

    avatar
    tombr
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 320
    Registrado : 08/04/2018

    [Resolvido]Puxar dados de outro formulário Empty Re: [Resolvido]Puxar dados de outro formulário

    Mensagem  tombr 19/12/2020, 19:08

    Olá,

    Segui sua orientação, mas não deu certo. Segue abaixo dúvida:

    Dim rsL, rsP, rsPO As DAO.Recordset 'declaro a vari?vel
    Set DB = CurrentDb
    'Vou buscar as lojas do subformulario
    Set rsL = Forms!formOrcamento![Loja subformul?rio].Form.RecordsetClone
    'Come?a no inicio
    rsL.MoveFirst *****Coloquei essa linha conforme sua orientação*****
    rsP.MoveFirst *****Apaguei essa linha, mas você não orientou isso*****
    'Repetirei At? que n?o haja mais registros
    Do While Not rsP.EOF , mas sua descrição do tópico acima está diferente *****Do While Not rsL.EOF*****
    scandinavo
    scandinavo
    Super Avançado
    Super Avançado

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Puxar dados de outro formulário Empty Re: [Resolvido]Puxar dados de outro formulário

    Mensagem  scandinavo 19/12/2020, 23:10

    Era só para você adicionar está linha ao código


    rsL.MoveFirst '*****Faltou esta linha*****

    Deixei uma parte do código para você ver o lugar de inserir a linha. Se não conseguir na resposta anterior já está com o código corrido de uma olhada.
    Agora para fazer isto
    - FM Loja. Eu digito "um" Nome de Loja.
    - FM Cotações. Eu clico no botão "puxar" dados.
    - Depois eu vou em FM Loja e digito outro nome de Loja e clico no botão "puxar".
    Para ficar fácil para todo mundo .minha dica 1 crie um campo sim/não na sua tabela lojas orçadas. Adicione no sub formulário
    Agora será preciso alterar uma linha no código que te passei.
    Set rsL = Forms!formOrcamento![Loja subformul?rio].Form.RecordsetClone
    Nesta linha vai ter que pedir para ver só a loja que este campo sim/não estiver como falso.
    E depois inserir uma linha no fim do código após o segundo loop
    Me.seucampo sim/não =-1

    Simples assim




    tombr gosta desta mensagem

    avatar
    tombr
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 320
    Registrado : 08/04/2018

    [Resolvido]Puxar dados de outro formulário Empty Re: [Resolvido]Puxar dados de outro formulário

    Mensagem  tombr 20/12/2020, 00:48

    Olá, Scandinavo

    Obrigado pela ajuda. Não tenho conhecimento de código VBA. Uso o Access para uso pessoal.

    Tentei seguir sua orientação, por favor, olhar o anexo para ver meu erro.

    - Adicionei a linha: rsL.MoveFirst.
    - Criei o campo sim/não.
    - Alterei para Set rsL = Forms!FormOrcamento![IncluirLojaOrçamento?Falso].Form.RecordsetClone
    - Me.Selecionar sim/não =-1 não sei como fazer esse procedimento
    Anexos
    [Resolvido]Puxar dados de outro formulário AttachmentProjeto Cotações4.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (174 Kb) Baixado 8 vez(es)
    scandinavo
    scandinavo
    Super Avançado
    Super Avançado

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Puxar dados de outro formulário Empty Re: [Resolvido]Puxar dados de outro formulário

    Mensagem  scandinavo 20/12/2020, 13:05

    Abaixei o seu arquivo deu como corrompido ai fiz em cima do que eu já tinha.

    Você pode importar todas as lojas ou somente a que estiver desmarcado.
    Este campo poderá ficar oculto.
    Código:
    Private Sub cmdAdd_Click()
        '--------------------------------------------------------------'
        '   código criado por scandinavo 19/12/20, do Fórum MaximoAccess   '
        '     utilize o código livremente mas mantenha os créditos     '
        '--------------------------------------------------------------'

    'Desabilitado esta parte porque voce vai fazer a importação loja por loja
    'Verifica se já importou as lojas e produtos
    ' If Me.RecordsetClone.RecordCount > 0 Then
    ' MsgBox ("Produtos e lojas já importados"), vbCritical, "Scandinavo"
    ' Exit Sub
    ' End If

      'rsL = sub frm com as Lojas
      'rsP = sub frm com os Produtos
      'rsPO =sub frm Produtos Orçados
      On Error GoTo trata_erro
      
            DoCmd.RunCommand acCmdSaveRecord 'Salvo o Registro antes de começar a selecionar os dados
            Dim rsL, rsP, rsPO As DAO.Recordset 'declaro a variável
            Set DB = CurrentDb
            'Vou buscar as lojas do subformulario
            'Set rsL = Forms!formOrcamento![Loja subformulário].Form.RecordsetClone
            'Agora vai buscar os dados diretamente na tabela ***********************
            'Vai buscar a loja de acordo com o CodOrcamento e se ainda nao foi importado
            Set rsL = DB.OpenRecordset("SELECT * FROM IncluirLojaOrc WHERE CodOrcamento = " & Forms!formOrcamento!CodTabOrcamento & " and importado = 0")

            'Começa no inicio
            rsL.MoveFirst '*****Faltou esta linha*****'
            'Repetirei Até que não haja mais registros
            Do While Not rsL.EOF
            'Vou buscar os produtos do subformulario
            Set rsP = Forms!formOrcamento!IncluirProdsOrçamento.Form.RecordsetClone
            'Começa no inicio
            rsP.MoveFirst
            'Repetirei Até que não haja mais registros no subfrm IncluirProdsOrçamento
            Do While Not rsP.EOF
            'Abre a tabela produtos orçados para receber As lojas e os produtos
            Set rsPO = DB.OpenRecordset("ProdsOrcamento")
            'Adicionar os novos dados
            rsPO.AddNew
            rsPO("Empresa") = rsL!Loja
            rsPO("Contato") = rsL!Contato
            rsPO("CodOrcamento") = Forms!formOrcamento!CodTabOrcamento
            
            rsPO("Produto") = rsP!Produto
            rsPO("Marca") = rsP!Marca
            rsPO("Unidade") = rsP!Unidade
            rsPO("Quantidade") = rsP!Quantidade
                  
            rsPO.Update
            'Vai para o proximo registro do sub frm IncluirProdsOrçamento
            rsP.MoveNext
                        
            Loop
            rsL.Edit 'Edita o registro para nao importar novamente
            rsL!Importado = -1 'marca o campo importado como verdadeiro
            rsL.Update
            'Vai para o proximo registro do subfrm Loja subformulário
            rsL.MoveNext

            Loop
            'Emite mensagem
            MsgBox ("Lojas e Produtos importados"), vbInformation, "Maximos access 2020"
            
            rsL.Close 'fecho a consulta
            Set rsL = Nothing 'e a descarrego da memória
            Set rsP = Nothing 'e a descarrego da memória
            Set rsPO = Nothing 'e a descarrego da memória
            
            Me.Form.Requery
            Me.Form!Loja_subformulário.Requery
    trata_erro:

    If Err.Number = 3021 Then

    MsgBox "Verifique se tem Loja" & Chr(10) _
    & "com o campo IMPORTADO desmarcado.", vbInformation, "Feliz 2021"
    Exit Sub
    End If

    End Sub
    Anexos
    [Resolvido]Puxar dados de outro formulário AttachmentProjetoCotacao3.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (96 Kb) Baixado 15 vez(es)

    tombr gosta desta mensagem

    avatar
    tombr
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 320
    Registrado : 08/04/2018

    [Resolvido]Puxar dados de outro formulário Empty Re: [Resolvido]Puxar dados de outro formulário

    Mensagem  tombr 20/12/2020, 13:44

    Olá, Scandinavo

    Muito obrigado pela sua ajuda, tempo e paciência.

    100% resolvido.
    scandinavo
    scandinavo
    Super Avançado
    Super Avançado

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Puxar dados de outro formulário Empty Re: [Resolvido]Puxar dados de outro formulário

    Mensagem  scandinavo 20/12/2020, 14:09

    Valeu pelo retorno.

      Data/hora atual: 26/9/2021, 11:36