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

Un saluto a tutti
Uso un pacchetto gestionale per la creazione di report di bilancio. Il
programma usa file Access 97.
Il problema che incontro (mi succede per la prima volta) è questo:
devo importare un file di testo e il programma da la possibilità di
suddividere la stringa di testo in codice, descrizione e importo. Fin
qua tutto ok, solamente che il valore dell'importo è inverso al suo
segno, ovvero quando il valore è negativo (es.: 34876,24-) viene
convertito in positivo (es.: 34876,24).
Ho provato anche creando il file con alcuni record utilizzando Wordpad,
ma il risultato è lo stesso.
Un grazie a chiunque voglia rispondermi.
Ciao
Nicola Pezzini
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 ha scritto nel messaggio
news:5d58dbf621fc23f11f8...@mygate.mailgate.org...

Forse occorre portare il segno "-" a sinistra del numero. Con una query e
passando da excel non dovrebbe essere complicato importare la cifra e il
segno separatamente, poi ricostruire l'importo tramite una Iif() o Se() (per
l'excel).
-------------
Fabio Dalla Villa
Biella
nomec...@tiscalinet.it

Salve a tutti,
devo fare una procedura che importa un file di testo e vorrei usare il
DoCmd.TranferText.
Il problema è che devo anche assegnargli delle specifiche precise:
i file sono da accodare in una tabella esistente che contine dei campi in
più.
La documentazione fà riferimento ad un file chiamato SCHEMA.INI ma non ho
trovato nessun esempio di implementazione.
Per finire stò creando un ADP quindi non posso salvare le specifiche di
importazione.
Lorenzo



sistema 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.