Newsgroup: it.comp.appl.access
Titolo: ciclo per esportare tabelle in file di testo

Buonasera a tutto il NG ....
In un database ho una lunga serie  di tabelle che devo esportare in file di 
testo delimitato, tutte hanno lo stesso metodo di esportazione anche se 
hanno un numero di campi differenti.
E' possibile tramite un ciclo effettuare questa operazione salvando poi i 
file in una directory predefinita ?
Grazie in anticipo per ogni suggerimento !
Paolo 

Cla ha scritto:

Ovviamente si.
Dim tdf as DAO.Tabledef
For each tdf in CurrentDb.Tabledefs
    If UCase(Left(tdf.Name, 4)) <> "MSYS" then
        Docmd.TransfertText (F1) vedi help
    End If
Next
@Alex

Alessandro Baraldi ha scritto:

Forse il condizionamento del Tipo di Tabella è meglio farlo così:
If Not ((tdf.Name Like "~*") Or ((tdf.Attributes And dbSystemObject) <>
0)) Then
Ciao
@Alex

 @Alex
Forse il condizionamento del Tipo di Tabella č meglio farlo cosě:
If Not ((tdf.Name Like "~*") Or ((tdf.Attributes And dbSystemObject) <>
0)) Then
Ciao
@Alex
Ciao a te Alex e buongiorno ....non sono ancora del tutto sveglio ....ma 
stamattima provo ad applicare la tua soluzione. Se l'ho capita bene mi 
risparmiera circa 70 esportazioni "singole" ... dici nulla?
Grazie ancora!
Paolo

 ha scritto nel messaggio 
news:QdyBg.15707$ZJ6....@tornado.fastwebnet.it...

Buongiorno a tutti e buone vacanze....
Riattivata la connessione Internet (bonta loro....) vengo al mio problema.
Alex mi ha suggerito una soluzione che ho provato ma dove ho incontrato 
passaggi che non ho compreso, anche perche non mi sono credo spiegato bene.
Le tabelle che devo esportare sono circa 70 e per ognuna devo creare un file 
che si salvi in una directory predefinita, le tabelle sono tutte da 
esportare in file di testo delimitato da pipe e con nomi dei campi nella 
prima riga, ma hanno numero di campi differenti, ma come detto le stesse 
regole di esportazione.
Vorrei quindi comprendere come fare tramite il ciclo che mi ha suggerito 
Alex (mi dai una mano per l'ennesima volta per favore?)
Grazie come sempre!
Paolo 

 Paolo
 In attesa che ti risponde Alex posso dirti che se vuoi usare le specifiche 
di esportazione salvate, dovrai crearne 70 e questo perchè il numero e i 
nomi dei campi sono diversi.
Aggiungo che tutto sommato ti conviene creare le 70 specifiche usando dei 
nomi del tipo "Esporta+NomeTabella" perchè questo ti permetterà di ciclare 
meglio, su tutte le specifiche, con pochissimo codice e senza dover ripetere 
il codice per ogni tabella esportata.
Detto questo esiste anche la possibilità di aprire altrettanti file e 
scriverci dentro quello che vuoi, compresi i nomi dei campi, i separatori e 
i valori.
A mio avviso quest'ultima è la strada più lunga e più complicata. Forse 
varrebbe la pena di crearsi 70 specifiche di esportazione e ciclare tra 
queste.
Ciao, Carlo 

 ha scritto nel messaggio 
news:ebn32f$3lc$1...@area.cu.mi.it...

Ciao a te Carlo e grazie davvero per la risposta, in effetti mi sono creato 
le 70 specifiche (che rispettano la denominazione che hai indicato) e li mi 
sono fermato dato che non so come ciclare il tutto in modo che non debba 
ripetere sempre il lavoro sulle specifiche.
Quindi sono a "caccia" del modo di effettuare il ciclo.
Detto questo, mi piacerebbe sapere se possibile quanto è complicato adottare 
anche la seconda soluzione che tu hai prospettato.
Ti ringrazio ancora
Buona serata
Paolo 

 Paolo
Ciao Paolo, purtroppo non ho il tempo per rispondere compiutamente.
Spero che qualcuno leggendoti possa darti una risposta piů completa.
Il concetto č quello esposto dall'esempio di Alex quando cicla sulla 
collezione di tabelle. Questo un esempio:
Dim tdf as DAO.Tabledef
 For Each tdf In CurrentDb.TableDefs
     If UCase(Left(tdf.Name, 4)) <> "MSYS" Then
         DoCmd.TransferText acExportDelim, "Esporta" & tdf.Name, tdf.Name, 
"c:\" & tdf.Name & ".txt", True
         End If
 Next
Va bene se hai usato "esporta" come suffisso seguito dal nome della tabella.
Ciao, Carlo


Grazie Carlo ! dlall'esempio che hai postato ho capito meglio come si svolge 
un ciclo sulle tabelle escludendo le tabelle nascoste e usando il nome dato 
alle singole specifiche.
Credo proprio che dalla prossima volta mi sarà risparmiato il grosso e 
,lungo lavoro sule specifiche ....ed era quello che volevo !
Buona giornata a te e tutto il NG !
Paolo