Newsgroup: it.comp.appl.access
Titolo: Esportare in Excel Query a campi incrociati ( help federico!)

Disperazione!!
Nonostante il grande aiuto che mi ha dato federico luciani (che dio lo abbia
in gloria:-)
 non ho ancora risolto totalmente il problema:
una delle query da esportare è a campi incrociati, quindi il numero di
colonne è variabili e quindi il codice di federico luciani (che riporto) non
può funzionare.
pensavo di fare una cosa di questo tipo:
1-esportare in excel la query (OutputTo.., fatto e funziona)
2-inserire un paio di righe nel foglio di lavoro, visto che output to parte
dalla prima riga)
3-inserire nella prima riga, ora liberata, il titolo.
sto seguendo una buona via, o c'è un altro modo?
(se qualcuno ha suggerienti per le fasi 2 e 3 lo prego di farsi avanti!)
domando umilmente aiuto, è da una settimana che ci batto la testa sopra e se
non
riesco a finire il lavoro, mi crocifiggono in sala mensa!
grazie a tutti!
codice di federico luciani
--------------------------------------------------
Private Sub cmdExcel_Click()
    Dim excApp As Object
    Dim excDoc As Object
    Dim dbs As Database
    Dim rst As Recordset
    Dim c As Integer
    Dim r As Integer
    On Error Resume Next
    Set excApp = GetObject(, "Excel.Application")
    If Err.Number = 429 Then
        Set excApp = CreateObject("Excel.Application")
        Err.Number = 0
    End If
    On Error GoTo gestErrori
    Set excDoc = excApp.workbooks.Add
    excApp.Visible = True
    excApp.WindowState = -4137 'xlMaximized
    excDoc.Worksheets(1).Cells(2, 2) = "Qui sotto c'e' la tabella"
    Set dbs = CurrentDb
    Set rst = dbs.OpenRecordset("nomeTabellaQuery")
    r = 4
    c = 1
    Do
        excDoc.Worksheets(1).Cells(r, c) = rst![campo1]
        excDoc.Worksheets(1).Cells(r, c + 1) = rst![campo2]
        excDoc.Worksheets(1).Cells(r, c + 2) = rst![campo3]
        r = r + 1
        rst.MoveNext
    Loop Until rst.EOF
    rst.Close
    Set dbs = Nothing
esci:
    Set excDoc = Nothing
    Set excApp = Nothing
    Exit Sub
gestErrori:
    MsgBox Err.Number & " - " & Err.Description
    GoTo esci
End Sub

 incrociati. Fatti un collegamento con ODBC da Excel alla tabella..
la fregatura è che in azienda c'è già un mde acquistato che
fa questa cosa: clicchi, apre excel, esporta la query a campi incrociati ed
aggiunge nelle prime riche alcuni valori (titoli) e si sono impuntati sul
fatto che anche
quello che sto facendo deve essere così!
disperatamente
isa


Ciao Nicola
email: metti inwind al posto  di NOSPAM

 isa
Ciao
RoDAgo


Grazie mille, funziona egregiamente!
Per completare l'opera dovrei mettere il nome del campo in cima colonna.
Per i  campi fissi ho risolto con
excDoc.Worksheets(1).Cells(7, 4) = "Articolo "
Solo che visto che la query è a campi incrociati devo riuscire a raccattare
anche i nomi
dei campi "variabili". credo di aver capito che bisogna anche in questo caso
"ciclare"
ho fatto vari tentativi ma senza successo (lo so che è una scopiazzata ma ci
ho provato)
credo che gli errori siano nel modo di ricavare il nome del campo e poi come
gli si dice
"fino alla fine dei campi?" credo che eof
es.
'    XR = 7
'    XC = 2
'        For XJ = 0 To rst.Fields.Count - 1
'            excDoc.Worksheets(1).Cells(XR, XC + XJ) = 
rst.Field.Name
(j)
'        Next j
'        r = r + 1
'        rst.MoveNext
'    Loop Until rst.EOF
grazie ancora per l'aiuto che mi hai (Avete!) dato!
ciao
isa

 grazie ancora per l'aiuto che mi hai (Avete!) dato!
De nada.
Cià
RoDAgo