PROBLEMA NA IMPORTACAO TXT PARA ACCES

FABRICIOFAG 13/07/2011 21:50:08
#379092
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
KERPLUNK 14/07/2011 10:09:16
#379122
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[Ô]
CASSIOJFF 14/07/2011 10:42:03
#379126
Pelo que parece o erro que esta ocorrendo, é relativo ao campo ID, tente colocar RS(0) = cdbl(ID)
FABRICIOFAG 14/07/2011 20:31:19
#379210
Configuração dos campos
id=numerico
nome=texto - tamanho 50
endereco=texto 50
telefone=texto 15
nascimento=texto 10
XXXANGELSXXX 19/07/2011 08:33:49
#379512
tire isso
   
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