Newsgroup: it.comp.appl.access
Titolo: Mistero ... su esportazione file di testo

Ragazzi scusatemi ma mi è successa una cosa singolare...
Ho l'esigenza di creare un file di testo ke esporti non tabelle o form,
ma alcune informazioni di vario tipo.
Ho guardato la guida e alcuni post precedenti e i risultati sono stati:
1) Open "C:\Prova.txt" For Output As #1
   Print #1, "Questa è una prova"
   Close #1
2) Set fs = CreateObject("Scripting.FileSystemObject")
   Set a = fs.CreateTextFile("C:\Prova.txt", True)
   a.WriteLine ("Questa è una prova")
   a.Close
A questo punto mi chiedo:
a) per una maggiore compatibilità o per qualke altro motivo c'è da
preferire uno dei 2 metodi?
b) c'è un altro modo per esportare su file di testo o questi sono gli
unici?
c) Se i riferimenti presenti nel mio DB sono:
	- Visual basic for applications (file: VBE6.DLL)
	- Microsoft Access 10.0 Object Library (file: MSACC.OLB)
   Come mai non riesco a trovare nè il metodo "Open" nè "print" nè
"close", mentre trovo "CreateObject" ma non
"CreateTextFile" ?
Malgrado ciò i due metodi sopramenzionati funzionano!
Vorrei essere certo ke nel momento in cui installo il mio DB non abbia
sorprese.
Secondo voi potrebbe essere che pur non avendo alcuni riferimenti in
libreria funziona tutto perchè magari ho installato
qualke libreria di visual basic?
Spero di non avervi posto troppi interrogativi!!! :-)

 ha scritto nel messaggio news:1127284651.6...@g44g2000cwa.googlegroups.com...











[risposta]
Per quanto riguarda la compatibilità, il metodo Open/Print/Close esiste in Basic da almeno 20anni.
L'utilizzo del Scripting.FileSystemObject esiste dalla versione del S.O. Win2000 (o NT) e si tratta di script VB/WSH installabili 
anche su Win9x/ME(forse), quindi script a livello di sistema operativo che access 2000 può utilizzare direttamente mentre per la 
versione '97 dovevi inserire i riferimenti della libreria scripting.
Per il metodo Open non trovi nulla nell'help (da acc2000 in poi) perché è un casino!
Se vuoi vedere qualcosa devi interrogare l'help di VBA premendo ALT-F11 (entri nell'editor VBA) e scrivi esattamente "metodo open" e 
troverai anche il: Metodo OpenTextFile.
Per l'help di script FileSystemObject, vai su 
www.microsoft.com/italy/scripting
 e ti scarichi l'ultima verisione di vbscript e 
l'help in italiano...
Ciao.
-- 
Sergio MAZZA 

Ti ringrazio per la risposta.
Quindi da quanto ho capito il metodo migliore è il primo, visto ke
c'è da parecchi anni.
A questo punto un'altra domanda:
Se sono disponibili in tutte le versioni di Access questi metodi:
open
Input #
Line Input #
Width #
Print #
Write #
.....
come mai li troviamo solo in una parte recondita della guida e non li
troviamo nella finestra del "visualizzatore oggetti" di VBA?
In quale file di libreria sono disponibili questi comandi ?
Inoltre ho trovato nella guida questa nota:
Se si prevede di dover leggere in seguito i dati di un file utilizzando
l'istruzione Input #, è consigliabile utilizzare l'istruzione Write #
anziché l'istruzione Print # per scrivere i dati nel file in quanto
ogni campo di dati separato risulterà integro e adeguatamente
delimitato e potrà quindi essere letto senza problemi utilizzando
l'istruzione Input #. L'utilizzo dell'istruzione Write # garantisce
inoltre la possibilità di leggere correttamente il file con qualsiasi
impostazione internazionale.
che chiarisce la differenza tra Print # e Write #
ciao

 ha scritto nel messaggio news:1127292791.3...@g43g2000cwa.googlegroups.com...
Ti ringrazio per la risposta.
Quindi da quanto ho capito il metodo migliore è il primo, visto ke
c'è da parecchi anni.
[risposta]
Sì, sempre che MS non decida il contrario...
A questo punto un'altra domanda:
Se sono disponibili in tutte le versioni di Access questi metodi:
open
Input #
Line Input #
Width #
Print #
Write #
.....
come mai li troviamo solo in una parte recondita della guida e non li
troviamo nella finestra del "visualizzatore oggetti" di VBA?
In quale file di libreria sono disponibili questi comandi ?
[risposta]
Ah! Mo' vuoi sapere troppo...
Non ne ho idea; è probabile che faccia parte del Modulo FileSystem visto che ci si trovano altre "vecchie" istruzioni, ma non lo 
vedo.
Inoltre ho trovato nella guida questa nota:
Se si prevede di dover leggere in seguito i dati di un file utilizzando
l'istruzione Input #, è consigliabile utilizzare l'istruzione Write #
anziché l'istruzione Print # per scrivere i dati nel file in quanto
ogni campo di dati separato risulterà integro e adeguatamente
delimitato e potrà quindi essere letto senza problemi utilizzando
l'istruzione Input #. L'utilizzo dell'istruzione Write # garantisce
inoltre la possibilità di leggere correttamente il file con qualsiasi
impostazione internazionale.
che chiarisce la differenza tra Print # e Write #
ciao
[risposta]
Sì; devi impostare bene il formato di esportazione dei dati perché influirà sull'importazione.
Controlla (se non l'hai già fatto) anche il metodo TransferText...
Ciao.
-- 
Sergio MAZZA