Newsgroup: it.comp.appl.access
Titolo: Esportare in xls suddividendo per record

Per prima cosa ,essendo la prima volta che posto (lo facevo un tre anni fa)
saluto tutti.
Il mio problema è il seguente: Voglio esportare in formato xls oppure snp
dei dati derivanti da una query ma vorrei creare più file a seconda dei
valori contenuti in un campo.
Per essere piu chiaro,il file in maniera semplificata contiene
Descrizione ------valore -------cliente
Io voglio che per ogni cliente si crei un file in xls diverso,la soluzione
attuale è l'aver creato tante query quanti sono i clienti ed esportare
quelle ,ma se ci fosse una soluzione più rapida .....
.
Ciao a tutti ancora e grazie per la pazienza

dspano wrote:

questo e' un esempio funzionante usa un "template" vuoto (agenzie.xls) e 
  come sorgente il recordset di un form video ma puo' essere qualsiasi 
altro rs
Function CaricaSuFileExcel(path as string,frm As Form)
Dim rst1 As Variant
Dim sProv As String
Dim sDir As String
Dim sSql As String
     Set rst1 = frm.RecordsetClone
     Set excApp = New Excel.Application
     Set excDoc = excApp.Workbooks.Open(path & "\modello\agenzie.xls") 
          'apre il modello
     excApp.Visible = False
     'lista clienti
     Do While Not rst1.EOF
          cliente = "" & Replace(rst1!C_RAGIONE_SOCIALE, "*", "")
          cliente = "" & Replace(cliente, "'", "")
         With excDoc.Worksheets(1)               'riempimento celle con 
i campi estratti dalla tabella/e
             .Cells(7, 2) = rst1!C_RAGIONE_SOCIALE
             .Cells(8, 2) = rst1!C_INDIRIZZO    'indirizzo
             .Cells(9, 2) = rst1!C_COMUNE     'comune
             .Cells(8, 8) = rst1!C_CAP     'cap
             .Cells(15, 5) = rst1!C_POSIZIONE_CLIENTE       'pos_cliente
             .Cells(10, 2) = DLookup("des_sett", "dw_sett_merc", 
"sett='" & rst1!C_SETTORE & "'") 'str_desc_att           'attività econ
             .Cells(9, 9) = rst1!C_PROVINCIA     'prov
             If "" & rst1!C_CODICE_FISCALE = "" Then          'p.iva\ c.f.
                 .Cells(14, 2) = rst1!C_PARTITA_IVA
             Else
                 .Cells(14, 2) = rst1!C_CODICE_FISCALE
             End If
             .Cells(12, 2) = rst1!C_FAX     'fax
             .Cells(13, 2) = rst1!C_MAIL    'email
         End With
         nomefile = path & "\Spedizione\AG_" & rst1!C_COD_RAPPRESENTANTE 
& "_" & cliente & ".xls"
         excDoc.SaveAs (nomefile)   'salva con nome un file excel
         rst1.MoveNext
     Loop
     Set rst1 = Nothing
     excDoc.Close savechanges:=False  'non salva le modifiche sul modello
     excApp.Workbooks.Close          'chiude per evitare di aprire più 
applicazioni
     excApp.Application.Quit
     Set excDoc = Nothing
     Set excApp = Nothing
End Function

 ha scritto nel messaggio
news:c2pemb$203qoo$1...@ID-163946.news.uni-berlin.de...

Grazie per la risposta,faccio le dovute prove

 ha scritto nel messaggio
news:c2pf31$gse$1...@grillo.cs.interbusiness.it...

Pur con qualche modifica (giustamente),la soluzione è ok ,mi trovo però in
difficoltà nella seconda parte del programma,
nel quale l'ideale sarebbe,come detto al'inizio,creare dei file snap sempre
con il medesimo intento,cioè
suddividere per tanti file snp quanti sono i clienti per poi inviare tramite
sendmail agli stessi i totali formattati correttamente.
Ciao ed ancora grazie ,sia per la risposta che per la pazienza.