Il 27/11/2020 08:53, Carlo POTS ha scritto:
> Suggerimenti?
>
>
Forse ho capito dove sta l'inghippo.
Ricapitoliamo:
dopo la selezione del file con la finestra di dialogo, procedo a fare
come dici tu:
Docmd.TransferText,acImportDelim, , [Tabella], [Percorso]
Il sistema mi mette tutto nella tabella specificata.
Il problema è che mette proprio tutto, incluso i ";" e in un campo unico
che lui mi nomina "F1" (manco so da dove lo prende...).
Forse l'inghippo sta nel fatto che nel file CSV da acquisire, ci sono
record diversi, che, se cominciano per 1, hanno una certa
caratteristica; se cominciano per 2 ne hanno un'altra, e via
discorrendo, e tutti uno sotto l'altro.
Giusto per capire, nel file mi ritrovo questi 3 record, uno sotto l'altro:
-------------------------------------------------------------------
1;2020;(partita IVA);03;(partita IVA);30110004;02600000323;46021;18409
2;2020;(partita IVA);03;(partita IVA);30110004;02600000323;(cod.
fiscale);14794;5918;103;(Ragione Sociale);(partita IVA)
3;2020;(partita IVA);03;(partita IVA);30110004;02600000323;(cod.
fiscale);062;059;#;67;00151;###;012;3044
------------------------------------------------------------------
L'idea sarebbe, in primo luogo separare i vari tipi record (il primo
carattere del record) al momento dell'acquisizione e metterli in varie
tabelle diverse a seconda di quanti tipi di record, e poi acquisirle in
toto, ovvero includendo anche il CSV (il ";").
Solo così (forse) supererei uno scoglio non indifferente.
Ho letto la sintassi del TransferText, ma non so come fare per
trasferire dallo stesso file "quel tipo" di record e nessun altro in una
tabella specificata, poi "quell'altro tipo" di record in un'altra
tabella specificata e via discorrendo; in pratica non sono riuscito a
capire come inserire una sub "WHERE" nella TransferText
Non sarebbe, forse, più fattibile farlo direttamente in tabella?
Mi spiego meglio: anziché utilizzare direttamente TransferText, andrei
ad utilizzare la prima opzione che mi hai detto (cioè Open For Input), e
metto tutto in una sola tabella, dove riesco (settando bene la query) ad
inserire in un campo a parte, il tipo di record (1, 2, 3 etx);
Quindi opterei per una serie di Query di accodamento per smistare i vari
record sulle varie tabelle con la sub "WHERE" dove indicherei il tipo di
record.
A questo punto mi ritroverei N tabelle dove avrei il record completo,
incluso il ";".
Da questo momento mi perdo.
Ho provato a seguire anche quanto mi ha consigliato Shadogps, ma c'ho
capito ben poco...
--
Carlo POTS