Controllo input in una maschera

di Anonimizzato31389 il
6 risposte
Grazie a quanti vorranno rispondere.

Muovo i primi passi in VBA.
Ho creato una maschera per visualizzare risultati da una query. Nella maschera ho inserito una casella di testo per l'input di ricerca e un tasto per innescare la ricerca (nome query: ElencoTelefonico, nome maschera: Cerca).

questo il codice:

Private Sub Comando9_Click()

Dim FieldCerca As String

FieldCerca = "SELECT ElencoTelefonico.Nome, ElencoTelefonico.Cognome, ElencoTelefonico.Telefono, ElencoTelefonico.struttura, ElencoTelefonico.Sede FROM ElencoTelefonico WHERE (ElencoTelefonico.Nome LIKE '*" & CampoCerca.Value & "*' OR ElencoTelefonico.Cognome LIKE '*" & CampoCerca.Value & "*');"

Form_Cerca.RecordSource = FieldCerca
Form_Cerca.Requery
CampoCerca = ""

End Sub
Funziona come dovrebbe, salvo che se inserico un numero (ad esempio "123") oppure una stringa che non ha comunque corrispondenza (ad esempio "wyx") la query restituisce 0 risultati e la maschera scompare.

Come posso dunque controllare l'input per evitare che ciò accada?

PS: penso a una possibile soluzione con

If DCount("*","ElencoTelefonico") Then fai qualcosa
ma, ammesso la soluzione passi da qui, non so come e dove implementarla
Grazie.

6 Risposte

  • In VBA devi dichiarare invece di CampoCerca.Value, scrivi Me!CampoCerca.Value
  • Buongiorno Osvaldo. Grazie per l'indicazione. Purtroppo però non risolve il mio problema.
  • Io creerei una query parametrica apposita con nome QueryX. Poi il codice diventa
    Private Sub Comando9_Click()
    If DCount("*", "QueryX") > 0 Then 
         Form_Cerca.RecordSource = QueryX
         Form_Cerca.Requery
         CampoCerca = ""
         Else
    End If
    End Sub
  • Non mi piace... il crosspost, cancello il mio intervento.
  • Solo ora mi accorgo che hai fatto CROSSPOST:masterdrive.it/microsoft-access-79/controllare-input-in-maschera-ricerca-103465/
  • Chiudo il thread per cross posting
Devi accedere o registrarti per scrivere nel forum
6 risposte