Problema casella di ricerca con parole accentate

di il
2 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?

2 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
Devi accedere o registrarti per scrivere nel forum
2 risposte