Bonjour,
Je souhaiterai faire une requête SQL sur Access 2010 qui viendrait demander de renseigner un paramètre (ce paramètre permettra de filtrer le résultat).
Je vous remercie d'avance
Othmane
Bonjour,
Je souhaiterai faire une requête SQL sur Access 2010 qui viendrait demander de renseigner un paramètre (ce paramètre permettra de filtrer le résultat).
Je vous remercie d'avance
Othmane
Bonjour,
Je pense qu'un formulaire de recherche pourrait faire l'affaire, vous trouverez un très bon cours ici
Cordialement
Sebing
Pour celle-ci il y a deux tables, T_Action et T_Piece,
Il y a un champ "machine" dans la table T_Action et je souhaiterais qu'on me demande de renseigner le nom de la machine (liste déroulante) pour filtrer.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT T_Action.ID, T_Action.Action_ar, T_Action.Type, T_Action.Duree, T_Action.Nb_pers, T_Action.Sous_Partie, T_Piece.code_art, T_Piece.Quantite, T_Piece.Syst FROM T_Piece RIGHT JOIN T_Action ON T_Piece.Num_action = T_Action.ID ORDER BY T_Action.ID;
Je vous remercie d'avance
Bonjour
Comme l'a proposé Sebing,
- tu vas créer un formulaire que tu vas appeler Choix
-Tu ajoutes une liste déroulante que tu vas appeler nom_machine, elle aura pour source de données le champ machine. (Il sera mieux pour toi de le créer par l'assistant de création)
-Tu modifies la requête comme suit:
Il faut noter que pour voir le résultat de la requête il faut que le formulaire choix soit ouvert avec un choix effectué bien sûr.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT T_Action.ID, T_Action.Action_ar, T_Action.Type, T_Action.Duree, T_Action.Nb_pers, T_Action.Sous_Partie, T_Piece.code_art, T_Piece.Quantite, T_Piece.Syst FROM T_Piece RIGHT JOIN T_Action ON T_Piece.Num_action = T_Action.ID WHERE (((T_Action.ID)=[Formulaires]![Choix]![nom_machine])) ORDER BY T_Action.ID;
Cordialement.
Merci pour ton aide Bertiny mais ça me sort une table vide (aucun résultat) et je pense vraiment avoir tout essayé
Bonjour
Le Problème se situe au niveau de ton formulaire.
Tu t'es rassuré que la Liste déroulante porte bien le nom nom_machine? En mode création, tu fais un double-clic sur la liste déroulante pour voir ses propriétés. Dans le menu Autre tu verras Nom.
-Ta liste te permet-elle de faire un choix?
Si possible postes une capture des propriétés de ta liste déroulante.
J'ai changé la liste déroulante sans modifier le nom, le nom est bien "modifiable8"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT T_Action.ID, T_Action.Action_ar, T_Action.Type, T_Action.Duree, T_Action.Nb_pers, T_Action.Sous_Partie, T_Piece.code_art, T_Piece.Quantite, T_Piece.Syst FROM T_Piece RIGHT JOIN T_Action ON T_Piece.Num_action = T_Action.ID WHERE (((T_Action.Machine)=[Formulaires]![choix]![Modifiable8])) ORDER BY T_Action.ID;
J'obtient toujours un tableau vide, et quand je renseigne la machine manuellement (RE045 par exemple) j'obtient un résultat
Re-bonjour,
En réalité le problème se fait dans la récupération de la valeur de la liste du formulaire, peu importe la valeur, il recupère un champ vide.
Auriez-vous une solution par rapport à ça ?
Bonsoir
je te propose ceci
Machine.rar
cordialement
Merci infiniment Bertiny, ça m'aide vraiment
Re-bonjour,
J'ai utilisé le même code mais ça ne marche toujours pas, c'est vraiment bizarre
Parfaitement,
Ensuite j'ai utilisé le même code sur ma base de données (en faisant attention aux appellations) mais ça n'a pas marché, ensuite j'ai copié mes tables sur ta base de données et toujours rien,
Finalement la seule difference est que je vais chercher les valeurs de ma liste déroulante dans une table "Machine".
Non! la seule chose que tu vas faire c'est de copier la requête et le formulaire que tu vas coller dans ta bd. Si tu n'as pas encore les données dans tes tables, tu peux aussi copier les tables et les coller dans ta bd. Tu supprimes alors celles existante. Parce que ce qui se passe pour le moment c'est qu'on est pas sûr que nos champs sont identiques. Moi j'ai conçu par rapport à ce que tu nous as renseigné dans ton poste.
Alors, je crois savoir d'où vient le problème :
Il y a plusieurs actions qui correspondent à une seule machine, quand j'ai utilisé le champ "T_Action.machine" il y a des répétitions dans la liste, et quand j'en choisis, il m'affiche qu'une seule action.
Evidement si une machine revient plus d'une fois il faut donc faire une regroupement par machine dans la requête qui est la source de ta liste déroulante.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager