Condividi tramite

Codice VBA costruzione filtro ricerca parte di un numero

Anonimo
2024-08-09T18:45:49+00:00

Salve, ho una maschera Access che visualizza un solo record alla volta, contiene campi di testo ed un campo numerico.

Per ogni campo ho costruito un filtro con VBA e tutti funzionano alla perfezione, tranne il filtro su campo numerico:

Private Sub RicercaRuolo_Click()

Dim Ricerca As String

Ricerca = InputBox("INSERISCI RUOLO GENERALE", "CERCA RUOLO")

If Ricerca = "" Then Exit Sub

Me.Filter = "Ruolo Like '*" & Ricerca & "*'"

Me.FilterOn = True

End Sub

Al click mi apre prima la msgbox (correttamente) ma quando inserisco il numero (parziale), subito dopo si apre la finestra di messaggio di sistema che mi chiede di specificare il parametro Ruolo

Sicuramente il filtro di ricerca numero è sbagliato, ho fatto ricerche ma non ne vengo a capo.

Cosa sbaglio? Il resto dei campi è identico, cambia solamente la definizione del campo testo e, ripeto, funziona perfettamente.

A questo problema si aggiunge anche quello di non riuscire a visualizzare il numero dei record filtrati, mentre quelli totali si... dove sbaglio? Grazie mille per l'aiuto

P.S.: per favore, non chiedetemi di usare le macro perchè il mio sistema operativo non le digerisce (Windows 10)

Microsoft 365 e Office | Accesso | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

  1. domenico laurenza 9,900 Punti di reputazione Moderatore volontario
    2024-08-10T09:02:06+00:00

    Ciao,

    se il nome del campo in tabella è Ruolo Generale, con uno spazio, cosa sconsigliabile, dovrai sempre racchiudere tra parentesi quadre.

    Invece di utilizzare campi contenenti degli spazi utilizza alternative come RuoloGenerale oppure Ruolo_Generale.

    Prova quindi con:

    Me.Filter = "[Ruolo Generale] Like '*" & Ricerca & "*'"

    Mimmo

    La risposta è stata utile?

    1 persona ha trovato utile questa risposta.
    0 commenti Nessun commento

16 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2024-08-10T09:21:03+00:00

    Sto indagando anche sulla modalità di input dati...

    Nella tabella dati, ho specificato che il numero deve comportarsi come testo e questo perchè il dato numerico da inserire ha spesso nel suo interno anche una lettera (es inserimento standard: 1234/2024 N) ... dato però che il filtro parla di testo espresso con il jolly (*) non capisco perchè mi dia il messaggio "Immettere valore parametro" senza peraltro restituirmi neanche a richiesta soddisfatta alcun dato (pur presente in database)...

    Mi chiedevo, quindi, se il dato numerico non debba essere qualificato come "numero" e non come "testo" affinchè il filtro funzioni. A quel punto, però, l'istruzione vba dovrebbe cambiare? L'asterisco sarebbe ancora appropriato o non andrebbe piuttosto sostituito con l'hash?

    Mamma, che casino...

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2024-08-10T08:14:10+00:00

    Ciao,

    nell'istruzione:

    Me.Filter = "Ruolo Like '*" & Ricerca & "*'"

    sei sicura del il nome del campo sia Ruolo?

    Mimmo

    Ciao Mimmo, grazie della risposta.

    In effetti ho rivisto un po' tutta la struttura ed il campo tabella è "Ruolo Generale"... ho quindi rinominato (ma mica so se ho fatto bene) tutti i riferimenti, sia nella maschera che nel codice VBA... ma il problema "richiesta parametro" persiste e comunque il filtro non funziona, inserisco il numero (anche completo) ma non mi restituisce alcun dato.

    Stavo pensando che forse è proprio sbagliata l'impostazione stessa del filtro che necessita di altri elementi in istruzione, che so... al posto dell'asterisco un altro segno o forse nel criterio vanno aggiunte altre informazioni... brancolo letteralmente nel buio (della mia ignoranza 😄)...

    nel frattempo continuo a cercare... forse il problema è la struttura della maschera? ci sto "pasticciando" da una settimana, forse l'ho stressata...

    La risposta è stata utile?

    0 commenti Nessun commento
  3. domenico laurenza 9,900 Punti di reputazione Moderatore volontario
    2024-08-09T20:06:33+00:00

    Ciao,

    nell'istruzione:

    Me.Filter = "Ruolo Like '*" & Ricerca & "*'"

    sei sicura del il nome del campo sia Ruolo?

    Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Eliminata

    Questa risposta è stata eliminata a causa di una violazione del codice di comportamento. La risposta è stata segnalata manualmente o identificata tramite il rilevamento automatizzato prima dell'esecuzione dell'azione. Per ulteriori informazioni, fai riferimento al codice di comportamento.


    I commenti sono stati disattivati. Ulteriori informazioni