Problema casella di ricerca con parole accentate

di il
4 risposte

Problema casella di ricerca con parole accentate

Ciao a tutti,

ho una casella di ricerca all'interno di una maschera 

con questo codice dopo aggiornamento

Private Sub casellaRicerca_AfterUpdate()
On Error GoTo ERRORERICERCA:
    ' Trova il record corrispondente al controllo
   With Me.RecordsetClone
    .FindFirst "[Cod] = " & str(Nz(Me![casellaRicerca], 0))
    Form_NewContract.Refresh
    If Not .NoMatch Then Me.Bookmark = .Bookmark
End With

Mi da sempre errore sulle parole accentate, "Il testo immesso non corrisponde ad una voce in elenco"

L'origine riga della casella di ricerca é questa query

SELECT Tabella1.Cod, (CompanyName & " - " & ShopName) AS NomeRicerca
FROM Tabella1
ORDER BY Cod DESC

Non riesco a capire dove sbaglio perché per la ricerca utilizzo il campo codice e non il campo di testo.

Qualche idea?

4 Risposte

  • Re: Problema casella di ricerca con parole accentate

    Aggiungo un dettaglio, ho provato a creare un record con campi CompanyName e Shopname pieni di accenti, e non riesco a riprodurre l'errore.

    Invece ho notato che due recordo che contengono la parola Caffé al loro interno mi danno questo errore, e sotto la casella ricerca compare il suggerimento di effettuare la correzione automatica.

    Help?!

  • Re: Problema casella di ricerca con parole accentate

    Parole accentate o Apostrofo...?

    Spesso si usa l'apice per accentare ma il carattere accentnato ha un CHR diverso e dovrebbe essere riconosciuto... l'apice invece è noto.

    Hai provato questo...? Assumo che [Cod] sia un campo Testo, poi se vuoi una ricerca generica devi aggiungere la WildCard

    Private Sub casellaRicerca_AfterUpdate()
    	On Error GoTo ERRORERICERCA:
        ' Trova il record corrispondente al controllo
        If Len(Me![casellaRicerca] & vbNullstring)>0 Then
       		With Me.RecordsetClone
        		.FindFirst "[Cod] = '" & Replace(Me![casellaRicerca], "'","''") & "'"
        		' ricerca con WildCard
        		'.FindFirst "[Cod] = '*" & Replace(Me![casellaRicerca], "'","''") & "*'"
        		Form_NewContract.Refresh
        		If Not .NoMatch Then Me.Bookmark = .Bookmark
    		End With
    	End If
    End Sub
  • Re: Problema casella di ricerca con parole accentate

    03/07/2025 - @Alex ha scritto:

    Parole accentate o Apostrofo...?

    Spesso si usa l'apice per accentare ma il carattere accentnato ha un CHR diverso e dovrebbe essere riconosciuto... l'apice invece è noto.

    Hai provato questo...? Assumo che [Cod] sia un campo Testo, poi se vuoi una ricerca generica devi aggiungere la WildCard

    Private Sub casellaRicerca_AfterUpdate()
    	On Error GoTo ERRORERICERCA:
        ' Trova il record corrispondente al controllo
        If Len(Me![casellaRicerca] & vbNullstring)>0 Then
       		With Me.RecordsetClone
        		.FindFirst "[Cod] = '" & Replace(Me![casellaRicerca], "'","''") & "'"
        		' ricerca con WildCard
        		'.FindFirst "[Cod] = '*" & Replace(Me![casellaRicerca], "'","''") & "*'"
        		Form_NewContract.Refresh
        		If Not .NoMatch Then Me.Bookmark = .Bookmark
    		End With
    	End If
    End Sub

    Il campo COD é un campo numerazione automatica.

    Nell'immagine si vede cosa succede se provo a scrivere Bar Caffé, mi compare il pop-up per correggere la parola caffé, e se accetto la correzione dopo la ricerca funziona, altrimenti mi da l'errore di prima.

    Forse dipende dall'accento acuto o grave? Ma che senso ha?

  • Re: Problema casella di ricerca con parole accentate

    Nessuna idea riguardo a questo problema?

Devi accedere o registrarti per scrivere nel forum
4 risposte