Visual Basic 6 - Exportando para qualquer tipo de Fonte de dados


Exportar dados de uma tabela para outra fonte de dados é sempre um problema melindroso pois envolve diversos fatores que muitas vezes complicam o que parece ser simples.

Que tal se você tivesse uma rotina para exportar dados para qualquer tipo de banco de dados ?

Será que existe ???

Bem , quase, quase ...  :-|

Vamos mostrar uma rotina que faz o serviço,  você só tem que definir o tipo de banco de dados para o qual quer exportar os seus dados. 

No exemplo aqui abordado iremos exportar dados da tabela Authors do banco de dados Biblio.mdb para uma tabela padrao Dbase (*.dbf) chamada teste e depois iremos gerar um arquivo do tipo texto mudando apenas um parâmetro na linha de código. Vamos ao projeto:

Private Sub Command1_Click()
Dim db As Database
Set db = Workspaces(0).OpenDatabase("c:\teste\Biblio.mdb")

'sintaxe utilizada para o comando sql
'db.execute "SELECT tbl.fields INTO [dbms tipo;DATABASE=Caminho].[nome arquivo destino] FROM [tabela ou tabelas]

db.execute "SELECT * INTO [dBase III;DATABASE=C:\teste].[teste] FROM [authors]"

End Sub

 Vamos explicar  cada linha:

  1. Dim db As Database - define a variável objeto 
  2. Set db = Workspaces(0).OpenDatabase("c:\teste\Biblio.mdb") - Abre o banco de dados Biblio.mdb localizado em c:\teste
  3. db.execute "SELECT * INTO [dBase III;DATABASE=C:\teste].[teste.txt] FROM [authors]" - Esta linha usa o método Execute para incluir todos os registros da tabela authors do banco de dados biblio.mdb para um arquivo chamado teste.dbf 
  4. O tipo de banco de dados foi definido como dBase III

Quer exportar para um arquivo texto ? Ora, apenas altere o parâmetro que define o tipo de fonte de dados para o qual quer exportar. Assim:

Private Sub Command1_Click()
Dim db As Database
Set db = Workspaces(0).OpenDatabase("c:\teste\Biblio.mdb")

'sintaxe utilizada para o comando sql
'db.execute "SELECT tbl.fields INTO [dbms tipo;DATABASE=caminho].[nome arquivo destino] FROM [tabela ou tabelas]

db.execute "SELECT * INTO
[TEXT;DATABASE=C:\teste].[teste.txt] FROM [authors]"

End Sub

Alterando o parâmetro para TEXT  iremos gerar um arquivo chamado teste.txt com os dados da tabela Authors.

Tudo isto em uma linha de código ... Esta valeu... né...

Até mais...

Veja os Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique e confira !

Quer migrar para o VB .NET ?

Quer aprender C# ??

Quer aprender os conceitos da Programação Orientada a objetos ?

Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ?

Quer aprender a criar aplicações Web Dinâmicas usando a ASP .NET MVC 5 ?

 

Referências:


José Carlos Macoratti