Newsgroup: it.comp.appl.access
Titolo: Importare file di testo....

Salve a tutti,
vorrei sapere se qualcuno mi può aiutare visto che ho un file di testo che
devo trasformare in tabella access!!! Mi spiego: questo file ha circa 10.000
righe e su una riga è scritto qualcosa tutto attaccato, il mio problema è
interrompere quando dico io e riprendere quando dico io da una certa
posizione. Es.
File di testo:
provacontrotuttiperquestadifficoltàassurdapago10000euro
allora il mio risultato dovrà essere:
prova (in un campo) contro (in un campo) tutti (in un campo) etc.etc.
e poi ancora lo stesso con le righe sotto.
Grazie non so proprio come fare !!

Romeo ha scritto:


Quindi i campi non hanno la stessa lunghezza in tutti i record? O si?
Potevi mettere qualche riga del file in più come esempio.
Namor
-- 
namor at inwind punto it
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 ha scritto nel messaggio
news:c1cb09$liu$1...@news.newsland.it...

Si hanno la stessa lunghezza ecco l'esempio...
1487/20 6055 53/15  7500193765341487                6055           5315
VDASIL   0000738500018489*
1487/20 6055 55/16  7500193765411487                6055           5516
VDASIL   0000738500018489*
1489/20 6050 54/17  7500194037971489                6050           5417
VDASIL   0000919300023137*
N.B. Ho già consultato il sito comune e ho trovato anche nei vecchi
newsgroup la soluzione, proprio sul fatto di impostare le specifiche e
proprio poterle richiamare da codice, ma quello che voglio è fare tutto da
codice se è possibile.
Ciao e grazie

 Ciao e grazie
Allora è facile, basta aprire il file con Open(), leggere le righe una ad
una con line input # e separare i campi con left() right() e mid().
Una volta che hai separato i campi li puoi mettere in una tabella con SQL
(INSERT INTO...) o con DAO (recordset.addnew, .update).
Ricordati di chiudere il file con close quando hai finito l'importazione,
e di chiudere il recordset (set recordset=nothing) se usi DAO.
Sull'help in linea (F1) trovi l'elenco dei parametri da usare con le varie
funzioni.


 ha scritto nel messaggio
news:c1da8q$4ct$1...@news.newsland.it...

Ciao Namor, ti ringrazio per la risposta, però io ho un grandissimo
problema, non so nemmeno cosa vuoil dire DAO e SQL, uso solo lo 0,00001% di
Access 2002 di tanto in tanto creo delle macro e poi le converto in moduli e
vedo come funzionano i moduli di access 2002. Saresti così gentile da
battermi proprio il codice che dovrei usare e se non chiedo troppo darmi una
leggera infarinata su DAO e SQL ?
Grazie anticipatamente (se puoi).

 Grazie anticipatamente (se puoi).
Ti posso dare questo, visto che l'ho già pronto:
importa un file di testo con questo formato:
COGNOME        NOME      27/05/1978
cognome 16 caratteri, nome 10 caratteri, data nascita 10 caratteri
e lo inserisce in una tabella via SQL con INSERT INTO
  Dim f As Integer, Riga as string, cognome as string
  Dim nome as string, nascita as date, SQL as string
  f = FreeFile 'chiedi un numero di file valido
  On Error Resume Next 
  Open "D:\cartella\file.txt" For Input Access Read Lock Write As #f
  If Err.Number > 0 Then 
    msgbox "Impossibile aprire il file!"
  End If
  On Error Goto 0
  While Not EOF(f) 'esegui finchè non finisce il file di testo
    Line Input #f, Riga 'leggi un'intera riga del file (escluso vbCrLf)
    if len(Riga)>0 'se la riga non è vuota
      cognome=trim(left(Riga,15))
      nome=trim(mid(Riga,16,10))
      nascita=datevalue(right(Riga,10))
      SQL= "INSERT INTO [tabella] (cognome, nome, nascita) " & _
           "VALUES (""" & cognome & """,""" & nome & """,#" & _
           format(nascita,"mm/dd/yyyy") & "#);"
      currentdb.execute SQL
    end if
  Wend
