Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    esportare tutto un db access in excel

    Salve io ho un db access con dentro 50 tabelle

    vorrei che i contenuti delle tabelle access vanno in un unico file excel.

    come posso fare?

    esiste un software in grado di fare questo?con l'esporta di access tabella per tabella ci metto una vita..

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Ma le tabelle hanno tutte la stessa struttura o sono diverse?

  3. #3
    stessa struttura

  4. #4
    o almeno qualcosa che mi permetta anche di scegliere le tabelle.

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Se le tabelle hanno la stessa struttura puoi usare delle query di unione

    esempio

    select * from tabella1
    union all
    select * from tabella2
    union all
    select * from tabella3

    ecc.

    In questo modo potresti esportare direttamente il risultato della query in excel.
    Altrimenti credo che l'unico modo sia tramite vba. Bisognerebbe usare un ciclo che scorra tutte le tabelle non di sistema e che le esporti magari col comando docmd.transferspreadsheet.
    Se posso stasera ti dò una mano.

  6. #6
    grazie di cuore!

    attendero'

  7. #7
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Le tabelle vanno importate in unico foglio di excel oppure ciascuna tabella va in un foglio diverso?

  8. #8
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Prova a seguire questa procedura. Crea un file di excel vuoto sul desktop (chiamalo esporta.xls), salvalo e chiudilo.
    Crea una maschera nel tuo database di access, inserisci un pulsante, apri la finestra delle proprietà con f4 e all'evento su click associa questo codice. Ovviamente modifica il percorso del file di excel al tuo contesto. Lancia la sub e vedi se funziona.

    codice:
    Private Sub Comando0_Click()
        Dim obj As AccessObject, dbs As Object
        Set dbs = Application.CurrentData
        For Each obj In dbs.AllTables
                If Left$(obj.Name, 4) <> "MSys" Then
                DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, obj.Name, "C:\Documents and Settings\Nome_utente\Desktop\esporta.xls", False
            End If
        Next obj
    End Sub

  9. #9
    cioe' grazie.

    domani provo

    ti prego di contattarmi su msn nikeddy@live.it devo dirti grazie.

    sei un grande.

  10. #10
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Prego, se hai problemi siamo qui.
    P.S. Per il tuo bene ti consiglio di editare e rimuovere l'indirizzo di msn.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.