Incuriosito da un dibattito in cui mi si diceva che il mio suggerimento non funzionava (Connessione ad Access 2007 da VB.NET e C#) ho voluto provare se avevo preso una cantonata dando informazioni sbagliate.
Di solito quando pubblico sul mio blog qualche cosa, mi assicuro di provare in prima persona (e a volte ancora non è sufficiente) quanto pubblicato.
Questo post non è altro che la presentazione dell’esempio di prova della connessione ad Access 2007.
Ho iniziato facendo un nuovo database da Access 2007 nel formato 2007 (.accdb come estensione)
Poi ho aggiunto una tabella (Tabella1)
ho riaperto il database in uso esclusivo e ho impostato la password di protezione del database.
Salvato il file ho aperto Visual Express 2008 (C# e VB), generato un nuovo progetto Windows Forms e ho provveduto ad aggiungere il database al progetto (copia, incolla).
A questo punto si è attivato il wizard di preparazione del dataset tipizzato e del tableadapter.
Alla mia form ho aggiunto e impostato, BindingSource e BindingNavigator (collegando il BindingNavigator al BindingSource) e successivamente un DataGridView che ho collegato anch’esso con BindingSource
La seconda fase è stata aggiungere una form per far scegliere all’utente il database da utilizzare e scrivere la password (la login è sempre “Admin” quindi ho provveduto a renderla una costante).
Nell’evento “Load” della form ho gestito la chiamata della form Database e autorizzazioni.
Nota: per poter testare “in che modo” si è usciti dalla form consiglio di guardare le proprietà dei bottoni
Dopo la chiusura della form possono avvenire le situazioni:
- Si è indicato un nome di un database che non esiste (o si è lasciato vuoto il campo)
- Si è immessa una password sbagliata
- Non si è usciti con OK
In tutti questi casi è impossibile proseguire e l’applicazione è chiusa, sulla prima riga compare il messaggio specifico.
Se tutto va bene .. invece si vede la form di gestione apparire :)
Nota: il bordo rosso sulle immagini è il “resto” dell’oggetto di clipping presente su Windows 7 su cui ho fatto la prova.
Gli esempi sono stati realizzati con Visual C# Express 2008, Visual Basic Expess 2008 entrambi in lingua inglese.
Esempio sviluppato con C#