 Visual 
Basic 6 - Importando um arquivo texto para uma
tabela
Visual 
Basic 6 - Importando um arquivo texto para uma
tabela
Vamos mostrar outra maneira de importar um arquivo texto para uma tabela de um banco de dados access usando o Visual Basic ( Para maiores informações leia : Como tratar Arquivos textos com o Visual Basic ) .
Utilizaremos o bom e velho banco de dados Biblio.mdb ( usaremos uma copia do arquivo no diretório c:\teste) e um arquivo texto chamado texto.txt o qual iremos importar para o banco de dados Biblio.mdb. A tabela será criada em tempo de execução. O nosso arquivo texto tem o seguinte formato.

Vamos fazer de conta que ela é gerada por um Mainframe e que temos que importá-la para o nosso arquivo para um tratamento posterior. É importante frisar que devemos saber o layout do arquivo texto para montar nossa rotina de importação e quais as informações devemos extrair para gerar nossa tabela.
O arquivo a ser importado chama-se texto.txt e possui as seguintes informações:
O arquivo possui as informações separadas ( delimitadas) por uma vírgula (,) , e usaremos esta informação para montar a rotina que irá separar os campos.
Nosso trabalho será separar cada informação e compor uma tabela com os campos:
A estrutura da tabela já criada será a seguinte:


| Private Sub Command1_Click() Dim F As Long, sLine As String, A(0 To 4) As String Dim db As Database, rs As Recordset On Error GoTo trata_erro F = FreeFile Open Text1.Text For Input As F Set db = DBEngine(0).OpenDatabase(Text2.Text) On Error Resume Next db.Execute "DROP TABLE ImportaTexto" db.Execute "CREATE TABLE ImportaTexto (ID LONG, [Desc] TEXT (50), " _ & "Quantidade LONG, Custo CURRENCY, DataPedido DATETIME)" Set rs = db.OpenRecordset("ImportaTexto", dbOpenTable) Do While Not EOF(F) Line Input #F, sLine ParseToArray sLine, A() rs.AddNew rs(0) = Val(A(0)) rs(1) = A(1) rs(2) = Val(A(2)) rs(3) = Val(A(3)) rs(4) = CDate(A(4)) rs.Update Loop MsgBox "Arquivo texto importado com sucesso !! " rs.Close db.Close Close #F Exit Sub trata_erro: MsgBox "Ocorreu o erro ==> " & Err.Description End Sub | 
| Sub ParseToArray(sLine As String, A() As String) Dim P As Long, LastPos As Long, I As Long P = InStr(sLine, ",") Do While P A(I) = Mid$(sLine, LastPos + 1, P - LastPos - 1) LastPos = P I = I + 1 P = InStr(LastPos + 1, sLine, ",", vbBinaryCompare) Loop A(I) = Mid$(sLine, LastPos + 1) End Sub | 
Ao executar o seu projeto e clicar no botão de comando - Importar o arquivo texto selecionado - teremos a seguinte tela:

Se você abrir o banco de dados verá a tabela - Importatexto - criada e o seu conteúdo exibido como na tela a seguir:

Sem mais comentários e até a próxima dica...
| 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 ? | 
  Gostou ?   Compartilhe no Facebook
Compartilhe no Facebook
  
 Compartilhe no Twitter
 
Compartilhe no Twitter 
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#