LISTATO 1 Il listato del programma di esempio
Rem Esempio query SQL
Private Sub Form_Load() dbArchivio.DatabaseName = "C:\Dev\Archivio.mdb" dbArchivio.Connect = "Access" End Sub
Private Sub btnCerca_Click() Dim StringaSQL As String Dim Campi As String Dim CampoRicerca As String Dim CampoOrdinamento As String Dim StringaDati As String
Rem Composizione elenco campi da estrarre Campi = "" If ckCognome.Value = 1 Then Campi = "Cognome" End If If ckNome.Value = 1 Then If Campi <> "" Then Campi = Campi & ", Nome" Else Campi = "Nome" End If End If If CkAnno.Value = 1 Then If Campi <> "" Then Campi = Campi & ", AnnoNascita" Else Campi = "AnnoNascita" End If End If
Rem Controllo del campo su cui effettuare la ricerca
If obCercaNome.Value Then CampoRicerca = "Nome" ElseIf obCercaCognome.Value Then CampoRicerca = "Cognome" Else CampoRicerca = "AnnoNascita" End If
Rem Controllo del campo su cui effettuare l'ordinamento
If obOrdinaNome.Value Then CampoOrdinamento = "Nome" ElseIf obOrdinaCognome.Value Then CampoOrdinamento = "Cognome" Else CampoOrdinamento = "AnnoNascita" End If
Rem Composizione stringa SQL
StringaSQL = "SELECT " + Campi + " FROM Anagrafica" StringaSQL = StringaSQL + " WHERE " + CampoRicerca StringaSQL = StringaSQL + " = '" + txtDaCercare.Text + "'" StringaSQL = StringaSQL + " ORDER BY " + CampoOrdinamento Rem La stringa è visualizzata nella label lblStringaSQL.Caption = StringaSQL
Rem Esecuzione della query e collegamento al controllo di tipo Data delle 3 etichette Rem lblNome, lblCognome, lblAnnoNascita
dbArchivio.RecordSource = StringaSQL dbArchivio.Refresh
Rem Cancellazione listbox
lstRisultato.Clear
Rem Inserimento dei dati Rem nella listbox
If dbArchivio.Recordset.RecordCount > 0 Then dbArchivio.Recordset.MoveFirst Do While Not dbArchivio.Recordset.EOF StringaDati = lblNome.Caption + " " StringaDati = StringaDati + lblCognome.Caption + " " StringaDati = StringaDati + lblAnnoNascita.Caption + " " lstRisultato.AddItem StringaDati dbArchivio.Recordset.MoveNext Loop Else MsgBox "Nessun elemento trovato" End If End Sub