Récup de +ieurs choix pour une requête
fotenor
Messages postés
3
Statut
Membre
-
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])));
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])));
A voir également:
- Récup de +ieurs choix pour une requête
- Liste déroulante de choix excel - Guide
- Recup video youtube - Guide
- Repondeur choix multiple - Forum Réseau
- Quelle requête écrire pour demander au moteur de recherche de présenter de préférence les pages web traitant de tennis mais pas de tennis de table ? ✓ - Forum Access
- Probleme de requête - Forum Access
2 réponses
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
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
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