Newsgroup: it.comp.appl.access
Titolo: Lettura File Txt

Salve,
ho il problema di dover analizzare un file txt che non riesco
assolutamente ad importare in Access 2000. Volevo sapere se qualcuno di voi
č cosě gentile di suggerirmi dei comandi o una piccola routine per
analizzare riga per riga di questo txt (riconoscere eventuali righe
bianche) per importarlo poi in un campo di una tabella del mio db. Ho
cercato nel Sito Comune ma purtroppo non ho trovato nulla.
Vi ringrazio in
anticipo.
Lna
--------------------------------
Inviato via 
http://usenet.iol.it

 wrote in message
213Z137Z129Z235Y...@usenet.iol.it...

lna... per importare un file di testo in una tabella, il testo stesso deve
rispettare delle regole... deve avere dei "separatori" che ne delimitano il
contenuto dei diversi campi...
Es. Mario;Rossi
Il punto e virgola č un "separatore" che indica la differenza di un
ipotetico campo nome e un campo cognome... chiaro l'esempio?
Se il tuo testo non lo rispetta dovresti inventarti altro, o darmi qualche
notizia in piů!
Fammi sapere...
Maurizio

On Tue, 12 Mar 2002 07:39:48 GMT, 
leonardo...@dietsmann.com
 (lna)
wrote:

sistemati  questo
On Error GoTo Err_importaFme_Click
Dim fs, f, f1, fc, s, agg, lis, posizione, nomefile
Set fs = CreateObject("Scripting.FileSystemObject")
posizione = dicidirectory("Fme Fanton")
lis = False
If posizione <> "" Then
    Set f = fs.GetFolder(posizione)
    Set fc = f.Files
    nomefile = dicinome("Fme Fanton")
    For Each f1 In fc
        If f1.Name = nomefile Then lis = True
    Next
End If
Dim db As Database
Dim rs As Recordset
Set db = CurrentDb
Dim ultimocodart As Double
Set rs = db.OpenRecordset("SELECT Val(Right([codart],Len([codart])-3))
AS Cod FROM metelFME ORDER BY Val(Right([codart],Len([codart])-3))
DESC")
If rs.EOF Then
    ultimocodart = 0
Else
    ultimocodart = rs![cod]
End If
rs.Close
Set rs = db.OpenRecordset("SELECT * FROM metelFME")
Const ForReading = 1, ForWriting = 2, ForAppending = 3
Dim Riga, cerca, vecchio, nuovo As Variant
If lis Then
 Set f = fs.OpenTextFile(posizione & nomefile, ForReading)
 Riga = (f.readline)
 Do While f.atendofstream = False
    Riga = (f.readline)
    cerca = UCase("" & RTrim(Left(Riga, 19)))
    rs.FindFirst ("desc=""" & cerca & """")
    If rs.NoMatch = True Then
        rs.AddNew
        rs![CodArt] = "FME" & ultimocodart + 1
        ultimocodart = ultimocodart + 1
        rs![Desc] = cerca
        rs![Desc2] = Mid(Riga, 33, 43)
        rs![pzoprodut] = Val(Mid(Riga, 98, 9)) / 1000
        rs![barre] = Mid(Riga, 20, 13)
        rs![data] = Date
        rs![PRODUTTORE] = "FME"
        rs![misura] = "Pz."
        rs.Update
    Else
        rs.Edit
        rs![Desc2] = Mid(Riga, 33, 43)
        rs![pzoprodut] = Val(Mid(Riga, 98, 9)) / 1000
        rs![barre] = Mid(Riga, 20, 13)
        rs![data] = Date
        rs![PRODUTTORE] = "FME"
        rs![misura] = "Pz."
        rs.Update
    End If
 Loop
 f.Close
 MsgBox "Importazione completata"
Else
    MsgBox ("File " & dicidirectory("Fme Fanton") & dicinome("Fme
Fanton") & " non trovato")
End If
rs.Close
Set db = Nothing
Exit Sub
Err_importaFme_Click:
    MsgBox "Errore durante l'importazione dei dati"
    Exit Sub
Saluti.
Emanuele.

assolutamente ad importare in Access 2000. 
Quello che ti ha detto
Maurizio č sacrosanto ... se non č chiara e definita la struttura dei dati
non ci sono santi ! Se invece si tratta di un unico campo e non ti riesce
l'importazione per via di quei campi "bianchi" proverei a "collegare" il
file, anzichč importarlo, cercando poi di filtrare le righe vuote
attraverso una query di creazione o accodamento in una nuova tabella ...
OndaMax


 Inviato via 
http://usenet.iol.it
Fondamentalmente hai 2 modi di importare Text File:
1)Tranfertext con le modalità già illustrate, ma con i vincoli noti.
2)Open File For Input ec....
  Più brigoso, ma ti permette di controllare i dati e scartarli, o
  elaborarli prima della memorizzazione
Alessandro.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG