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]Exportar dados (todos) de um subformulário para uma determinada tabela.

    Compartilhe
    avatar
    Silvio
    Developer
    Developer

    Respeito às Regras 100%

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

    [Resolvido]Exportar dados (todos) de um subformulário para uma determinada tabela.

    Mensagem  Silvio em 20/7/2018, 11:56

    Bom dia a todos.

    Eu tinha aqui comigo um código que percorria todos os dados em um subformulário, mas por azar o HD onde estava deu perda total.

    Esse código lia, percorria, todos os dados e exportava o que eu precisava  para uma tabela.

    Será que alguém pode me auxiliar, me ajudar me mandando algo parecido ?

    Preciso exportar 5 campos para uma tabela e não estou a conseguir.  

    Agradeço desde já !!


    Editando......
    O problema agora é que a rotina diz...item não encontrado nessa coleção !
    Estranho pois os campos exportados para tabela estão com os mesmos nomes, idênticos.

    'AQUI FAÇO A EXPORTAÇÃO DE DADOS PARA A TBLVENDASXFORNECEDOR, PARA REALIZAR O GRÁFICO
     Dim Db1 As Database
     Dim Rs3 As DAO.Recordset
     Set Db1 = CurrentDb()
          Set Rs3 = DB1.OpenRecordset("TblVendaXFornecedor") *** o erro estava aqui, estava com DB e o correto é D1

     'nessa linha abaixo limpo os dados anteriores, para evitar duplicidade de registros.
        DoCmd.SetWarnings False 'Aviso de execução
           SQL = "DELETE * FROM TblVendaXFornecedor WHERE IdPedido = " & Forms!FrmVenda!IdPedido 'ALTERE O NOME DA TABELA E NOME DO CAMPO
                 DoCmd.RunSQL SQL 'Executa consulta

    ''Exportando os campos necessários
         
         
               With Rs3
                   .AddNew
                   ![IdPedido] = DMax("IdPedido", "TblVendaXFornecedor")  
                   ![IdPedido] = Rs3![IdPedido]
                   ![DataPedido] = Rs3![DataPedido]
                   ![Referencia] = Rs3![Forms!FrmVenda!FrmSubVenda!Referencia]
                   ![Fornecedor] = Rs3![Forms!FrmVenda!FrmSubVenda!Fornecedor]
                   ![ValorTotal] = Rs3![Forms!FrmVenda!FrmSubVenda!ValorTotal]

                   .Update
                   Rs3.MoveNext
               End With
                       Rs3.Close
           Set Rs3 = Nothing       
           Set Db1 = Nothing
    DoCmd.RunCommand acCmdSaveRecord


    Última edição por Silvio em 20/7/2018, 13:39, editado 4 vez(es) (Razão : acréscimo de código)


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    [Você precisa estar registrado e conectado para ver este link.]
    avatar
    Silvio
    Developer
    Developer

    Respeito às Regras 100%

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

    Re: [Resolvido]Exportar dados (todos) de um subformulário para uma determinada tabela.

    Mensagem  Silvio em 21/7/2018, 11:25

    Up


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    [Você precisa estar registrado e conectado para ver este link.]
    avatar
    Celso Roberto
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 795
    Registrado : 01/03/2014

    Re: [Resolvido]Exportar dados (todos) de um subformulário para uma determinada tabela.

    Mensagem  Celso Roberto em 21/7/2018, 18:09

    Olá Silvio...

    O código que você tinha talvez seria este?

    maximoaccess.com/t9924-salvar-alguns-campos-do-formulario-em-outra-tabela#79285

    Se o botão para exportar estiver no form principal não seria desta forma?

    Código:
    With Rs3
                   .AddNew
                   !IdPedido = DMax("IdPedido", "TblVendaXFornecedor")  
                   !IdPedido = Me.FrmSubVenda!IdPedido
                   !DataPedido = Me.FrmSubVenda!DataPedido
                   !Referencia = Me.FrmSubVenda!Referencia
                   !Fornecedor = Me.FrmSubVenda!Fornecedor
                   !ValorTotal = Me.FrmSubVenda!ValorTotal
                   .Update
                   Rs3.MoveNext
               End With
                       Rs3.Close
           Set Rs3 = Nothing      
           Set Db1 = Nothing


    Abarços


    .................................................................................
    Quando sua dúvida estiver resolvida, Agradeça ao Fórum e de seu tópico por Resolvido



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    avatar
    Silvio
    Developer
    Developer

    Respeito às Regras 100%

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

    Re: [Resolvido]Exportar dados (todos) de um subformulário para uma determinada tabela.

    Mensagem  Silvio em 21/7/2018, 20:16

    Celso, era quase isso.

    Depois de revirar alguns Cd´s meus, onde colocava todos os códigos, achei o dito e adaptei as minhas necessidades.

    Segue abaixo para que demais colegas possam ver e usufruir do mesmo.

    Em um botão, evento click:

    Código:
      'nessa linha abaixo limpo os dados anteriores, para evitar duplicidade de registros.
        DoCmd.SetWarnings False
            SQL = "DELETE * FROM TblVendaXFornecedor WHERE IdPedido = " & Forms!FrmVenda!IdPedido 'ALTERE O NOME DA TABELA E NOME DO CAMPO
                  DoCmd.RunSQL SQL


    Dim dbs As DAO.Database
    Dim rs7 As DAO.Recordset
    Dim tbl As DAO.Recordset
    '---------------------------------------

    Set dbs = CurrentDb
    Set tbl = dbs.OpenRecordset("TblVendaXFornecedor")
    Set rs7 = FrmSubVenda.Form.RecordsetClone
    '---------------------------------------------------------------
    'Exportando os campos necessários
    Do While Not rs7.EOF
      tbl.AddNew
          tbl!IdPedido = Me.IdPedido
          tbl!DataPedido = Me.DataPedido
          tbl!Referencia = rs7!Referencia
          tbl!Fornecedor = rs7!Fornecedor
          tbl!ValorTotal = rs7!ValorTotal
          tbl!Qtd = rs7!Qtd
         
      tbl.Update
      rs7.MoveNext
    Loop

    tbl.Close
    rs7.Close
    Set tbl = Nothing
    Set rs7 = Nothing
    'fim da rotina de cópia

    Agradeço a ti Celso, valeu pelo interesse em me ajudar !!

    Abraços !


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    [Você precisa estar registrado e conectado para ver este link.]
    avatar
    Celso Roberto
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 795
    Registrado : 01/03/2014

    Re: [Resolvido]Exportar dados (todos) de um subformulário para uma determinada tabela.

    Mensagem  Celso Roberto em 22/7/2018, 16:51

    Olá

    cheers cheers

    Abraços


    .................................................................................
    Quando sua dúvida estiver resolvida, Agradeça ao Fórum e de seu tópico por Resolvido



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....

      Data/hora atual: 11/12/2018, 11:46