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

    Exportar dados de um subformalario continuo para um formulario continuo

    avatar
    Dimasblima
    Novato
    Novato

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 42
    Registrado : 31/01/2013

    Exportar dados de um subformalario continuo para um formulario continuo Empty Exportar dados de um subformalario continuo para um formulario continuo

    Mensagem  Dimasblima 20/7/2021, 21:48

    Saudações

    Eu tenho um Subformulario continuo (Origem de uma consulta), que criei para exibie uma lista de produtos como de um orçamento.
    Preciso aproveitar essa informação gerada e exportar uma um formulario principal que vai gerar um novo orçamento, meu problema que só consigo exportar o primeiro item os demais não vão.

    Criei um botão no subformulario (ImportLista) para subir a lista de produtos

    Form_DetalheMovimento.codigo_prod = Me.codigo_prod
    Form_DetalheMovimento.descri_prod = Me.Nome
    Form_DetalheMovimento.qtd = Me.qtd
    Form_DetalheMovimento.Prec_sug = Me.Prec_sug
    Form_DetalheMovimento.Prec_unit = Me.Prec_sug
    Form_DetalheMovimento.complemento = Me.Codigo_Complemento
    Form_DetalheMovimento.Orc_opc = Me.Orc_opc
    Form_DetalheMovimento.Unidade_Venda = Me.UND
    Form_DetalheMovimento.Prec_dir = Me.Prec_sug

    Silvio
    Silvio
    Developer
    Developer

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4768
    Registrado : 20/04/2011

    Exportar dados de um subformalario continuo para um formulario continuo Empty Re: Exportar dados de um subformalario continuo para um formulario continuo

    Mensagem  Silvio 6/10/2021, 13:29

    Bom dia.

    Provavelmente você tem um formulário principal que também vai exportar alguns dados e o teu sub formulário que será exportado.

    Acho e penso que essa rotina vai te ajudar.

    Código:
    Private Sub bt_gerarPedido_Click()
    Dim dbOrc As Database, RS1, rs2, rs3 As DAO.Recordset

        If MsgBox("Deseja Gerar Caixa  desse Orçamento?", vbYesNo + vbQuestion, Me.Caption) = vbNo Then
        Me.Undo
            DoCmd.CancelEvent
                MsgBox "Não foi gerado caixa !", vbInformation, Me.Caption
               
                Exit Sub
                    Else
       
            Set dbOrc = CurrentDb
           
            Set RS1 = dbOrc.OpenRecordset("tblcaixa")  ' tabela de destino
               
            With RS1
           
            .AddNew 'dados do formulário principal a ser exportado =  dados do formulário origem
            ![IdOrcamento] = Me.IdOrcamento
            ![DataPagamento] = Me.DataOrcamento
            ![Proprietario] = Me.Proprietario
            ![Telefone] = Me.Telefone
            ![Celular] = Me.Celular
            ![Animal] = Me.Animal
            ![Valor] = Me.Valorf
            ![IdProp] = Me.IdProp
            .Update
           
            End With
           
           
            Set rs2 = dbOrc.OpenRecordset("SELECT * FROM TblSubOrcamento WHERE Idorcamento=" & Me.IdOrcamento) ' exportando dados da tabela  de origem para a tabela de destino
            Set rs3 = dbOrc.OpenRecordset("tblsubcaixa") ' tabela destino.
           
         
            While (Not rs2.EOF)
                With rs3
                    .AddNew  ' formulário origem = formulário destino.
                    ![IdCaixa] = DMax("idcaixa", "tblcaixa")
                    ![IdOrcamento] = rs2![IdOrcamento]
                    ![Servico] = rs2![Servico]
                    ![Custo] = rs2![Custo]
                    ![Qtd] = rs2![Qtd]
                    ![Tcusto] = rs2![TotalProc]
                    .Update
                    rs2.MoveNext
                End With
            Wend
           
            RS1.Close
            Set RS1 = Nothing
           
            rs2.Close
            Set rs2 = Nothing
           
            rs3.Close
            Set rs3 = Nothing
           
            Set dbOrc = Nothing
           
          'limpa a tblorcamento no orçamento especifico que gerou o caixa, evitando duplicatas na tbl
          DoCmd.RunCommand acCmdSelectRecord
          DoCmd.RunCommand acCmdDeleteRecord
           
          DoCmd.Close acForm, "frmorcamento"  ' fecha o formulário origem.
          DoCmd.OpenForm "frmcaixa" ' abre o formulário destino.
           
         
         
         
        End If
    End Sub

    Altere os campos conforme a tua necessidade.
    Bons estudos e bom trabalho.


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."

      Data/hora atual: 26/10/2021, 02:54