Newsgroup: it.comp.appl.access
Titolo: esportazione in file txt a larghezza fissa

dovrei risolvere questo problema e vista la mia ignoranza...
da un database con tre tabelle diverse dovrei esportare i dati di tutte e
tre le tabelle in un unico file di testo...
nel file di testo pippo.txt dovranno esserci quindi la stringa o le stringhe
proveniente dalla tabella_1 quindi dalla tabella_2 e dalla tabella_3
qualcuno sa indicarmi come procedere?
grazie
skipper dixit...

"skipper" <NOskip...@GRAZIEsuperskipper.it> ha scritto nel messaggio
news:R9Jwb.21037$9k3....@tornado.fastwebnet.it...

Ma le tabelle 1 2 e 3 da quali campi sono composte?
Ciao
Salvatore

 ha scritto nel messaggio
news:bpvp33$ga0$1...@lacerta.tiscalinet.it...

sono composte da una serie di campi tutti testo di lunghezza definita
tabella1 campoA campoB campoC
tabella2 campoD campoE campoF
tabella3 campoG campoH campoI
in realtà i campi sono molti di più...
skipper dixit...

Il 25 Nov 2003, 17:00, "skipper" <NOskip...@GRAZIEsuperskipper.it> ha
scritto:

O esporti la query o accodi la query in una tabella temporanea.
MAssimiliano
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 ha scritto nel messaggio
news:62Z94Z57Z93Y1...@usenet.libero.it...

Speravo in un comando automatico che mi esportasse direttamente nel file.txt
in quanto non posso accodare in una tabella temporanea perchè il numero di
campi è diverso da tabella a tabella e anche perchè non vi è omogeneità
nella lunghezza dei campi (per esempio, il secondo campo di ogni tabella è
per la prima tabella lungo 10 per la seconda 12 e per la terza 15). Per ora
esporto le singole tabelle in tre file.txt e poi un volgare copia incolla da
una al'altra...
speravo in una procedura che automatizzasse il tutto.
skipper dixit...

skipper ha scritto:






Quindi le 3 tabelle non sono in relazione tra di loro, devi semplicemente
esportarle una alla volta accodandole nello stesso file?
Quando hai esportato nei tre file puoi automatizzare anche l'accodamento:
crei un file accoda.bat che accodi i 3 files ed elimini il 2° ed il 3°:
type file2 >> file1
type file3 >> file1
del file2
del file3
e poi lo esegui subito dopo l'esportazione con interaction.shell
"path\accoda.bat"
Namor
-- 
namor at inwind punto it
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 ha scritto nel messaggio
news:bq1u5a$h5k$1...@news.newsland.it...

acc.... diafolo d'un DOS!!! Sturmtruppen docet...
grazie....
sai anche dirmi se posso automatizzare l'esportazione?
L'utente inserisce i dati nella maschera e poi preme un pulsante che prima
esporta le tre tabelle in tre files separati e poi parte la procedura che mi
hai appena descritto?
grazie ancora
skipper dixit...

 skipper dixit...
Si, sull'evento click del pulsante usi docmd.transfertext per creare i
files, e poi lanci il .bat.
O fai l'esportazione da vba, nel qual caso non ti serve il .bat perchè ti
basta continuare a scrivere le 3 tabelle sempre sullo stesso file.
O fai una query UNION che unisca le 3 tabelle, poi esporti la query e
ottieni direttamente un unico file.



Anch'io volevo suggirgli la query di unione ma ha detto che le tabelle sono
diverse nella struttura.
MAssimiliano

 ha scritto nel messaggio
news:Cc5xb.9551$i_5....@news.edisontel.com...

chiedendo venia per la mia somma ignoranza... ma le query d'unione, sono le
query a campi incrociati?
skipper dixit...

 query a campi incrociati?
No non c'è nell'autocomposizione
Serve quando hai due tabelle con campi uguali.
tu fai
select pippo from tab1
union
select pippo from tab2
Lui ti farà vedere (solo lettura però, non ci puoi lavorare) le due tabelle
come fossero una.
MAssimiliano
p.s. verso giugno chiedesti compagni per le vacanze in barca perchè altri ti
avevano solato.
Hai risolto poi?
MAssimiliano

 MAssimiliano
Sě poi ho regolarmente veleggiato.... adesso pausa invernale sino a febbraio
marzo.... a meno che non decida di fare una follia da capodanno per una
settimana in corsica... d'inverno č meraviglioso anche se freddo... hehehe
sono aperte le iscrizioni.. ;-)
skipper dixit...
www.superskipper.it

 MAssimiliano
Visto che la finalità è l'esportazione su file si può fare.
Basta creare per ogni tabella un unico campo calcolato che ricalchi la
struttura che vuoi dare al record nel file di testo, e poi unire i campi
ed esportare la query:
SELECT titolo & " " & nome & " " & cognome AS campo1 FROM Tab1
UNION SELECT format(data,"gg/mm/aaaa") AS campo1 FROM Tab2
UNION SELECT indirizzo & ", " & numero AS campo1 FROM Tab3;


 Namor
Lui la esporterà in un formato "neutro" come 'testo'.
Interessante. Bravo
MAssimiliano


in questo caso, quando avviene l'esportazione, un campo di 100 caratteri
compilato solo per 10 viene esportato con tuti e 100 i caratteri o solo per
i 10?
skipper dixit...


la spaziatura rimane di 100
MAssimiliano

skipper ha scritto:

[cut]



Non so, ma basta fare una prova. Casomai li forzi tutti alla dimensione
del campo più lungo con l'espressione 
[campo] & space(maxlungh-len(campo))
maxlungh la ricavi con Dmax su len(campo) o con
(SELECT TOP 1 Len([campo]) as espr1 FROM query_union)


 ha scritto nel messaggio
news:bq7afk$m55$1...@news.newsland.it...

Grazie mille ad entrambi per la consulenza...
skipper dixit...