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]Não exporta mais que 65.000 linhas

    avatar
    Carlao2
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 264
    Registrado : 19/10/2016

    [Resolvido]Não exporta mais que 65.000 linhas Empty [Resolvido]Não exporta mais que 65.000 linhas

    Mensagem  Carlao2 19/10/2017, 19:24

    Srs. Mestres do Conselho. Boa tarde

    O Amigo Roberval muito me ajudou com o módulo abaixo, e até me alertou com relação a exportar mais que 65.000.
    Porém tenho casos em que minha tabela tem cerca de 800.000, 1000.000 ou mais registros.
    Pergunto:
    Haveria uma maneira do módulo abaixo exportar mais de 100.000 linhas, ainda que fosse em uma outra extensão, tipo arquivo txt, ao invés de Excel.
    Assim eu não teria que quebrar em muitas partes a minha tabela?
    Para o Excel tenho que alterar o TOP para 65000 e alterar o Split para 6,7,8 ou mais

    Segue o código

    Private Sub Comando1_Click()
    Dim q As DAO.QueryDef, separacao As Variant
    'aqui você vai colocar os IDs de separação(separados por virgula sem espaço)
    separacao = Split("1,150001,300001,450001", ",")
    For i = 1 To 4
    Set q = CurrentDb.CreateQueryDef("Query" & i, "SELECT TOP 150000 * FROM Table600000 WHERE ID>=" & separacao(i - 1))
    DoCmd.OutputTo acQuery, q.Name, "MicrosoftExcelBiff8(*.xls)", "", False, "", 0
    Next
    End Sub

    Desde já agradeço

    kleber.arruda
    kleber.arruda
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 56
    Registrado : 22/09/2016

    [Resolvido]Não exporta mais que 65.000 linhas Empty Não exporta mais que 65.000 linhas

    Mensagem  kleber.arruda 20/10/2017, 17:21

    Boa tarde !

    Tente:

    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12, _
    "NomeTabelaouConsulta", "NomeArquivo", True
    avatar
    Carlao2
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 264
    Registrado : 19/10/2016

    [Resolvido]Não exporta mais que 65.000 linhas Empty Re: [Resolvido]Não exporta mais que 65.000 linhas

    Mensagem  Carlao2 20/10/2017, 18:33

    Kleber. Boa tarde

    Primeiro, obrigado por sua ajuda.
    Eu sou novato ainda na questão vba.

    A sua sugestão funcionou, porém ele exportou somente a primeira consulta.
    Eu tenho que ficar trocando o nome das consultas para que ele exporte o restante?
    Veja como ficou o código

    Option Compare Database

    Private Sub Comando0_Click()
    Dim q As DAO.QueryDef, separacao As Variant

    separacao = Split("1,150001,300001,450001,600001", ",")
    For i = 1 To 5
    Set q = CurrentDb.CreateQueryDef("Query" & i, "SELECT TOP 150000 * FROM TESTEVBA WHERE ID>=" & separacao(i - 1))

    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12, _
    "Query1", "Base", True
    Next
    MsgBox "cabei mano", vbExclamation

    End Sub
    kleber.arruda
    kleber.arruda
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 56
    Registrado : 22/09/2016

    [Resolvido]Não exporta mais que 65.000 linhas Empty Não exporta mais que 65.000 linhas

    Mensagem  kleber.arruda 20/10/2017, 18:39

    No caso, basta manter a variável do nome:

    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12, _
    q.Name, "Base", True

    No aguardo.
    avatar
    Carlao2
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 264
    Registrado : 19/10/2016

    [Resolvido]Não exporta mais que 65.000 linhas Empty Re: [Resolvido]Não exporta mais que 65.000 linhas

    Mensagem  Carlao2 20/10/2017, 19:03

    Kleber.

    Funcionou perfeitamente.
    Mais uma vez muito obrigado e tenha um ótimo final de semana

    Att.
    kleber.arruda
    kleber.arruda
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 56
    Registrado : 22/09/2016

    [Resolvido]Não exporta mais que 65.000 linhas Empty Não exporta mais que 65.000 linhas

    Mensagem  kleber.arruda 20/10/2017, 21:25

    As ordens!

    Não esqueça dar como resolvido este tópico.

    Conteúdo patrocinado


    [Resolvido]Não exporta mais que 65.000 linhas Empty Re: [Resolvido]Não exporta mais que 65.000 linhas

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 28/4/2024, 17:40