Esportare più query e più tabelle in excel

Anonimo
2019-10-18T13:38:41+00:00

Buongiorno,

ho cercato tra le varie discussioni ma non ho trovato quanto cercavo.

Provo a porvi il mio problema.

Ho un database di access con molte tabelle e query.

Avrei la necessità di esportare automaticamente diverse tabelle e diverse query in più fogli di lavoro di un file excel.

E' possibile automatizzare tale procedura.

Ho letto che sono procedure VBA, che non conosco, come potrei realizzare qualcosa per il mio problema?

Potete aiutarmi?

Grazie tante

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

6 risposte

Ordina per: Più utili
  1. Anonimo
    2019-10-18T16:17:54+00:00

    Salve,

    una variante semplice sarebbe p.e. questo codice nella procedura clic di un pulsante:

    Dim strPath As String

    'salvare il file Excel nella cartella dell'applicazione

    strPath = CurrentProject.Path & "\BellaEsportazione.xlsx"

    DoCmd.OutputTo acOutputTable, "MiaTabella1", acFormatXLSX, strPath

    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12, _

        "MiaTabella_O_Query2", strPath, True, "MiaTabella_O_Query2"

    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12, _

        "MiaTabella_O_Query3", strPath, True, "MiaTabella_O_Query3"

    'e così via per tutte le tabelle e query che vuoi esportare

    Cioè, la prima esportiamo con OutputTo per creare un formato Excel giusto sulla macchina. Le altre tabelle+query aggiungiamo con TransferSpreadsheet, dove l'ultimo parametro imposta il nome della tabella di Excel.

    La risposta è stata utile?

    5 persone hanno trovato utile questa risposta.
    0 commenti Nessun commento
  2. Anonimo
    2019-10-22T06:58:13+00:00

    Posso creare qualcosa che mi selezioni più tabelle e più query assieme e le copi in diversi fogli di excel già predefiniti, sovrascrivendo quanto contenuto?

    Grazie

    La risposta è stata utile?

    1 persona ha trovato utile questa risposta.
    0 commenti Nessun commento
  3. Anonimo
    2019-10-19T18:00:03+00:00

    Buongiorno,

    scusate se sono stato alquanto "riassuntivo".

    Questo il mio problema.

    Devo esportare più tabelle  e più query in un file excel con più fogli (che poi userò per fare conteggi e report su altri fogli dello stesso file).

    Vorrei che più tabelle e più query di access, in modo "automatico" si esportassero sul file, nel posto e nel foglio indicato (anche aggiornato il numero di righe, ad esempio esportando ogni mese i dati, anche dei mesi precedenti, e accodandoli ai mesi precedenti).

    Premetto che quando parlate di "pulsante" non so cosa intendente. Access lo utilizzo per tabelle e query.

    Scusate, "l'ignoranza".

    Grazie

    La risposta è stata utile?

    1 persona ha trovato utile questa risposta.
    0 commenti Nessun commento
  4. Anonimo
    2019-10-20T06:21:39+00:00

    ciao gt_1971,

    se anche il pulsante ti mette in difficoltà credo che siamo messi un po' maluccio e quanto ti dirò sarà praticamente arabo.

    Devi aprire un'istanza di Excel da Access, verificando che non ce ne sia già una disponibile.

    Organizzi due loop sulle collections tabledefs e querydefs escludendo le tabelle e queries di sistema ed esporti il contenuto - io almeno procederei in tal modo - con l'oggetto QueryTables membro di Excel.

    Prima di esportare, verfichi il numero di fogli che ti servono, se inferiori e tre elimini gli eccedenti se superiori a tre ne crei tanti quanti te ne servono in funzione del numero tabelle e queries da esportare.

    Puoi nominare il folgio come la tabella o query in tal modo hai lo stesso riferimento e non sei in difficoltà a capire i relativi e reciproci riferimenti.

    Qualora necessitassi di esportare ed aggiungere righe a quel foglio, devi individuarne il nome e anche la prima riga disponibile e procedere ad accodare da lì, oppure puoi semplicemente sovrascrivere l'interno foglio ( cosa certamente più agevole).

    L'oggetto QueryTable ti permette un minimo di formattazione, ma attraverso l'istanza di XLS puoi procedere a formattare il o i foglio a tuo piacimento.

    Ciao, Sandro.

    La risposta è stata utile?

    0 commenti Nessun commento
  5. Anonimo
    2019-10-19T07:08:16+00:00

    ciao gt_1971,

    oltre alla risposta del Karl Danaubauer [Access MVP], ti chiedo.

    Devi in qualche modo selezionare query e tabella da esportare o le devi esportare tutte ?

    Devi procedere a formattare in qualche modo le esportazioni oppure no?

    Io generalmente procedo via automazione aprendo un'instanza con XLS utilizzando il metodo queryTables.

    PEr capire bene, più worksheets all'interno dello stesso workBook, o per ogni tabella/query in workBook dedicato ?

    Ciao, Sandro

    La risposta è stata utile?

    0 commenti Nessun commento