Suite à une migration de Microsoft Access 97 à OOo 3.1 (dont je suis content: je ne ferais pas le chemin inverse !), je dois réécrire toutes mes macros et fonctions.
Je bute sur un bout de code qui ne posait pas de problème dans Access: j'ai besoin de rechercher des enregistrements dans une base en fonction d'un texte donné par l'utilisateur. Dans mon code, j'utilise l'instruction SQL suivante:
aSQL = "SELECT ""SPI"", ""Nom1"", ""Nom2"" FROM ""TABDossiers"" WHERE ""SPI"" LIKE '%" & nomSelect & "%' OR ""Nom1"" LIKE '%" & nomSelect & "%' OR ""Nom2"" LIKE '%" & nomSelect & "%' ORDER BY ""Nom1"", ""Nom2"", ""SPI"""
où "nomSelect" est la chaîne de caractères donnée par l'utilisateur.
Tel quelle, cette instruction fonctionne. Le problème est que l'opérateur "LIKE" est sensible à la casse.
Pour l'éviter, j'ai donc voulu faire une fonction que j'ai nommée "FChaineMajuscule(nomSelect)" qui me retourne la chaîne en majuscule et débarrassée de ses accents, trémas et autres (même des apostrophes): à=a=A, ù=u=U, ... . La fonction marche et me retourne ce que je veux.
Mais comment l'incorporer dans mon instruction SQL ? Je peux effectivement changer les "nomSelect" par "FChaineMajuscule(nomSelect)" (pas de problème) mais comment faire de même pour les colonnes (SPI, Nom1 et Nom2) de ma table ?
Merci d'avance.

