URGENT Access

Evangelion - 20 sept. 2001 à 10:54
 WolfKiller - 20 sept. 2001 à 12:42
J'ai une base access avec 3 tables
clients (num, nom....)
commandes (numCommande, numClients....)
articles (nom, numCommande, quantite, prix)
je veux connaitre pr chque client, le montant de la commande
(somme des quantites * prix pr chaque article)
je voudrais utiliser la requete suivante a partir du formulaire "clients" pr n'afficher que le resultat qui correpond au client actuel :

SELECT Sum(articles.prix*articles.quantite) AS e1, 12*Sum(articles.prix*articles.quantite) AS e2
FROM clients, commandes, articles
WHERE (((clients.[num])=" & Me!Num & ")); (ou qqch comme ca)

Comment faire ?

2 réponses

Pour te faciliter la vie :

;) 1. tu crées ta requête qui te fait tes calculs
( champs nécessaires : num(clients),e1,e2) avec les formules de calcul et les regroupements nécessaires)

;) 2. tu crées un formulaire basé sur cette requête

;) 3. tu crées un formulaire indépendant qui contient une liste déroulante basée sur tes clients (tu renommes ce controle NumClient)

;) 4. tu inséres dans ce formulaire indépendant le formulaire basé sur ta requete calculée.

;) 5. Dans les propriétés de ce controle (qui est en fait un sous formulaire), tu indiques en champ père : NumClient(c'est à dire le nom de la liste déroulante) et en champ fils: Num (c'est à dire le nom du champ issu de la table client)

8-) Chaque fois que tu choisiras un client tu verra apparaitre ces résultats. 8-)

Jean ;)
0
Bonjour

Réorganise tes tables :

Client (IDClient(unique),nom,...)
Articles (IDArticles(unique),nom,prix,...)
Commandes(IDClient,IDArticle,Quantitee)

et la requete ressemble a ça :

SELECT (Article.prix*Commande.quantitee)'avec le sum
FROM Client(C),Article(A),Commande(CM)
WHERE C.IDClient=Cm.IDClient
AND A.IDArticle=CM.IDArticle
GROUPE BY IDClient

Verifie le Groupe Car j'en suis pas sur;Mais sache qu'il existe dans les req SQL une command de regroupement.

@+ :)
0
Rejoignez-nous