Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Mazinha

Convertendo formatos

Recommended Posts

Existem várias manerias de exportas tabelas de um arquivo mdb para outros formatos. Algumas delas sao:dim rst as adodb.recordsetset rst = conexao.execute("select * from tabela")rst.save "c:\tabela.txt", adPersistADTGourst.save "c:\tabela.xml", adPersistXMLouabrir um arquivo e criar seu proprio formato de exportacaoouDoCmd.TransferDatabase acExport, "Paradox 7.X", "teste", acTable, "meses", "meses", Falseentre outros formatos e modos.Flows

Compartilhar este post


Link para o post
Compartilhar em outros sites

Naum intendí direito o q você fez aí... :wacko:

Eu naum intendí o q é "conexao", "adPersistADTG" e "adPersistXML".

 

Eu tava precisando, primeiramente, converter um .mdb pra .txt. Como q eu posso fazê?

Dpois eu pergunto como q eu faço pra converter pra outros tipos. ^_^

Compartilhar este post


Link para o post
Compartilhar em outros sites

conexao = é uma variavel do tipo ADODB.Connection que conecta ao banco de dados

 

adPersist___ é o tipo que vai ser exportado.. pode ser no formato ADTG ou XML

 

 

para voce exportal um MDB para TXT voce deve ter algumas consideracoes em mente

 

primeiro: voce tem que exportar uma tabela de cada vez

segundo: campos nulos ou complexos sao dificieis de por em texto

terceiro: para grande volumes de informacao, vale mais a pena levar um MDB do que ter que exportar para txt, se depois voce vai ter que importar novamente

 

 

para exportar para TXT, faz uma rotina similar a esta:

 

 

 

Dim arq As ByteDim bd As DAO.DatabaseDim rst As DAO.RecordsetDim fld As DAO.FieldDim linha As Stringarq = FreeFile()Set bd = OpenDatabase("C:\dados.mdb")Set rst = bd.OpenRecordset("tabelaX")Open "C:\tabelaX.txt" For Output As #arqDo While Not rst.EOF        linha = ""    For Each fld In rst.Fields            If IsNull(fld.Value) Then            linha = linha & vbTab        Else            linha = linha & fld.Value        End If    Next        Print #arq, linha        rst.MoveNext    LoopClose #arq

explicando: esta rotina abre uma tabela chamada TABELAX de um banco de dados access chamado DADOS.MDB, cria um arquivo chamado TABELAX.TXT e exporta esta tabela para dentro dele;

para exportar os registros, foi usada a variavel LINHA, que é montada passando por cada campo de cada linha da tabela, e depois enviada para dentro do arquivo

 

 

meio complicado?

 

rode uns testes

 

Flows

Compartilhar este post


Link para o post
Compartilhar em outros sites

Data Grid??

 

Entendendo os comandos:

 

arq = FreeFile() >> um numero de referencia ao arquivo aberto

 

Open "" for Output as #arq >> comando para criar o arquivo

 

espaco >> uma variavel que eu uso para tabular o texto

 

print #arq, linha >> envia a variavel LINHA para uma nova linha no arquivo

 

close #arq >> fecha e salva o arquivo

 

 

Dim tmpStr As String, espaco As StringDim linhas As LongDim col As MSDataGridLib.ColumnDim arq As Bytearq = FreeFile()espaco = ""Open "c:\grid.txt" For Output As #arqWith dtGrid    For linha = 0 To .ApproxCount - 1            .Row = linha        For Each col In dtGrid.Columns                    If col.Text = "" Then                tmpStr = tmpStr & espaco & " "            Else                tmpStr = tmpStr & espaco & col.Value            End If                    espaco = vbTab        Next                Print #arq, tmpStr        tmpStr = ""            NextEnd WithClose #arq

Complicado?

 

 

Flows

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom Dia a todos.

 

Veber

Muito boa a sua explicação, legal e era exatamente o que eu procurava.

mas gostaria de saber onde eu faria essa codigo, no proprio ACCESS?

 

Obrigado

Leonardo Oliveira

 

conexao = é uma variavel do tipo ADODB.Connection que conecta ao banco de dados

 

adPersist___ é o tipo que vai ser exportado.. pode ser no formato ADTG ou XML

 

 

para voce exportal um MDB para TXT voce deve ter algumas consideracoes em mente

 

primeiro: voce tem que exportar uma tabela de cada vez

segundo: campos nulos ou complexos sao dificieis de por em texto

terceiro: para grande volumes de informacao, vale mais a pena levar um MDB do que ter que exportar para txt, se depois voce vai ter que importar novamente

 

 

para exportar para TXT, faz uma rotina similar a esta:

 

 

 

Dim arq As Byte
Dim bd As DAO.Database
Dim rst As DAO.Recordset
Dim fld As DAO.Field
Dim linha As String

arq = FreeFile()
Set bd = OpenDatabase("C:\dados.mdb")
Set rst = bd.OpenRecordset("tabelaX")

Open "C:\tabelaX.txt" For Output As #arq

Do While Not rst.EOF
    
    linha = ""
    For Each fld In rst.Fields
    
        If IsNull(fld.Value) Then
            linha = linha & vbTab
        Else
            linha = linha & fld.Value
        End If
    Next
    
    Print #arq, linha
    
    rst.MoveNext
    
Loop

Close #arq

 

explicando: esta rotina abre uma tabela chamada TABELAX de um banco de dados access chamado DADOS.MDB, cria um arquivo chamado TABELAX.TXT e exporta esta tabela para dentro dele;

para exportar os registros, foi usada a variavel LINHA, que é montada passando por cada campo de cada linha da tabela, e depois enviada para dentro do arquivo

 

 

meio complicado?

 

rode uns testes

 

Flows

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.