Newsgroup: it.comp.appl.access
Titolo: Come usare DoCmd.TransferText SENZA indicare una 'specifica' per esportazione?

Sto tentando di usare questa riga di codice, senza indicare una 
'specifica' di esportazione (Access 2013, 32bit)
 
DoCmd.TransferText acExportDelim, , "articoli", "c:\articoli.txt", True
 
L'avanzato sistema mi risponde con un cordiale:
Errore  3144 - "Il separatore di campo nella specifica dei file di testo 
corrisponde al separatore decimale o al delimitatore di testo"
 
La domanda e': dov'e' che si trova questa impostazione (separatore campo 
e separatore decimale) per poterla modificare?
 
Domanda2: sapete se sia possibile (perche' nell'help del comando 
TransferText sembra che la 'specifica' sia opzionale) usare questo 
comando SENZA indicare una 'specifica' esportazione?
 
Da notare che usavo la stessa identica riga su un progetto realizzato 
con Access2003 e filava via tutto correttamente senza profferir errore
 

 con Access2003 e filava via tutto correttamente senza profferir errore
 
Sì, con il 2007 gli americani hanno apparentemente cambiato il 
separatore standard internamente in virgole senza pensare al resto del 
mondo.
 
Come scappatoia puoi inserire una specifica "universale" nella 
MSysIMEXSpecs specificando ; come FieldSeparator, SpecUniversale come 
SpecName. Puoi semplicemente scriverlo nella tabella e/o usare 
un'esportazione manuale come modello. In MSysIMEXColumns non hai bisogno 
di alcun record. Poi usi sempre "SpecUniversale" come specifica.
 
-- 
Ciao
Karl
*********
Access News: 
https://youtu.be/XMOHBSudo-U
 
Access DevCon: 
http://AccessDevCon.com
 
Access FAQ: 
https://www.donkarl.com/it
 
 


Molte grazie, si questa sembra essere LA soluzione
Senza non si puo' fare, ma con una specifica universale da usare per 
ogni tabella, settata coi valori "all'italiana"
Ma queste tabelle nascoste si possono trattare come tutte le altre?
Voglio dire, da codice posso fare una routine che mi vada a creare la 
specifica che serve a me?
 
 


non fai prima a realizzarti una funzione dove passi la tabella da 
esportare (o un generico predicato sql), il separatore campi che vuoi, 
nome e posizione del file, se vuoi l'intestazione campi o no e via?
 
BFS
 

 specifica che serve a me?
 
Sì.



Si, con la funzione autocostruita c'avresti il massimo controllo e spari 
fuori quel che vuoi, e probabilmente faro' cosi
Mi sono intestardito sul TransferText semplicemente perche' su procedura 
fatta con Access 2003 funzionava correttamente, tutto qua, non capivo 
come mai con versioni sucessive ambiente sviluppo si incriccasse
 

Il 06/12/2022 16:01, BFS ha scritto:

E se hai dei campi 'memo/blob' insomma quei campi li, come li passi su 
un file di testo?
 


usando sql server non ho i memo
e i blob per i miei usi non mi servono
 
BFS
 


Ok, cambiamo il tempo dei verbi
Se ti servissero come li passeresti su file di testo?
:)

 
 
Pare di no
Sto tentando di fare un update sulla MSysObjects per alcune righe ma mi 
spara fuori un 3073
Sto tentando con "CurrentDb.Execute "update MSysObjects set ..."

 Sto tentando con "CurrentDb.Execute "update MSysObjects set ..."
 
Come da domanda, ho scritto solo delle tabelle MSysIMEXSpecs e 
MSysIMEXColumns rilevanti per le specifiche che possono essere scritte, 
non di altre tabelle di sistema che sono ovviamente di sola lettura per 
proteggerle da persone come te. ;-)



per i memo che nel mio caso sono i nvarchar() dovrei solamente stare 
attento e gestire gli "a capo" e ovviamente non userei "," e ";" come 
separatore vista la probabilità di trovarmeli nei campi memo/note. Di 
solito uso "|"
 
BFS
 
 
 


Mmmmm...  e se si trattasse di immagini e quindi qualsiasi carattere usi 
come delimitatore gia' te lo trovi nel file?
 


a parte che le immagini le gestisco sempre come link esterno
ad ogni modo codificherei l'immagine in code64 che non contiene il "pipe"
 
BFS