maurogsc.eu
mauro gamberini


home ==> Excel: articoli ==> Database - Da Excel ad Access (2007/2010/2013) senza riferimenti

Database - Da Excel ad Access (2007/2010/2013) senza riferimenti

Situazione.
Vogliamo importare/esportare/modificare/cancellare i dati di un database di Access (2007/2010/2012) da Excel. Il db di Access nell'esempio si trova nella stessa directory del file di Excel. Vogliamo inoltre utilizzare ADO(ActiveX Data Objects) senza dover mettere il riferimento alle librerie Microsoft ActiveX Data Objects n.n Library, dove n.n stanno ad indicare la versione specifica di ADO installata sulla macchina.

Nota.
Il codice dell’esempio, scaricabile a questo link, non è commentato(una mini guida è in questa pagina) e nella cartella in formato .zip sono contenuti un file di Excel ed un database di Access. Il codice ed i files sono forniti *così come sono* e l’autore declina ogni responsabilità su eventuali problemi causati dal codice o dai files se usati impropriamente. Utilizzate gli esempi forniti o files di test per le vostre prove. Codice e file sono stati testati con(e quindi validi per) Excel 2007/2010/2013.

Cosa troviamo nel file di Access.
Trattandosi di un semplice esempio, abbiamo un'unica tabella (Tabella1) con quattro campi: ID, Cliente, Importo e Data. Il file di Access è salvato come .accdb(ma potrebbe essere mdb, ecc.).

Cosa troviamo nel file di Excel.
Nota. Per visionare le macro disponibili, dai fogli di Excel, premere assieme ALT+F8 sulla tastiera.
Il file di Excel contiene due fogli, FoglioInserimento e FoglioRecuperaElimina e due UserForm, frmInserisci e frmModificaElimina.

FoglioInserimento consente di inserire dalla riga 2 in poi nuovi dati da esportare poi nella Tabella1 lanciando la macro mAggiungiDatiDalFoglio.

FoglioRecuperaElimina consente di:

frmInserimento consente di inserire un nuovo record nella Tabella1 premendo il tasto Inserisci dopo aver compilato le tre TextBox. frmInserimento si può visualizzare dai fogli di excel premendo CTRL+i

frmModificaElimina che si può visualizzare premendo CTRL+m, consente di:

Conclusione.
Il codice nel file è ridondante, ma la cosa è fatta di proposito con lo scopo di far sì che ciascun metodo possa essere utilizzato separatamente in altri contesti, con le opportune modifiche di path/nome db/nome tabelle/nome fogli/range.

Per maggiori informazioni sulle costanti di ADO e la sintassi SQL date uno sguardo a questo sito.

Per ulteriori informazioni su Microsoft Excel ed il suo Visual Basic, utilizzate questo forum:
http://social.answers.microsoft.com/Forums/it-IT/officeexcelit/threads


Ultimo aggiornamento di questa pagina: 29/05/2013 - mauro gamberini