Newsgroup: it.comp.appl.access
Titolo: come strutturare le tabelle per ottenere un report con totali per gruppi

 totalmente automatizzato.

 totalmente automatizzato.
Il contenuto del messaggio non mi sembra che rispecchi quanto scritto 
nell'oggetto.
Inoltre, vuoi aprire Excel e in esso scegliere il file da aprire... ma non 
sarebbe meglio aprire direttamente il foglio Excel interessato (e di 
conseguenza verrebbe avviato Excel) oppure importare le celle del foglio 
Excel direttamente in una tabella di Access ?
Presumendo che ti vada bene l'ultima supposizione, ecco uno stralcio di un 
mio applicativo.
Private Sub Importailfoglio_Click()
''' Istruzioni per la gestione standard dell'errore
    Dim fd As FileDialog
    Set fd = Application.FileDialog(msoFileDialogFilePicker)
    Dim fo As Variant
    Set fo = CreateObject("Scripting.FileSystemObject")
    fd.AllowMultiSelect = False
    fd.Title = Titoloapplicazione & " - Ricerca del foglio Excel da 
importare"
    While fd.Filters.Count > 0
        fd.Filters.Delete
    Wend
    fd.Filters.Add "Fogli Excel", "*.xls"
    fd.Filters.Add "Tutti i files", "*.*"
    fd.InitialView = msoFileDialogViewDetails
    fd.InitialFileName = ""
    If fd.Show = False Then GoTo finerout
    Dim Suffisso As String
    Suffisso = ""
    If Len(fd.SelectedItems.Item(1)) >= 4 Then _
            Suffisso = LCase(Right$(fd.SelectedItems.Item(1), 4))
    If Suffisso <> ".xls" Then GoTo finerout
    Me.FoglioElettronico = LCase(fd.SelectedItems.Item(1))
    Dim XA As Excel.Application, XB As Excel.Workbook
    Set XA = CreateObject("Excel.application")
    Arco1 = ""
    Set XB = XA.Workbooks.Add(Me.FoglioElettronico)
    For i = 1 To XB.Sheets.Count
        Arco1 = Arco1 & XB.Sheets.Item(i).name & ";"
    Next
    Me.CartelladelFoglio.RowSource = Arco1
    If XB.Sheets.Count >= 1 Then _
            Me.CartelladelFoglio.Value = XB.Sheets.Item(1).name
    Dim Tabella As String
    Tabella = "T 5000 temporanea - Dati del foglio Excel importato"
    Errore.Codicinonerrore = "7874;"
    DoCmd.DeleteObject acTable, Tabella
    DoCmd.TransferSpreadsheet acImport, , Tabella, _
            Me.FoglioElettronico, False, Me.CartelladelFoglio & "!"
    Errore.Codicinonerrore = ""
finerout:
End Sub
Alla fine dell'esecuzione, avrai la tabella valorizzata col contenuto delle 
celle del foglio Excel.
La quinta opzione del docmd.transferspreadsheet ho preferito porla a False 
perchč cosě non fa nessun controllo sui nomi dei campi e si evita il rischio 
di un errore.
Auguri per il tuo futuro
Antonio

 Antonio
Grazie di cuore per il support
ho associato il tuo file al comando click evento routine
ma mi restituisce quando clicco sul pulsante il seguente errore di
compilazione:
Dim df As FileDialog
tipo definito dall'utente non definito.
Ciao Crescenzo.

 Antonio
Grazie di cuore per il support
ho associato il tuo file al comando click evento routine
ma mi restituisce quando clicco sul pulsante il seguente errore di
compilazione:
Dim df As FileDialog
tipo definito dall'utente non definito.
Ciao Crescenzo.
---------------  RISPOSTA  ------------------
Probabilmente č necessario un riferimento alle librerie per l'uso di oggetti 
di Office.
Fai cosě:
Quando sei sulla finestra di codice di una maschera o report o modulo 
qualsiasi, fai click sulla voce del menu "Strumenti" e poi su 
"Riferimenti..."
Vedrai delle voci, le prime spuntate e poi un lungo elenco di librerie 
disponibili ma non utilizzate.
Sono in ordine alfabetico. Vai a cercare:
Microsoft Office XX.X Object Library
Microsoft Excel XX.X Object Library
e spuntale. Sul mio Office 2003 la versione č la 11.0
Se pensi che ti possano servire anche le librerie di Word o di PowerPoint, 
beh, spunta anche quelle.
Se poi ritieni che ti possa servire di poter utilizzare qualche pagina html 
o comunque oggetti per Internet, spunta anche:
Microsoft Internet Controls
Microsoft HTML Object Library
A questo punto non dovresti piů avere l'errore in fase di compilazione.
Ciao
Antonio