Newsgroup: it.comp.appl.access
Titolo: esportare risultato query in piu' file di testo

salve,
 
avrei questo problema:
 
una query e' cosi' composta
 
CLIENTE   COD ART     PREZZO
A                 PIPPO         20,00
A                 PLUTO         15,00
A                 PAPERINO   21,00
B                 PLUTO         16,00
 
come posso esportare la query generando un singolo file di testo cosi'
composto? (in pratica un file per ogni cliente)
 
file A.TXT
CLIENTE   COD ART     PREZZO
A                 PIPPO         20,00
A                 PLUTO         15,00
A                 PAPERINO   21,00
 
file B.TXT
CLIENTE   COD ART     PREZZO
B                 PLUTO         16,00
 
grazie


Certo. Filtri le query a seconda del cliente ed esporti


Grazie, ma qualcosa di piu' automatizzato, visto che mi ritrovo con
qualche centinaio di clienti?

 qualche centinaio di clienti?
 
Stessa risposta: filtri la query
Da codice
 
set rst=[recordset con tutti i clienti]
 
do until rst.eof
StrSql = "TuaQuery WHERE IdCliente=" & rst![id]
esporta
next
 
fai tante query in un ciclo a seconda dei clienti


grazie per la risposta,
ma nel caso in cui non voglia filtrare i clienti
e voglia esportare tutto il risultato della query e generare 1 file ad
ogni cambiamento del campo CLIENTE?

 ...

Una query non si puo programmare bene. Per questa ragione �
meglio di creare un report sulla base della query e filtrare e esportare
il report con un codice come questo:
 
Dim db As DAO.Database
Dim rs As DAO.Recordset
 
Set db = CurrentDb
Set rs = db.OpenRecordset("NomeQuery", dbOpenDynaset)
 
DoCmd.OpenReport "MioReport", acViewPreview
 
Do Until rs.EOF
    Reports!MioReport.Filter = "IdCliente=" & rs!IdCliente
    Reports!MioReport.FilterOn = True
    DoEvents
    DoCmd.OutputTo acOutputReport, "MioReport", acFormatTXT, _
            "c:\MiaBellaCartella\" & rs!IdCliente & ".txt"
    rs.MoveNext
Loop
 
DoCmd.Close acReport, "MioReport"
 
-- 
Ciao
Karl
*********
Access FAQ:  
http://www.donkarl.com/it
 
 
 

 il report con un codice come questo:
 
salve, grazie della risposta
 
ho creato un database semplice con una tabella chiamata listinocliente
questi i dati all'interno:
 
cliente	prodotto	prezzo
PIPPO	A	1,5
PIPPO	B	1,8
PIPPO	C	1,9
PLUTO	A	1,75
PLUTO	C	1,4
 
ho creato una query (che non e' nient'altro che la query totale della
tabella)
ho creato un report
 
ho copiato il codice che mi ha indicato Karl (chiaramente adattando i
dati)  in un pulsante di una maschera
 
ma ricevo una finestra dove mi chiede:
immettere valore parametro
PIPPO
 
i file che vengono generati sono correttamente 2, ma non hanno i dati
delle righe
 
cosa puo' essere?
 
 

 cosa puo' essere?
 
Purtroppo il tuo codice � segreto.
Cos� si puo solo indovinare:
 
Dalla finestra di parametro sembra che nella condizione
usi il valore "PIPPO" invece del campo "cliente".
 
Un altro problema potrebb'esistere con il tipo di dati e la
condizione che ho descritto per un numero siccome � sempre
meglio di lavorare con id univoci invece di nomi di clienti.



ciao niente segreti :)
 
non volevo riportarlo tutto per non generare confusione per il thread
troppo voluminoso.
cmq il problema potrebbe essere (anzi forse forse lo e') nel tipo di
campo, che non è un ID bensi'
il nome del cliente


confermo il problema e' quello.
risolto grazie!


salve, ho ancora un piccolissimo problema:
con i report che contengono molti dati (per esempio dovrei esportare
un report di 18 pagine in un file excel (ho visto che sono circa 900
righe su excel)
sembra che access vada in un ciclo infinito:
mi scrive sempre invio in corso dell'output della pagine ....( seguono
in sequenza i numeri e arrivando a 18 riparte da 1 e non si ferma)
 
il problema non sussiste per righe minori.
 
sapete che problema puo' essere?