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

    dados do acces passam para array com dados transpostos

    Compartilhe

    Edcronos
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11
    Registrado : 28/06/2015

    dados do acces passam para array com dados transpostos

    Mensagem  Edcronos em Ter 30 Jun 2015, 07:13

    bem, enquanto não tiro minhas duvidas vou aprendendo por aqui com testes

    estou fazendo testes com array
    uma coisa que achei estranho foi que ao incluir o recodset em um array e passar para a planilha os dados ficam transpostos

    Código:

    Sub Macro1()

        Dim cn As ADODB.Connection, rs As ADODB.Recordset
        Set cn = New ADODB.Connection
        Set rs = New ADODB.Recordset
    Dim coluno()
        Application.EnableEvents = False
        Application.ScreenUpdating = False

        cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;" _
                & "Data Source=D:\TABELAS\tabelaA.accdb;"

        tabela = "teste1"

        rs.Open tabela, cn

        For c = 0 To rs.Fields.Count - 1
            Cells(1, c + 1).Value = rs.Fields(c).Name
        Next
    coluno = rs.GetRows

        Range(Cells(2, 1), Cells(UBound(coluno, 1) + 1, UBound(coluno, 2))).Value2 = coluno

        rs.Close
        Set rs = Nothing
        cn.Close
        Set cn = Nothing
    End Sub

    tem como resolver diretamente ou tem que transpor a array ?

    se tiver tbm como melhorar a macros
    e me falar como pegar campos específicos para passar para a array, pq não entendi nada do que eu vi pela net

    Ps. será que alguem tem uma tabela "enorme" que seja apenas dados sem valor para eu poder fazer testes de performance?



    Até

    Edcronos
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11
    Registrado : 28/06/2015

    Re: dados do acces passam para array com dados transpostos

    Mensagem  Edcronos em Qua 01 Jul 2015, 00:25

    ainda tenho que resolver essa questão de dados em transpor passado para a array pelo access

    ao meu ver a array é criada por comando pré programado e não por acesso direto na memoria igual é com o excel
    deve ter um loop para preencher o array e como arrays do vba somente são ajustados no sentido de chave de coluna, tem um loop e um redim preserve no array

    talvez seja mais rapido fazer o loop direto nos campos da tabela e passar para o array, mas ainda não sei fazer isso

    alguem tem uma solução para esse fato?

    comando usado para passar a tabela para a array

    minha_array = rs.GetRows
    será que tem outra maneira?


      Data/hora atual: Sab 03 Dez 2016, 19:40