Page 1 sur 1
[Résolu] LIKE insensible aux accents ?
Publié : 21 nov. 2014 08:43
par goggi
Bonjour,
J'ai cherché, entendu parler de COLLATE, mais... j'ai aussi vu ce fil :
https://forum.openoffice.org/fr/forum/v ... 53#p215453 et le commentaire de Dude.
Il date de juin 2013, y a-t-il eu du neuf sur le sujet ?
Y-a-t-il une solution sans COLLATE ?
Merci
Re: LIKE insensible aux accents ?
Publié : 21 nov. 2014 09:46
par DLE
Bonjour,
Il n'y a pas eu d'évolution de Base, AOO 411 est toujours en HSQL 1.8.
Que souhaitez-vous faire exactement?
Bonne journée.
Re: LIKE insensible aux accents ?
Publié : 21 nov. 2014 11:20
par goggi
Bonjour DLE,
J'ai une table d'adhérents assez longue (près de 1000), et j'ai mis en place un système de recherche de nom par filtrage.
Je saisis le nom et le type de recherche voulu (boutons radio), dans une boîte de dialogue.
Fonction de cette saisie, je mets dans la propriété .Filter de la table quelque chose du genre
ou
Code : Tout sélectionner
"(UPPER(""T_ADHERENTS"".""nom"") = LIKE UPPER('" & sNom & "'%)"
avec les variantes de positionnement du % (avant et de part et d'autre).
Ainsi, grâce à UPPER, en cherchant "Andre" je trouve tous les adhérents andre ou ANDRE,
mais pas André ni
ANDRÉ, idem pour les Francois, FRANCOIS, FRANÇOIS et autres François.
C'est ce que j'aurais pourtant bien aimé obtenir car on ne peut pas empêcher les gens de saisir des lettres accentuées ou non.
Merci.
Re: LIKE insensible aux accents ?
Publié : 21 nov. 2014 11:34
par goggi
Bonjour,
Merci pour l'info.
Voilà ce que je veux faire :
Disposant d'une longue liste d'adhérents (près de 1000) affichée dans un contrôle Table d'un formulaire, j'ouvre par un bouton une boîte de dialogue dans laquelle je saisis tout ou partie d'un nom d'adhérent (des boutons radio permettent de sélectionner : nom complet, commence par, contient...).
À la validation, je modifie la propriété .Filter par quelque chose comme :
ou encore
Code : Tout sélectionner
"(UPPER(""T_ADHERENTS"".""nom"") = LIKE UPPER('" & sNom & "'%)"
Ça va bien pour trouver les Claude, ou Claude ou claude, mais ça ne marche pas si on cherche les Francois en saisissant françois...
Avec UPPER, je me joue des majuscules et minuscules, mais en saisissant Epinal, je ne trouve pas Épinal...
Comment faire ?
Re: LIKE insensible aux accents ?
Publié : 21 nov. 2014 12:42
par jeanmimi
Bonjour,
Je ne sais pas si cet exemple a été évoqué plus tôt, mais Pierre-Yves SAMYN avait proposé une Macro pour sélectionner un nom en tapant ses premières lettres, indifféremment en minuscules ou pas :
Code : Tout sélectionner
REM ***** BASIC *****
Option Explicit
Sub PysActualiser(PysEvt as object)
dim PysTexte as object, PysForm as object
dim PysSQL as string, PysChoix as string
PysTexte = PysEvt.source
PysChoix = PysTexte.text
PysForm = PysTexte.model.Parent
PysSQL = "SELECT * FROM rNom WHERE Nom LIKE '" & pysChoix & "%'"
PysForm.command = PysSQL
PysForm.Reload
End Sub
Re: LIKE insensible aux accents ?
Publié : 30 nov. 2014 14:27
par DLE
Bonjour,
Une recherche sur le site developpez.com, a donné cette
solution qui fonctionne sur la version 1.8.0 de HSQL .
Re: LIKE insensible aux accents ?
Publié : 01 déc. 2014 14:39
par goggi
En effet, c'est une bonne idée.
Merci pour l'aide.