![]() |
||||||
|
||||||
|
Tutorial Access - Selezione dei dati tramite Visual Basic |
||||||
|
Il tutorial che ci apprestiamo a
presentare ci è stato richiesto da un utente di
www.sviluppoisi.com che ci ha inviato un
esempio per avere spiegazioni (non sappiamo se
l'esempio era allegato a qualche rivista o
manuale; ci limitiamo qui a commentarlo).
Le funzioni disponibili sono:
Il sistema non usa query per effettuare selezioni ma visual basic con linguaggio SQL. Rispetto al tutorial di selezione con le query abbiamo una maggior flessibilità dell'applicazione, ma una complessità superiore. La domanda del nostro utente riguardava l'interpretazione del codice.
Premiamo il tasto
Tutti
Dim cnn As New
ADODB.Connection Come potete vedere (guardate anche i tutorial di visual basic), dopo essersi connesso ai dati il sistema riempie i campi Testo0, Testo3 e Testo6 con il contenuto della tabella Clienti. Essendo la maschera continua tutti i dati vengono incolonnati (non è possibile però modificare i dati e questa è una limitazione rispetto alla selezione con una query).
Premiamo il tasto
spagna
Dim cnn As New ADODB.Connection Non è molto diverso dal tasto precedente, ma fate attenzione a questa riga: rst1.Open "SELECT * FROM Clienti WHERE Paese='Spagna'", cnn, adOpenKeyset, adLockOptimistic Con il linguaggio SQL viene creata una query di selezione nella tabella Clienti:
Il metodo è efficace ma per cambiare il criterio è necessario intervenire sul basic.
Scegliamo
manualmente un paese
MsgBox (Me.cmbRicerca)
In questo caso alla variabile stPaese viene
assegnato il valore contenuto nel combo box e
quindi il nome del paese scelto. WHERE Paese =" & "'" & stPaese & "' Bisogna fare attenzione a come si indicano i criteri utilizzando i caratteri & e gli apici (fate riferimento alla guida in linea di Access: per ogni tipo di variabile c'è un metodo, per la gioia dei non esperti). Nell'esempio precedente Spagna era scritto semplicemente con ' prima e dopo. In questo c'è un ' tra " e 2 &. In questa routine appare poi un nuovo comando: Set Me.Recordset = rst1 rst1 è il risultato della query: ogni riga di rst1 viene passato al recordset che qui rappresenta ogni riga della maschera continua che verrà completata. Un consiglio: se non avete esperienza imparate a selezionare i dati con le query e poi studiate visual basic.
|
||||||