TRANSFERÊNCIA DE TABELA ENTRE BANCO DE DADOS

LUART 24/05/2016 12:26:54
#462494
Boa tarde à todos.

Preciso fazer a transferência da tabela e estrutura de dados de um arquivo bd1.mdb (access 97: Microsoft.Jet.OLEDB.4.0) para outro bd1.accdb em branco (access 2017: Microsoft.ACE.OLEDB.12.0)

O inicio da minha pesquisa foi em torno do método GetOleDbSchemaTable e cheguei apenas ao codigo fonte abaixo:

Primeiro Configuro e abro a conexão do Banco de dados de origem (bd1.mdb)

[ô]DataBase Connection String
ConnString = [Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=[Ô] & Application.StartupPath & [Ô]\bd1.mdb;Persist Security Info=False[Ô]
DBConnection.ConnectionString = ConnString
DBConnection.Open()

[ô] Retorna o tipo de tabela de esquema especificado pelo método GetOleDbSchemaTable
Dim DBSchema As New OleDb.OleDbSchemaGuid()
Dim DBTableNames As New DataTable()
DBTableNames = DBConnection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, New Object() {Nothing, Nothing, Nothing, [Ô]TABLE[Ô]})

[ô]Gerar a tabela com o conteúdo a partir do esquema retornado pelo método GetOleDbSchemaTable no banco de dados bd.accdb (esta parte ainda não consegui desenvolver)

DBConnection.Close()

Como é possível gerar a tabela com o conteúdo no banco de dados bd1.accdb? Alguém poderia me dar alguma sugestão para seguir para o próximo passo?

Obrigado
KERPLUNK 25/05/2016 18:14:13
#462595
Para evitar problemas de compatibilidade, eu aconselho que use DoCmd.TransferDatabase. Se quiser tentar, pode ser que dê certo com uma simples query:

SELECT * INTO [;DATABASE=Z:\Docs\Test.accdb].NomeDaNovaTabela
FROM TabelaOriginal


Isso na conexão com o .mdb mais antigo.
Faça seu login para responder