Newsgroup: it.comp.appl.access
Titolo: importare dati da vecchio sistema

Salve a tutti,
Sto realizzando un programma molto semplice in Access 2003 che consenta
di memorizzare i dati relativi ai clienti di uno studio oculistico..
Il vero problema è rappresentato dalla richiesta, da parte del
committente del lavoro, di memorizzare all'interno del programma che
sto realizzando TUTTI i record relativi ai suoi pazienti..
Ovviamente capirete che è impossibile memorizzare "manualmente" lo
spropositato elenco di clienti e visite da vent'anni a questa parte..
Occorre quindi ricavarli da un vecchissimo programma di gestione ancora
in uso presso lo studio oculistico che gira sotto DOS..
Ho controllato le funzionalità di questo programma obsoleto (risale a
13 anni fa..) e ovviamente non vi è alcuna funzione di esportazione
Spulciando nella cartella di installazione ho però trovato una cosa
interessante, ovvero un file CLIENTI.DAT (circa 50MB) che una volta
aperto con WordPad contiene tutti i dati che mi occorrono :)
L'unica nota dolente è però rappresentata dalla strana organizzazione
di tali dati.. ci sono spazi, punteggiature, a capo, ecc.
Ecco l'esempio di un cliente X (da me inventato per ovvi motivi di
privacy):
              66ROSSI           MARIO 62
                                                            BRUCIORE E
PRURITO PRIMAVERILE
                                                             -3.25
  -2   -0.5 90                             0.25   -3.5
  -2.0
                   -3.75                                            -
        0.75-3.0                       - -                  -3.50
 1010-2.50-0.7590 ORTOFR.
               -3.5         -2.50-0.7590
                                                       IPEREMIA
 CONG. LIEVE
       NAAXIA
                 40   DEF L
                              P: -4 -0,5 100  10/10 VC 10/10  -3 -1,25
100
                  74  DEF L E V
                                S.L.   10/10 VC 10/10   S.L.
                                      -3,75 -1 120   A    -3 -1,75 100
                                             P:L:  -4 -0,5 105    -3
-1,25 100                                                 V:  -2 -0,5
105    -1 -1,25 100
Quello che gentilmente vi chiedo e se sapreste suggerirmi una qualche
maniera per "parserizzare" questo file DAT in modo da ricavare i dati
in maniera ordinata e salvarli direttamente nei campi corretti della
tabella Clienti che ho realizzato in Access..
Grazie mille in anticipo a tutti!

 tabella Clienti che ho realizzato in Access..
comincerei confrontando le schermate del programma con i dati, 
individuando i campi e le relative lunghezze
eventualmente creerei un falso cliente nel cui record TUTTI i campi 
sono riempiti fino alla lunghezza massima in modo da facilitare il 
riconoscimento nel file DAT
dopodichè ci si mette sotto con il codice
-- 
/-\ /\/\ /\/\ /-\ /\/\ /\/\ /-\ T /-\

Ciao Ammammata
grazie per la tua risposta!
ok sul confronto dei campi e relative lunghezze!
Fin qui ci ero arrivato in effetti..
Ma quello che vi chiedo è se esiste in VBA una qualche metodo per
aprire la connessione con un file DAT (come ne esistono in Java ad
esempio) e di lì una volta capita la struttura del file DAT ricavare
una lista di token tramite un separatore stabilito (lo spazio ad
esempio) per poi memorizzarla nei campi della tabella...
Insomma qualche aiutino più sul codice sorgente vi chiedo :P
grazie!

Purtroppo non esiste una struttura fissa per i file DAT, né esiste un
"tracciato record" ricavabile dal file DAT. Il tracciato record è
presente soltanto nel programma (ovviamente non leggibile in chiaro) e
nella mente del programmatore...
L'unica cosa ipotizzabile (ma che deve essere verificata) è che forse
è stato utilizzato un file con record a lunghezza fissa. Questa cosa
la puoi verificare abbastanza facilmente caricandoti il file riga per
riga e contando i caratteri di testo di alcune righe fino ai caratteri
di "separazione riga" (di solito ASCII 13 + ASCII 10, ma talvolta solo
ASCII 13 o solo ASCII 10, dipende...).
Per ricavare il significato dei singoli campi l'unico modo è quello
che ti ha scritto Ammammata.
Una nota: per i dati numerici, il formato potrebbe essere "impaccato" e
quindi non leggibile con cifre in formato ASCII leggibile. La modalità
di lettura dei numeri dipende da come sono stati scritti.
Mario De Ghetto
www.deghetto.it