Bonjour,
Pour remplir le contenu d'une liste déroulante, j'utilise le code suivant :
ça fonctionne bien sauf si le texte recherché contient un apostrophe notamment. Si c'est le cas, les textes correspondants n’apparaissent pas dans la liste et si je sélectionne un texte avec un apostrophe, il est bien sélectionné mais le champ est vide (liste 2 colonnes, id en 1 avec largeur à 0 et raison sociale en 2).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Public Function Liste_Entreprise(Txt As String) If Len(Txt) < 3 Then SQl = "SELECT TOP 10 REPertoire.REP_Num, REPertoire.REP_Raison, REPertoire.REP_Codepostal, REPertoire.REP_Ville, REPertoire.REP_Actif " & _ "FROM REPertoire " & _ "WHERE REPertoire.REP_Raison Is Not Null AND REPertoire.REP_Raison Like '" & Txt & "*' AND REPertoire.REP_Client=True AND REPertoire.REP_Actif=True ORDER BY REPertoire.REP_Raison;" Else SQl = "SELECT TOP 10 REPertoire.REP_Num, REPertoire.REP_Raison, REPertoire.REP_Codepostal, REPertoire.REP_Ville, REPertoire.REP_Actif " & _ "FROM REPertoire " & _ "WHERE REPertoire.REP_Raison Is Not Null AND REPertoire.REP_Raison Like '*" & Txt & "*' AND REPertoire.REP_Client=True AND REPertoire.REP_Actif=True ORDER BY REPertoire.REP_Raison;" End If Me.S_Entreprise.RowSource = SQl End Function
Je n'ai pas se problème si je laisse Access gérer l'alimentation avec une requête mais le truc c'est c'est que ma liste complète contient plus de 60000 noms et c'est "long" à alimenter. Du coup, j'alimente en VBA à la saisie du texte.
Si vous avez une explication et mieux, une solution, suis preneur.
Merci d'avance ;-)
Partager