Campo testo ricerca

di il
17 risposte

Campo testo ricerca

Vorrei creare in una maschera continua un campo di testo per la ricerca e contemporaneamente farmi visualizzare solo i record trovati.

Il codice mi da errore 13.
aziende_tutti è una query di unione

Private Sub ricerca_KeyUp(KeyCode As Integer, Shift As Integer)
sRicerca
End Sub

Sub sRicerca()
Dim cerca As String
Dim testo As String
If IsNull(Me.ricerca) Then
Me.ricerca.SetFocus
Else
testo = Me.ricerca.Value
cerca = "select * from aziende_tutti where (AZIENDA like ""*" & testo & "" * ")"
Me.RecordSource = cerca
End If
End Sub

17 Risposte

  • Re: Campo testo ricerca

    Ti consiglio di consultare il database di esempio northwind. Li c è tutto quello che ti occorre.
  • Re: Campo testo ricerca

    Devi usare la proprietà FILTER di Maschera non riassegnare il Recordset...!
    
    Private Sub ricerca_KeyUp(KeyCode As Integer, Shift As Integer)
    	me.filter="AZIENDA like '*" & Me.Ricerca.Text & "*'"
    	me.filterOn=True
    End Sub
  • Re: Campo testo ricerca

    Ho provato il codice suggerito da Alex, ma ricevo Errore di runtime '2185': Impossibile fare riferimento ad una proprietà o ad un metodo per un controllo a meno che non abbia lo stato attivo.
  • Re: Campo testo ricerca

    Il riferimento alla proprietà TEXT genera quel problema, ma evidentemente hai qualche differenza nel codice... in quanto KEYUP si verifica se il controllo ha il FOCUS... quindi probabilmente hai alterato qualche cosa...?

    Io in ogni caso userei CHANGE come evento.

    Serve leggere TEXT in quanto la Default property è VALUE non è aggiornata nel mentre si digita.
  • Re: Campo testo ricerca

    @Alex ha scritto:


    Il riferimento alla proprietà TEXT genera quel problema, ma evidentemente hai qualche differenza nel codice... in quanto KEYUP si verifica se il controllo ha il FOCUS... quindi probabilmente hai alterato qualche cosa...?
    Io in ogni caso userei CHANGE come evento.
    Serve leggere TEXT in quanto la Default property è VALUE non è aggiornata nel mentre si digita.
    Non ho ben capito cosa volevi dire.
    ho provato con tale codice però ancora ricevo errore 2185
    Private Sub ricerca_Change()
    	me.filter="AZIENDA like '*" & Me.Ricerca.Text & "*'"
    	me.filterOn=True
    End Sub
  • Re: Campo testo ricerca

    Usa un ricerca.setfocus prima
  • Re: Campo testo ricerca

    Ciao. Ma il risultato che vuoi ottenere qual è?
    Vuoi che ad ogni lettera che inserisci ti vengano visualizzati di volta in volta i record che contengono quelle lettere, oppure scrivi il dato che vuoi ricercare e poi cliccando un command button esegui la ricerca?
  • Re: Campo testo ricerca

    fratac ha scritto:


    Ciao. Ma il risultato che vuoi ottenere qual è?
    Vuoi che ad ogni lettera che inserisci ti vengano visualizzati di volta in volta i record che contengono quelle lettere
    Voglio come scritto sopra
  • Re: Campo testo ricerca

    Potresti rispondere a quello che ti ho consigliato di fare e anche alle domande precise che ti fanno. Qui si collabora, non si lavora per te
  • Re: Campo testo ricerca

    lucavalentino ha scritto:


    fratac ha scritto:


    Ciao. Ma il risultato che vuoi ottenere qual è?
    Vuoi che ad ogni lettera che inserisci ti vengano visualizzati di volta in volta i record che contengono quelle lettere
    Voglio come scritto sopra
    Perfetto. Allora devi usare il codice scritto sopra.
  • Re: Campo testo ricerca

    oregon ha scritto:


    Potresti rispondere a quello che ti ho consigliato di fare e anche alle domande precise che ti fanno. Qui si collabora, non si lavora per te
    Ciao Antonio, non deve servire se quello che ha scritto è quanto suggerito in quanto l'evento presuppone il focus... quindi temo abbia imbrogliato le carte con qualche cosa di non detto, non scritto o sbagliato.
  • Re: Campo testo ricerca

    Sì, se comincia a funzionare questa è la prova
  • Re: Campo testo ricerca

    @Alex ha scritto:


    oregon ha scritto:


    Potresti rispondere a quello che ti ho consigliato di fare e anche alle domande precise che ti fanno. Qui si collabora, non si lavora per te
    Ciao Antonio, non deve servire se quello che ha scritto è quanto suggerito in quanto l'evento presuppone il focus... quindi temo abbia imbrogliato le carte con qualche cosa di non detto, non scritto o sbagliato.
    Azzardo l ipotesi che i record siano in una sottomaschera e la casella di ricerca nella form padre.
  • Re: Campo testo ricerca

    oregon ha scritto:


    Usa un ricerca.setfocus prima
    ho provato ma mi fa scrivere solo una lettera
    Private Sub ricerca_Change()
    Me.ricerca.SetFocus	
    me.filter="AZIENDA like '*" & Me.Ricerca.Text & "*'"
    	me.filterOn=True
    End Sub
    
Devi accedere o registrarti per scrivere nel forum
17 risposte