indietro

TIPI  DI  DATABASE : lavorare con i DAO

Con Excel siamo abituati ai fogli di lavoro, composti da celle, e che usiamo spesso per impostare degli elenchi, più o meno estesi, nei quali inseriamo i nostri dati, sfruttando righe e colonne. Questi elenchi, o tabelle, altro non sono che dei database, cioè dei "contenitori di dati". Definiremo questi database "interni", per differenziarli dai database realizzati con altri programmi, che definiamo "esterni".

Per importare e utilizzare i dati contenuti in database esterni, Excel di dispone di due metodi per accedere a questi dati:

  • il primo, tipico di Excel, passa attraverso la selezione dal menù "Dati" della voce "Importa dati esterni" e, a seguire, selezionando i vari passaggi che portano all'individuazione della fonte di origine dati, alla tabella del database che ci interessa, e quindi all'importazione dei dati nelle celle selezionate.

  • il secondo tramite l'utilizzo di librerie di oggetti DAO e ADO, che sarà possibile utilizzare solo attraverso il codice vba.

DAO (Data Access Objects) e ADO (ActiveX Data Objects) sono due differenti metodi di accedere ai dati, il secondo è il più recente introdotto dalla Microsoft, ma sicuramente il più ostico da utilizzare, (almeno per chi scrive), ed essendo il DAO valido e collaudato per accedere a molti database "classici" (tipo gli .mdb di Access), imposterò tutte le spiegazioni ed esempi su questo tipo.

Come già anticipato, non è compito di queste pagine approfondire le caratteristiche delle due versioni di librerie, ma di seguire i passi necessari di come debba essere impostato Excel per dialogare e riconoscere la libreria DAO, ed è comunque necessario esaminare alcuni aspetti:

  • la libreria DAO (Data Access Objects) consente di riconoscere e dialogare con la struttura del database e i suoi componenti (tabelle, record, query, ecc. fino ai dati stessi), e di poterlo interrogare e manipolare con procedure Vba (o VB).

  • Perchè Excel possa essere "avvisato" che dovrà riconoscere la libreria DAO, dovremo recarci, dall'editor di visual basic, sul menù "Strumenti/Riferimenti" e nella finestra dei componenti, selezionare la libreria DAO che ci interessa. Vedi foto:

Le frecce rosse indicano le Microsoft DAO Object Library, in questo caso 3 differenti versioni : la 3.6 specifica per Office 2000 e 2002, la 3.51 e la 2.5/3.51 per Office 97. Ovviamente selezioneremo la versione adatta alla versione del database a cui ci collegheremo. Se queste librerie non sono presenti nella finestra "Riferimenti" è perchè durante l'installazione di Office non è stato caricato il modulo specifico di Accesso Dati. Potrà essere comunque caricato inserendo il CD di Office per aggiungere il pezzo mancante.

Ultime pillole di questa stringata panoramica, la necessità di focalizzare il fatto che stiamo parlando di importare dati da un database Access in un'altra applicazione (Excel), ed esistono delle differenze da considerare per chi è abituato ad utilizzare il DAO in ambiente Access:

  • al di fuori di Access non è possibile gestire in modo programmatico (a meno che non si ricorra all' OLE Automation) maschere, report ed altre cose peculiari di Access.

  • in DAO (a differenza di Access dove si usa la funzione CurrentDB per riferirsi al database attualmente aperto) si deve ricorrere al metodo OpenDatabase.

Due sono gli strumenti software della Microsoft, su cui si basa il DAO:

  • Jet database engine

  • Open Database Connectivity (ODBC)

Il Jet supporta anzitutto il formato proprio di Access (.MDB), in più una varietà di formati classificati come "installabili ISAM", i dBase, i Paradox, Excel, Lotus1-2-3, vari file di testo (con campi delimitati o a larghezza fissa). Perchè ciò sia possibile, è necessario che siano installati i relativi driver (file .DLL). Lo stesso dicasi per i driver ODBC, tra i quali i più comuni sono quelli di Microsoft SQLServer.

N.B. Tutti questi driver sono forniti nel CD di installazione di Office. Eventualmente scegliere "Installazione Personalizzata" ed attivare l'installazione dei componenti che interessano; nel dubbio, e se si dispone di spazio sull'hard-disk, scegliere: "Installazione completa dal computer locale".

prelevato sul sito http://ennius.interfree.it