+ Rispondi al Thread
Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Filtro tramite casella combinata

  1. #1
    dario978 non è in linea Novello
    Post
    30

    Filtro tramite casella combinata

    Ciao volevo sapere perchè utilizzanto il metodo filteron su una casella di testo sull'evento chage ogni carattere che inserisco mi sposat il cursore nella casella che dovrebbe contenere il rislutato del filtro, sennza mostrare alcun risultato o cancellando il contenuto della casella.

    il codice usato è:
    codice:
    Private Sub Testo21_Change()
    Me.FilterOn = False
    Me.Filter = "[DESCRIZIONE] = '" & Me![Testo21] & "'"
    Me.FilterOn = True
    End Sub
    Grazie per la disponibilità

  2. #2
    L'avatar di @Alex
    @Alex non è in linea Very Important Person
    Post
    16,456
    Se digiti [A] come primo carattere, il modo in cui hai implementato il FILTRO, cercherà tutti i RECORD che soddisfano [A] che non significa tutti i records che CONTENGONO [A] come primo CHAR, ma [A] in senso assoluto.

    Se vuoi che quello che digiti sia usato come INIZIO in una ricerca flessibile devi usare un metodo di confronto diverso, sostituendo [=] con [LIKE] ed inserire un JOLLY come CHAR terminale...
    codice:
    Private Sub Testo21_Change()
    Me.FilterOn = False
    Me.Filter = "[DESCRIZIONE] LIKE '" & Me![Testo21].Text & "*'"
    Me.FilterOn = True
    End Sub
    @Alex
    Il CROSSPOST è VIETATO
    Mirror al vecchio sito WEB(salvare i Demo riassegnando l'estensione (.Zip/.Rar/.Exe in base all'icona...):
    http://mirror.masterdrive.it/alessandrobaraldi/
    Leggi il
    Regolamento del Forum e nel comprenderne la filosofia rispettalo.

  3. #3
    dario978 non è in linea Novello
    Post
    30
    Scusa la domanda banale ma se volessi usare l'asterisco anche prima per permettere una ricerca più ampia nel caso in cui la parte da me digitata sia all'inizio al centro o alla fine.
    So che è necessario usare il carattere acii chr(42) ma in che punto lo devo inserire?
    Giusto il ragionamento che sto facendo?

    Grazie

  4. #4
    L'avatar di @Alex
    @Alex non è in linea Very Important Person
    Post
    16,456
    Quote Originariamente inviato da dario978 Visualizza il messaggio
    Scusa la domanda banale ma se volessi usare l'asterisco anche prima per permettere una ricerca più ampia nel caso in cui la parte da me digitata sia all'inizio al centro o alla fine.
    So che è necessario usare il carattere acii chr(42) ma in che punto lo devo inserire?
    Giusto il ragionamento che sto facendo?

    Grazie
    Il [chr(42)] è l'asterisco... usa quello.
    Per rendere la selezione ancora più globale
    codice:
    Me.Filter = "[DESCRIZIONE] LIKE '*" & Me![Testo21].Text & "*'"
    Personalmente poi farei un'altra correzione nel caso in cui il Testo possa contenere caratteri speciali come APOSTROFO...
    codice:
    Me.Filter = "[DESCRIZIONE] LIKE '*" & REPLACE(Me![Testo21].Text,"'","''") & "*'"
    @Alex
    Il CROSSPOST è VIETATO
    Mirror al vecchio sito WEB(salvare i Demo riassegnando l'estensione (.Zip/.Rar/.Exe in base all'icona...):
    http://mirror.masterdrive.it/alessandrobaraldi/
    Leggi il
    Regolamento del Forum e nel comprenderne la filosofia rispettalo.

  5. #5
    dario978 non è in linea Novello
    Post
    30
    Grazie perfetto!!!

+ Rispondi al Thread

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi