PROBLEMA NA IMPORTACAO TXT PARA ACCES
Boa noite
Peguei esse codigo no site do marcoratti, mas dando erro [Ô]type mismatch[Ô] se alguem puder ajudar ai vai o codigo:
Dim db As Database
Dim rs As Recordset
Private Sub Command1_Click()
Dim F As Long, Linha As String
Dim db As Database, rs As Recordset
F = FreeFile
Open Text1.Text For Input As F [ô]abre o arquivo texto
Set db = DBEngine(0).OpenDatabase(Text2.Text) [ô]abre o banco de dados
On Error Resume Next [ô]se a tabela não existir escapa da mensagem de erro
db.Execute [Ô]DROP TABLE Clientes[Ô] [ô]exclui a tabela se ela ja existir
On Error GoTo trata_erro [ô]ativa tratamento de erros
db.Execute [Ô]CREATE TABLE Clientes ([ID] LONG, [Nome] TEXT (50), [Ô] _
& [Ô][Endereco] TEXT (50), [telefone] TEXT (15), [Nascimento] TEXT (10))[Ô] [ô]cria a tabela c/a estrutura
Set rs = db.OpenRecordset([Ô]Clientes[Ô], dbOpenTable) [ô]abre a tabela para receber os dados
Do While Not EOF(F)
Line Input #F, Linha [ô]lê uma linha do arquivo texto
[ô]extrai a informação do arquivo texto usando a função MID
id = Mid(Linha, 1, 4)
nome = Mid(Linha, 5, 24)
endereco = Mid(Linha, 25, 47)
telefone = Mid(Linha, 48, 58)
nascimento = Mid(Linha, 59, 65)
rs.AddNew [ô]inclui novo registro
rs(0) = id
rs(1) = nome
rs(2) = endereco
rs(3) = telefone
rs(4) = nascimento
rs.Update [ô]grava o registro inserido
Loop
MsgBox [Ô]Arquivo texto importado com sucesso !! [Ô]
rs.Close
db.Close
Close #F
Exit Sub
trata_erro:
MsgBox Err.Description
End Sub
Peguei esse codigo no site do marcoratti, mas dando erro [Ô]type mismatch[Ô] se alguem puder ajudar ai vai o codigo:
Dim db As Database
Dim rs As Recordset
Private Sub Command1_Click()
Dim F As Long, Linha As String
Dim db As Database, rs As Recordset
F = FreeFile
Open Text1.Text For Input As F [ô]abre o arquivo texto
Set db = DBEngine(0).OpenDatabase(Text2.Text) [ô]abre o banco de dados
On Error Resume Next [ô]se a tabela não existir escapa da mensagem de erro
db.Execute [Ô]DROP TABLE Clientes[Ô] [ô]exclui a tabela se ela ja existir
On Error GoTo trata_erro [ô]ativa tratamento de erros
db.Execute [Ô]CREATE TABLE Clientes ([ID] LONG, [Nome] TEXT (50), [Ô] _
& [Ô][Endereco] TEXT (50), [telefone] TEXT (15), [Nascimento] TEXT (10))[Ô] [ô]cria a tabela c/a estrutura
Set rs = db.OpenRecordset([Ô]Clientes[Ô], dbOpenTable) [ô]abre a tabela para receber os dados
Do While Not EOF(F)
Line Input #F, Linha [ô]lê uma linha do arquivo texto
[ô]extrai a informação do arquivo texto usando a função MID
id = Mid(Linha, 1, 4)
nome = Mid(Linha, 5, 24)
endereco = Mid(Linha, 25, 47)
telefone = Mid(Linha, 48, 58)
nascimento = Mid(Linha, 59, 65)
rs.AddNew [ô]inclui novo registro
rs(0) = id
rs(1) = nome
rs(2) = endereco
rs(3) = telefone
rs(4) = nascimento
rs.Update [ô]grava o registro inserido
Loop
MsgBox [Ô]Arquivo texto importado com sucesso !! [Ô]
rs.Close
db.Close
Close #F
Exit Sub
trata_erro:
MsgBox Err.Description
End Sub
Quando traz dados de um arquivo de texto, eles sempre vem em formato String, ou seja, se algum dos campos que estiver tentando gravar os dados for de outro formato(numérico por exemplo), vai dar o erro de [Ô]Type mismatch[Ô]
Pelo que parece o erro que esta ocorrendo, é relativo ao campo ID, tente colocar RS(0) = cdbl(ID)
Configuração dos campos
id=numerico
nome=texto - tamanho 50
endereco=texto 50
telefone=texto 15
nascimento=texto 10
id=numerico
nome=texto - tamanho 50
endereco=texto 50
telefone=texto 15
nascimento=texto 10
tire isso
crie a tabela na mao.. pois ele ta criando a tabela em tempo de execução, debugue o codigo e passe onde esta dando o erro.em qual linha.
db.Execute [Ô]CREATE TABLE Clientes ([ID] LONG, [Nome] TEXT (50), [Ô] _
& [Ô][Endereco] TEXT (50), [telefone] TEXT (15), [Nascimento] TEXT (10))[Ô] [ô]cria a tabela c/a estrutura
crie a tabela na mao.. pois ele ta criando a tabela em tempo de execução, debugue o codigo e passe onde esta dando o erro.em qual linha.
Tópico encerrado , respostas não são mais permitidas