TRANSFERÊNCIA DE TABELA ENTRE BANCO DE DADOS
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
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
Para evitar problemas de compatibilidade, eu aconselho que use DoCmd.TransferDatabase. Se quiser tentar, pode ser que dê certo com uma simples query:
Isso na conexão com o .mdb mais antigo.
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