MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    Executar uma ação em várias linhas de uma tabela

    Compartilhe

    Feeburg
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4
    Registrado : 05/11/2016

    Executar uma ação em várias linhas de uma tabela

    Mensagem  Feeburg em Sab 05 Nov 2016, 20:01

    Bom dia/tarde/noite pessoal,

    Gostaria de saber como eu faço para realizar uma ação (Dlookup) em várias linhas de uma coluna em uma tabela no access através de macro.
    Ex: tabela1 possui 20 mil dados na colunaX e eu criei uma nova tabela, tabela2, que eu quero puxar todos os dados da colunaX da tabela1 e colar na colunaY da tabela2.

    Tabela1 Tabela2

    colunaX colunaY
    a123 _____
    a124 _____
    a125 _____
    a126 _____
    a127 _____
    a128 _____
    a129 _____
    a130 _____
    a131 _____
    . .
    . .
    . .
    . .
    . .
    uXXX _____

    A tabela2 eu gostaria que fosse preenchida através da fórmula Dlookup, só que eu acredito que precisa utilizar um "loop" ou um "for", mas não sei como faço isso no access.

    Desde já lhes agradeço pela atenção

    FabioPaes
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2333
    Registrado : 14/08/2013

    Re: Executar uma ação em várias linhas de uma tabela

    Mensagem  FabioPaes em Sab 05 Nov 2016, 21:27

    Aqui amigo, como copiar todos os dados da Tb1 para a Tb2...

    'Declaração das Variaveis
    Dim DB As Database
    Dim rs As DAO.Recordset
    Dim rs1 As DAO.Recordset

    Set DB = CurrentDb()


    Set rs = DB.OpenRecordset("Tb1") ' Tabela onde tem os Dados
    Set rs1 = DB.OpenRecordset("Tb2") ' Tabela que receberá os dados
    'Percorre a Tabela de Origem dados

    Do While Not rs.EOF 'Ira repetir ate acabar os dados da Tb2
    'Inicia a Gravação dos dados na Tb2
    rs1.AddNew
    rs1("Campo1") = rs("Valor")
    rs1("Campo2") = rs("Data")
    rs1("Campo3") = rs("Tipo")
    rs1.Update
    rs.MoveNext
    Loop
    'Fecha as conexoes
    rs.Close
    rs1.Close
    DB.Close




    Considerações:
    rs1("Campo1"),rs1("Campo2") e rs1("Campo3") = São os nomes dos campos ta Tb2 que receberão os dados.
    rs("Valor"),rs("Data") e rs("Tipo") = São os campos da Tb1 onde estao os dados. ou seja dados de Valor para campo1









    Veja mais sobre a utilização do Método aqui:
    [Você precisa estar registrado e conectado para ver este link.]


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!

    Feeburg
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4
    Registrado : 05/11/2016

    Re: Executar uma ação em várias linhas de uma tabela

    Mensagem  Feeburg em Seg 07 Nov 2016, 15:16

    Caro Fabio,

    tentei copiar o código que você mostrou, mas no "rs1.Update" ele manda eu inserir um valor na coluna que já possui valor inserido e ocorre um erro.

    tentei criar uma tabela que só tivesse a coluna do que quero copiar e outra tabela para colar a informação, mas ainda assim ele só executa uma única linha. Sabes o porque?

    Eu devo colar esse Código em um módulo ou em outro lugar?

    FabioPaes
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2333
    Registrado : 14/08/2013

    Re: Executar uma ação em várias linhas de uma tabela

    Mensagem  FabioPaes em Seg 07 Nov 2016, 17:25

    vc observou os Comentarios ?(Destacados na cor verde)

    Posta o Print com o erro!


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!

    Cláudio Más
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1097
    Registrado : 21/01/2012

    Re: Executar uma ação em várias linhas de uma tabela

    Mensagem  Cláudio Más em Qua 09 Nov 2016, 13:43

    Uma consulta acréscimo não resolveria?

      Data/hora atual: Sab 10 Dez 2016, 06:53