Newsgroup: it.comp.appl.access
Titolo: Esportare dati di una query in excel

Ciao a tutti,
ho creato una maschera collegata ad una query e tramite una macro (outputsu)
estrapolo i dati e li invio in un foglio excel. Fino a qui tutto ok. Ma ora
se volessi fare in modo che i dati vengano inseriti secondo un ordine che
voglio e senza che da access mi porti la prima riga come potrei fare?
Nei post precedenti ho trovato un esempio ma non riesco ad appliccarlo, devo
inserire qualcosa al posto delle o (oApp; oWks; oWsh) cosa?
Grazie mille a chiunque mi risponderà
Gennaro
'-------------------------------
Dim oApp As Excel.Application
Dim oWks As Excel.Workbook
Dim oWsh As Excel.Worksheet
'---------
Dim oRecSet As Recordset
Dim Riga As Integer, Colonna As Integer
Set oRecSet = CurrentDb.OpenRecordset("NomeQuery")
Set oApp = CreateObject("Excel.Application")
oApp.Visible = True
Set oWks = oApp.Workbooks.Add
Set oWsh = oWks.Worksheets(1)
'legge i dati dalla query e li scrive sul foglio excel
Riga = 1: Colonna = 1
Do While Not oRecSet.EOF
    oWsh.Cells(Riga, Colonna) = oRecSet("campo1")
    oWsh.Cells(Riga, Colonna + 1) = oRecSet("campo2")
    oWsh.Cells(Riga, Colonna + 2) = oRecSet("campo3")
    oWsh.Cells(Riga, Colonna + 3) = oRecSet("campo4")
    oWsh.Cells(Riga, Colonna + 4) = oRecSet("campo5")
    Riga = Riga + 1
    oRecSet.MoveNext
Loop
oRecSet.Close
'salva il file xls
oWks.SaveAs FileName:="c:\documenti\NomeFile.xls", FileFormat:=xlNormal
oApp.Quit
Set oRecSet = Nothing
Set oApp = Nothing
Set oWks = Nothing
Set oWsh = Nothing
'-------------------------------

 ha scritto nel messaggio
news:98in0j$o7j$1...@nreadA.inwind.it...

-presumo che in riferimenti libreria siano selezionati sia Microsoft Excel
che Microsoft Dao
- di seguito una soluzione, fai il confronto con la tua:
'per aprire un nuovo foglio di lavoro
Dim appExcel As Excel.Application
Dim appWorkBook As Excel.Workbook
Dim wskWorkBook As Excel.Worksheet
Dim db As DAO.Database
Dim rst As DAO.Recordset
Dim strSQL As String
Dim intRow As Integer
On Error Resume Next 'riparte dalla riga successiva a quella dell'errore
Set appExcel = GetObject(, "Excel.Application") 'verifica se Exel è già
aperto
If appExcel Is Nothing Then 'Se è vero Excel non è aperto
    Set appExcel = New Excel.Application 'Costruisce una nuova istanza
dell'applicazione
    If appExcel Is Nothing Then 'Se vero, MS Excel non è installato
        MsgBox "MS Excel non è installato.", vbExclamation, "Warning !
Operazione annullata"
        Exit Sub
        Set appExcel = Nothing
    End If
End If
strSQL = "SELECT * FROM qryQuery "
strSQL = strSQL & " ORDER BY IDIdentificativo "
Set db = CurrentDb
Set rst = db.OpenRecordset(strSQL, dbOpenSnapshot)
intRow = 11
appExcel.Application.Visible = True
appExcel.WindowState = xlMaximized 'Massimizza la finestra
Set appWorkBook = appExcel.Workbooks.Add
Set wskWorkBook = appWorkBook.Worksheets(1)
    With wskWorkBook
         Do Until rst.EOF
            .Cells(intRow, 3).Value = rst!Campo1
            .Cells(intRow, 4).Value = rst!Campo2
            .Cells(intRow, 5).Value = rst!Campo3
            rst.MoveNext
            intRow = intRow + 1
        Loop
    End With
  ' salva il foglio Excel
  wskWorkBook.SaveAs FileName:="C:\Documenti\Prova.xls",
FileFormat:=xlNormal
    '-- Chiude excel
rst.Close
db.Close
appExcel.Quit
appWorkBook.Close
Set wskWorkBook = Nothing
Set appWorkBook = Nothing
Set appExcel = Nothing
Set rst = Nothing
Set db = Nothing
giuseppe

 wrote in message
08lr6.32591$yl2.8...@news1.tin.it...

Ciao Giuseppe,
grazie per la risposta. Ho provato ad applicarla, ma mi chiama un errore
("Errore di compilazione: Tipo definito dall'utente non definito") nella
prima riga (Dim appExcel As Excel.Application).
Un saluto
Gennaro

 ha scritto nel messaggio
news:98nqmj$1ug$1...@nreadA.inwind.it...

prova a sostituire::
Dim appExcel As Excel.Application
Dim appWorkBook As Excel.Workbook
Dim wskWorkBook As Excel.Worksheet
con:
Dim appExcel As Object
Dim appWorkBook As Object
Dim wskWorkBook As Object
giuseppe