Bonsoir à tous,

Je m'en remets à vous après 2 jours de tests dans tous les sens et d'incompréhension.

Pou remplir une listbox je me base sur une requête.
Dans la clause WHERE de cette requête j'utilise un critère NOT IN dont la liste de valeurs est prise dans une zone de texte d'un formulaire et un critère LIKE dont la valeur est également prise dans une zone de texte du même formulaire en cours.
Ce qui donne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
SELECT R_Contacts_tous_complet.ID_RELATION, R_Contacts_tous_complet.Contact_Nom, R_Contacts_tous_complet.Classer_sous
FROM R_Contacts_tous_complet
WHERE R_Contacts_tous_complet.ID_RELATION NOT IN (forms![Ajouter au groupe]!txtNonDispo) AND R_Contacts_tous_complet.Contact_Nom Like "*" & forms![Ajouter au groupe]!SrchText & "*";
Le critère /R_Contacts_tous_complet.Contact_Nom Like "*" & forms![Ajouter au groupe]!SrchText & "*"/ fonctionne très bien.
Par contre le critère NOT IN à un comportement plus que bizarre :
Lorsque la zone de texte txtNonDispo contient une seule valeur, par exemple "65", ça marche.
Lorsque la zone de texte txtNonDispo contient deux valeurs, par exemple "65, 97", c'est comme si la requête n'était pas prise en compte car les enregistrements ayant les ID_RELATION 65 et 97 apparaissent dans le résultat.
Et lorsque la zone de texte txtNonDispo contient trois au plus de trois valeurs, par exemple "65, 97, 131", alors là le résultat de la requête est aucun enregistrement...

Je n'y comprend vraiment rien.
J'ai essayé pas mal de trucs... mais rien y fait.

J'espère donc que vous aurez de meilleures idées que moi pour résoudre cela.

D'avance un GRAND MERCI