Casellatxt di ricerca con pulsante

di il
9 risposte

Casellatxt di ricerca con pulsante

Buonasera a tutti , ho una tabella "Dichiarazione" con due campi da poter cercare il contenuto dei record. I due campi su cui fare la ricerca sono "ID" e "Cognome", il tutto su vba con select e su maschera singola.

il codice :

Private Sub Comando161_Click()
Dim z As String
z = "SELECT * FROM Dichiarazione Where Cognome Like '*" & Ricerca.Value & "*' OR ID Like '*" & Ricerca.Value & "*'"
Me.RecordSource = z
Me.Requery

Ricerca=""
End Sub

con questo codice sopra access resitituisce un errore per i cognomi che contengono apostrofo (') , ad esempio D'Apice , D'Amico ecc....

allora ho modificato la stringa con Replace cosi :

Private Sub Comando161_Click()
Dim z As String
z = "SELECT * FROM Dichiarazione Where Cognome Like '*" & Replace(Ricerca.Value, "'", "''") & "*'"
Me.RecordSource = z
Me.Requery

Ricerca=""
End Sub

e per fare in modo che funzioni ho impostato il Tipo di Recordset  su snapshot invece che dynaset e funziona.

la mia richiesta di aiuto arriva dal fatto che con questa nuova stringa con replace riesco a cercare solo il cognome e non anche l'ID come nella prima sub da me postata, qualcuno può aiutarmi a riscriverla ?

9 Risposte

  • Re: Casellatxt di ricerca con pulsante

    Manca la parte da OR in poi ... perchè l'hai eliminata?

  • Re: Casellatxt di ricerca con pulsante

    21/01/2025 - Ake ha scritto:

    ho una tabella "Dichiarazione" con due campi da poter cercare il contenuto dei record. I due campi su cui fare la ricerca sono "ID" e "Cognome", il tutto su vba con select e su maschera singola.

    Io, al di là dei codici postati, non capisco cosa devi fare veramente...soprattutto il perché della ricerca su due campi. Potresti fare un esempio pratico?

  • Re: Casellatxt di ricerca con pulsante

    A parte che ti sei perso la parte or...

    Ma perché non usate mai i parametri?

    Paramcognome di tipo string

    Paramnumero di tipo numerico

    Ecc...

    Sql= select .... Where (cognome like [parametrocognome] and [parametrocognome<>'')

    Or

    (Altrocampo like [altroparametro] and [altroparametro<>'')

    Prima di lanciare la.query setti i parametri e amen!

    Se parametro='d'ellamico dell'amico' quello che passi è [parametro] non ''&testo & ''' & abc... Ecc...

    Se per ipotesi ti serve una data metti un parametro.di tipo date e passi solo il parametro...

  • Re: Casellatxt di ricerca con pulsante

    Mi chiedo perché non usare semplicemente la proprietà Filter di maschera necessaria di riscrivere un predicato SQL che poi rende complesso passare eventuali criteri a Report o altri Bound Object...?

    Semplificate le cose, aiuta.

  • Re: Casellatxt di ricerca con pulsante

    21/01/2025 - oregon ha scritto:

    Manca la parte da OR in poi ... perchè l'hai eliminata?

    Oregon l'ho eliminata perchè mi restituiva errore , non la so scrivere ...... mi aiuti ?

  • Re: Casellatxt di ricerca con pulsante

    21/01/2025 - OsvaldoLaviosa ha scritto:

    21/01/2025 - Ake ha scritto:

    ho una tabella "Dichiarazione" con due campi da poter cercare il contenuto dei record. I due campi su cui fare la ricerca sono "ID" e "Cognome", il tutto su vba con select e su maschera singola.

    Io, al di là dei codici postati, non capisco cosa devi fare veramente...soprattutto il perché della ricerca su due campi. Potresti fare un esempio pratico?

    Osvaldo forse non siamo in sintonia per la mia poca professionalità , noto che in ogni argomento che posto invece di imparare io qualcosa tu non capisci mai cosa dico , non so che dire .... è una casella di testo dove ci scrivi cosa vuoi cercare e cliccki un btn per avviare la ricerca non so come spiegarmi meglio

  • Re: Casellatxt di ricerca con pulsante

    21/01/2025 - sihsandrea ha scritto:

    A parte che ti sei perso la parte or...

    Ma perché non usate mai i parametri?

    Paramcognome di tipo string

    Paramnumero di tipo numerico

    Ecc...

    Sql= select .... Where (cognome like [parametrocognome] and [parametrocognome<>'')

    Or

    (Altrocampo like [altroparametro] and [altroparametro<>'')

    Prima di lanciare la.query setti i parametri e amen!

    Se parametro='d'ellamico dell'amico' quello che passi è [parametro] non ''&testo & ''' & abc... Ecc...

    Se per ipotesi ti serve una data metti un parametro.di tipo date e passi solo il parametro...

    non cè la query 

  • Re: Casellatxt di ricerca con pulsante

    21/01/2025 - @Alex ha scritto:

    Mi chiedo perché non usare semplicemente la proprietà Filter di maschera necessaria di riscrivere un predicato SQL che poi rende complesso passare eventuali criteri a Report o altri Bound Object...?

    Semplificate le cose, aiuta.

    filter di maschera ? non la conosco , potresti essere paziente da darmi info per favore?

  • Re: Casellatxt di ricerca con pulsante

    Va beh chiedo scusa non sono troppo bravo cercavo solo una soluzione / correzione del mio codice , le mie capacità sono queste ....  Un elenco di allievi da ricercare tramite cognome o id , e mostrare su maschera singola i dati con foto , l'unico codice che conosco era quello ma dava errore con gli apostrofi , scusate ma mi sento solo criticato e non aiutato. Studierò meglio grazie lo stesso

Devi accedere o registrarti per scrivere nel forum
9 risposte