Récup de +ieurs choix pour une requête

fotenor Messages postés 3 Statut Membre -  
fotenor Messages postés 3 Statut Membre -
Bonjour,

Ci-dessous le code permettant d'exécuter une requête sélection dans la table T_tireurs sous ACCESS 2003, en fonction des choix faits par l'utilisateur dans 2 listes déroulantes présentes dans le formulaire [F_saisie_d'un_tir].
La liste [formulaires]![saisie_d'un_tir]![tireur] n'est pas reconnue par ACCESS lors de l'exécution de la requête, alors qu'elle l'est si je crée une requête basée uniquement sur cette liste, et que l'autre liste est parfaitement reconnue.
Les valeurs '0' et "*" sont les valeurs par défaut des listes déroulantes.
POURQUOI? Telle est ma question.

Si une solution différente de programmation est possible je suis preneur, sachant que je souhaite ne pas utiliser de formulaire lié avec filtre.

Merci de votre aide.

SELECT T_Tireurs.id_tireur, T_Tireurs.Licence, T_Tireurs.Prénom, T_Tireurs.NOM, T_Tireurs.Cotisation, T_Tireurs.carte_plateaux
FROM T_Tireurs
WHERE
(((T_Tireurs.NOM)=([Formulaires]![F_Saisie_d'un_tir]![nom])) AND (([Formulaires]![F_Saisie_d'un_tir]![licence])="0"))
OR (((T_Tireurs.Licence)=([Formulaires]![F_Saisie_d'un_tir]![licence])) AND (([Formulaires]![F_Saisie_d'un_tir]![nom])="*"))
OR (((T_Tireurs.Licence)=([Formulaires]![F_Saisie_d'un_tir]![licence])) AND ((T_Tireurs.NOM)=([Formulaires]![F_Saisie_d'un_tir]![nom])));

2 réponses

Polux31 Messages postés 7219 Statut Membre 1 204
 
bonjour,

Pour "éclaircir" la requête, lorsqu'on fait un select dans une seule table, il n'est pas nécessaire de mettre le nom de la table partout ... "Select id_tireur, Licence, Prenom, Nom, Cotisation, carte_plateaux from T_Tireurs ..." est suffisant.

Qu'entends-tu par "La liste [formulaires]![saisie_d'un_tir]![tireur] n'est pas reconnue par ACCESS lors de l'exécution de la requête .."

Je te conseille de récupérer les paramètres de la where dans des variables avant de les passer dans la requête. Tes listes déroulantes sont des combobox où des listbox ?

ex pour un ComboBox : (met des points d'arrêt dans ton code pour vérifier le contenu des variables) ...

Dim sNom As String
....
sNom = ComboBox1.Text
....

donc dans la requête :

... Where (Nom = ' " & sNom & " ' AND Licence = 0) Or (Licence = ..... etc
0
fotenor Messages postés 3 Statut Membre
 
Bonjour,

Ce code est issu de la programmation en interactif, d'où la répétition du nom de la table.
Pour "la liste n'est pas reconnue", je dis cela car lors de l'exécution de la requête c'est la réponse fournie par ACCESS :
formulaires![F_saisie_d'un_tir]![tireurs] 1 UNKNOWN.

Merci de ton aide2 message(s) posté(s) depuis le mardi 23 octobre 2007
0
fotenor Messages postés 3 Statut Membre
 
Bonjour,

Ce code est issu de la programmation en interactif, d'où la répétition du nom de la table.
Pour "la liste n'est pas reconnue", je dis cela car lors de l'exécution de la requête c'est la réponse fournie par ACCESS :
formulaires![F_saisie_d'un_tir]![tireurs] 1 UNKNOWN.

Merci de ton aide
0