Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Prix Produit

3 réponses
Avatar
big
Bonjour,
pour saisir les détails commande j'ai fait un formulaire. pour le nom
produit il y a une liste déroulante prenant ses valeurs dans la colon nom
produit de la table produit. Mais comment faire pour qu'une fois le produit
selectionné, son prix unitaire apparaisse dans le champ prix produit ?
Actuellement ce champ est une liste déroulante prenant ses valeur dans la
colon prix unitaire de la table produit mais ceci n'est pas bon car on se
trouve avec tous les prix.
D'avance merci.

3 réponses

Avatar
Willi2004
Bonjour big.
Ton formulaire est basé sur la table "Produit" je suppose.
Alors sur l'événement Après MAJ de ta liste déroulante appelée ici
"Modifiable0", tu mets le code suivant:

Private Sub Modifiable0_AfterUpdate()
Dim rs As Object
Set rs = Me.Recordset.Clone
rs.FindFirst "[Produit] = '" & Me![Modifiable0] & "'"
If Not rs.EOF Then Me.Bookmark = rs.Bookmark
End Sub

A l'ouverture du formulaire, un prix s'affiche dans le champ "Prix" alors
que la liste déroulante est vide. Pour y remédier, tu peux utiliser la mise
en forme conditionnelle sur le champ "Prix" en lui attribuant la même
couleur de police que la couleur de fond, si le champ "Modifiable0" est
Null.


"big" a écrit dans le message de news:

| Bonjour,
| pour saisir les détails commande j'ai fait un formulaire. pour le nom
| produit il y a une liste déroulante prenant ses valeurs dans la colon nom
| produit de la table produit. Mais comment faire pour qu'une fois le
produit
| selectionné, son prix unitaire apparaisse dans le champ prix produit ?
| Actuellement ce champ est une liste déroulante prenant ses valeur dans la
| colon prix unitaire de la table produit mais ceci n'est pas bon car on se
| trouve avec tous les prix.
| D'avance merci.
Avatar
big
Bonjour willi,
mon formulaire est basé sur la requete detail_commande (afin de pouvoir
calculer le prix total) elle même basé sur la table Détails commandes. Tous
basés sur l'exemple Comptoire.mdb.
Actuellement dans le propriété contenu de la liste déroulante prix unitaire
, j'ai :
SELECT Produits.[Prix unitaire] FROM Produits;
Si je pouvais le modifier en :
SELECT Produits.[Prix unitaire] FROM Produits where Produit.[nom
Produit]=monformulaire![Réf produit];
mais quand je fais ça il me demande la référence du produit.
Une solution plus simple pour moi est de pouvoir faire une requete qui
rendra le prix unitaire du produit dont le nom est dans le champ nom produit
actuellement ouvert (c'est à dire le formulaire détail commande) mais je ne
connais pas le syntaxe qui réference un champ dans un formulaire ouvert pour
le mettre dans une requete.
D'avance merci.

Bonjour big.
Ton formulaire est basé sur la table "Produit" je suppose.
Alors sur l'événement Après MAJ de ta liste déroulante appelée ici
"Modifiable0", tu mets le code suivant:

Private Sub Modifiable0_AfterUpdate()
Dim rs As Object
Set rs = Me.Recordset.Clone
rs.FindFirst "[Produit] = '" & Me![Modifiable0] & "'"
If Not rs.EOF Then Me.Bookmark = rs.Bookmark
End Sub

A l'ouverture du formulaire, un prix s'affiche dans le champ "Prix" alors
que la liste déroulante est vide. Pour y remédier, tu peux utiliser la mise
en forme conditionnelle sur le champ "Prix" en lui attribuant la même
couleur de police que la couleur de fond, si le champ "Modifiable0" est
Null.


"big" a écrit dans le message de news:

| Bonjour,
| pour saisir les détails commande j'ai fait un formulaire. pour le nom
| produit il y a une liste déroulante prenant ses valeurs dans la colon nom
| produit de la table produit. Mais comment faire pour qu'une fois le
produit
| selectionné, son prix unitaire apparaisse dans le champ prix produit ?
| Actuellement ce champ est une liste déroulante prenant ses valeur dans la
| colon prix unitaire de la table produit mais ceci n'est pas bon car on se
| trouve avec tous les prix.
| D'avance merci.






Avatar
Willi2004
Ouvre ton formulaire en mode création puis commence par remplacer la liste
déroulante "Prix unitaire" par une zone de texte tout simplement, dont la
source contrôle est le champ "Prix unitaire" de la requête
"Detail_commande".

En lieu et place du code précédent, tu peux faire le reste avec l'assistant
de création de liste déroulante.
Dans la boîte à outils, clique sur l'outils "Zone de liste déroulante" puis
dessine une liste déroulante sur ton formulaire.
L'assistant se mettra en place pour te guider.
Dans la fenêtre qui s'ouvre, coche la case "rechercher un enregistrement
dans mon formulaire basé sur la valeur que j'ai sélectionnée dans la liste
déroulante" puis clique sur Suivant.
Dans la colonne des champs disponibles, sélectionne "Nom du produit" puis
clique sur la flèche du dessus pour faire passer ce champ dans la colonne de
droite.
Suivant pour continuer et pour finir, clique sur Terminer.
C'est tout.
Passe en mode formulaire et sélectionne un produit dans la liste que tu
viens de créer.
Son prix devrait s'afficher dans le champ "Prix unitaire".



"big" a écrit dans le message de news:

|
| Bonjour willi,
| mon formulaire est basé sur la requete detail_commande (afin de pouvoir
| calculer le prix total) elle même basé sur la table Détails commandes.
Tous
| basés sur l'exemple Comptoire.mdb.
| Actuellement dans le propriété contenu de la liste déroulante prix
unitaire
| , j'ai :
| SELECT Produits.[Prix unitaire] FROM Produits;
| Si je pouvais le modifier en :
| SELECT Produits.[Prix unitaire] FROM Produits where Produit.[nom
| Produit]=monformulaire![Réf produit];
| mais quand je fais ça il me demande la référence du produit.
| Une solution plus simple pour moi est de pouvoir faire une requete qui
| rendra le prix unitaire du produit dont le nom est dans le champ nom
produit
| actuellement ouvert (c'est à dire le formulaire détail commande) mais je
ne
| connais pas le syntaxe qui réference un champ dans un formulaire ouvert
pour
| le mettre dans une requete.
| D'avance merci.
|
| > Bonjour big.
| > Ton formulaire est basé sur la table "Produit" je suppose.
| > Alors sur l'événement Après MAJ de ta liste déroulante appelée ici
| > "Modifiable0", tu mets le code suivant:
| >
| > Private Sub Modifiable0_AfterUpdate()
| > Dim rs As Object
| > Set rs = Me.Recordset.Clone
| > rs.FindFirst "[Produit] = '" & Me![Modifiable0] & "'"
| > If Not rs.EOF Then Me.Bookmark = rs.Bookmark
| > End Sub
| >
| > A l'ouverture du formulaire, un prix s'affiche dans le champ "Prix"
alors
| > que la liste déroulante est vide. Pour y remédier, tu peux utiliser la
mise
| > en forme conditionnelle sur le champ "Prix" en lui attribuant la même
| > couleur de police que la couleur de fond, si le champ "Modifiable0" est
| > Null.
| >
| >
| > "big" a écrit dans le message de news:
| >
| > | Bonjour,
| > | pour saisir les détails commande j'ai fait un formulaire. pour le nom
| > | produit il y a une liste déroulante prenant ses valeurs dans la colon
nom
| > | produit de la table produit. Mais comment faire pour qu'une fois le
| > produit
| > | selectionné, son prix unitaire apparaisse dans le champ prix produit ?
| > | Actuellement ce champ est une liste déroulante prenant ses valeur dans
la
| > | colon prix unitaire de la table produit mais ceci n'est pas bon car on
se
| > | trouve avec tous les prix.
| > | D'avance merci.
| >
| >
| >
| >