Codice VBA per importare dati di tabelle/query di Access in Excel

Codice VBA per importare i dati di una query di tabella di Access in Excel
Sommario

Importare una tabella di Access in Excel con VBA (immagini e codice)

Che cos'è?

Questo codice VBA aiuta a scaricare o importare Accesso Dati di tabelle o query in Excel con un solo clic.

 

Perché?

È possibile importare i dati delle tabelle di Access in Excel senza nemmeno aprire il DB di Access.

Come importare i dati delle tabelle di Access in Excel




Passo 1: Aprite la cartella di lavoro di Excel e accedete al costruttore di codice VBA (Alt + F11) e aprite un nuovo modulo.

Modulo X

Passo 2: Copiare e incollare il codice sottostante.

				
					Sub importAccessdata()

Dim cnn Come connessione ADODB.Connection

Dim rs Come ADODB.Recordset

Dim sQRY Come Stringa

Dim strFilePath Come Stringa

strFilePath = "C:\DatabaseFolder\myDB.accdb" 'Sostituire 'DatabaseFolder' e 'myDB.accdb' con il percorso e il nome del proprio DB

Imposta cnn = Nuova connessione ADODB.Connection

Set rs = Nuovo recordset ADODB.Recordset

cnn.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & _

"Data Source=" & strFilePath & ";"

sQRY = "SELECT * FROM tblData" 'Sostituire 'tblData' con il nome della tabella o della query del DB Access da cui si desidera scaricare i dati

rs.CursorLocation = adUseClient

rs.Open sQRY, cnn, adOpenStatic, adLockReadOnly

Application.ScreenUpdating = False

Sheet1.Range("A1").CopyFromRecordset rs

rs.Close

Set rs = Nulla

cnn.Close

Set cnn = Nulla

Esci dalla sub

Fine Sub
				
			

Passo 3: Fare clic sul pulsante Esegui o su F5 (inoltre è possibile inserire un pulsante/forma nel foglio excel, quindi fare clic con il pulsante destro del mouse e assegnare questa macro per l'esecuzione ogni volta).

Importazione della tabella di Access

I record del DB Access sono stati scaricati con successo in Excel, aprire la cartella di lavoro Excel e controllare i dati.

Nota: Assicuratevi che 'Microsoft ActiveX Data Objects Library' sia abilitato dalla finestra di dialogo Utensili – Riferimenti (utilizzare l'ultima versione [6.1 al momento di questo post]).

Importazione della tabella di AccessPin



Sono certo che lavorate su molti dati di Excel, MS Access e VBA, quindi sono sicuro che Fortemente Vi consigliamo di partecipare al seguente Ultimate Excel VBA Userform con Access Database! Vale la pena di investire in te stesso! FALLO ORA!

Costruite il vostro programma nel mondo reale, imparate il vero VBA (macro) di Excel, superate i limiti di Excel con un progetto completo.

Anson Antonio
Anson Antonio
Anson è un autore collaboratore e fondatore di www.askeygeek.com. Imparare qualcosa di nuovo è sempre stata la sua passione, ASKEYGEEK.com è il risultato della sua passione per la tecnologia e il business. Ha un decennio di esperienza versatile in Business Process Outsourcing, Finanza e Contabilità, Informatica, Eccellenza Operativa e Business Intelligence. Durante il mandato, ha lavorato per organizzazioni come Genpact, Hewlett Packard, M*Modal e Capgemini in vari ruoli e responsabilità. Al di fuori degli affari e della tecnologia, è un appassionato di cinema che trascorre ore insieme guardando e imparando il cinema e anche un regista!

10 risposte

  1. Salve, volevo verificare se se tengo il mio DB Access in un disco condiviso e distribuisco questa macro excel nella mia organizzazione, funzionerà? Voglio che la mia macro excel legga alcuni valori da questo DB Access e poi aggiorni alcune variabili all'apertura di excel.

    Inoltre, se Access non funziona, posso utilizzare un altro excel conservato nell'unità dell'organizzazione e accedervi invece del DB. Ho provato con il metodo di apertura della cartella di lavoro nella mia macro per leggere il mio excel onedrive che è condiviso da tutti nella mia azienda, ma non ha funzionato.

  2. Alla fine ci sono riuscito.

    Sto usando 2 variabili (textbox1 come valore 'currency, format R$0.000,00' e textbox2 come 'date', format mm/dd/yyyy)

    Codice ↓

    ‘====================================================|
    '========================================== Kauê Vaz===
    ‘====================================================|

    Opzione esplicita

    Fare clic su Strumenti, Riferimenti e selezionare
    ' Libreria Microsoft ActiveX Data Objects 2.0
    Sub getDataFromAccess(strValue, strDate)

    Dim DBFullName come stringa
    Dim Connect come stringa, Source come stringa
    Dim Connection come ADODB.Connection
    Dim Recordset come ADODB.Recordset
    Dim Col come intero
    Dim mySQLVariable Come Stringa
    Dim mySQLVariable_1 Come stringa
    Dim strSQL Come stringa

    mySQLVariable = strValue 'Valore della casella di testo1 (formato valuta R$0.000,00)
    mySQLVariable_1 = strDate 'Valore dalla casella di testo2 (formato data mm/dd/yyyy)

    Codice SQL
    strSQL = "SELECT * FROM tblDatabase WHERE "
    strSQL = strSQL & " [Valore] = '" & (mySQLVariable) & "' e "
    strSQL = strSQL & " [Data] = '" & (mySQLVariable_1) & "' ".

    Database, selezionare l'accesso al database
    DBFullName = "C:\Users\Desktop\Databases\BD_PaynotProcess\bd_PaynotProcess.accdb"

    ' Aprire la connessione
    Set Connection = Nuova connessione ADODB.Connection
    Connect = "Provider=Microsoft.ACE.OLEDB.12.0;"
    Connect = Connect & "Data Source=" & DBFullName & ";"
    Connection.Open ConnectionString:=Connect

    ' Creare RecordSet
    Set Recordset = Nuovo ADODB.Recordset
    Con Recordset

    ' Ricerca di valori utilizzando la variabile strSQL del codice SQL
    Fonte = strSQL
    .Open Source:=Sorgente, ActiveConnection:=Connessione

    ' Importazione di colonne dal database.
    Per Col = 0 A Recordset.Fields.Count - 1
    Range("A5").Offset(0, Col).Value = Recordset.Fields(Col).Name
    Prossimo

    ' Importazione di righe dal database.
    Range("A5").Offset(1, 0).CopyFromRecordset Recordset
    Fine con

    Set Recordset = Nulla
    Connessione.Chiudere
    Imposta connessione =

    ActiveSheet.Columns.AutoFit

    Fine sott

    Saluti

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Congratulazioni!
L'hai fatta,
Non chiudere!
Inserisci la tua possibilità di vincere 100.000 crediti per personaggi UberTTS
Grazie per la vostra visita!

Questo popup non mostrerà sta a te Ancora!!!

Uovo di Pasqua UberTTS da 100K
7
Share to...