|
|
|
|
Bonjour,
Voici de quoi faire avancer, je crois, le schmilblick en SQL : Il me semble que cela correspond à votre besoin (en l'adaptant à votre contexte). Attention, j'ai relu soigneusement, mais ..... SELECT ENTREES.[Code produit], ENTREES.[Nom du Matériel], SORTIES.[Nb sorties] , ENTREES.[Nb entrees] , [entrees].[nb entrees]-[sorties].[nb sorties] AS situation, ENTREES.DateTransaction FROM ENTREES INNER JOIN SORTIES ON ENTREES.[code produit] = SORTIES.[code produit] GROUP BY ENTREES.[code produit], ENTREES.[Nom du produit], SORTIES.[nb sorties], ENTREES.[nb entrees], [entrees].[nb entrees]-[sorties].[nb sorties], ENTREES.DateTransaction HAVING (((ENTREES.DateTransaction)=Date())); Cordialement La science ne fait que trouver ce qui existe depuis toujours. Hubert REEVES. |
Merci Jacques , pouvez-vous apporter plus d'explication à un pur néophyte je suis perdu dans voitre procédure.
Je reprends ci dessous mes tables en espérant être plus clair : - ENTREE (N°,DATE,REF-E,PRODUIT,QTE-E) - SORTIE (N°,DATE,REF-S,PRODUIT,QTE-S) Mon but c'est d'avoir une requête qui me donne pour chaque PRODUIT le STOCK=QTE-E - QTE-S |
Bonjour,
A propos : Dans les noms le '-' est proscrit. Utiliser '_'. Nota : voilà la requête à copier dans : Requête/nouveau/mode création/(fermer ajouter table)/ activer affichage/SQL mode SQL SELECT ENTREE.N°, ENTREE.PRODUIT, ENTREE.QTE_E, SORTIE.QTE_S, [entree].[QTE_E]-[sortie].[QTE_S] AS STOCK, ENTREE.Date FROM ENTREE INNER JOIN SORTIE ON ENTREE.N° = SORTIE.N° GROUP BY ENTREE.N°, ENTREE.PRODUIT, ENTREE.QTE_E, SORTIE.QTE_S, [entree].[QTE_E]-[sortie].[QTE_S], ENTREE.Date HAVING (((ENTREE.Date)=Date())); Attention : Seuls les enregistrements dont la date est 04/11/2006 seront listés Cordialement La science ne fait que trouver ce qui existe depuis toujours. Hubert REEVES. |
Une pure merveille !!!!! Merci Jacques.
Cdlmt |
Bonjour,
Un dernier conseil : dans la table Entree, renommer le champ 'Date' en 'Date_Entree' car l'ambiguïté avec la "Date" système peut faire planter les requêtes. En fait Date est un mot dit 'réservé". Donc à proscrire systématiquement. Pour conclure, voici une requête qui vous sera sans doute utile. Elle permet de lister les transactions d'une semaine en saisissant son N°. Nota : l'année (2006) est en dur dans la syntaxe. Il fauda peut-être l'adapter, au cas par cas, à votre besoin. SELECT ENTREE.N°, ENTREE.PRODUIT, ENTREE.QTE_E, SORTIE.QTE_S, [entree].[QTE_E]-[sortie].[QTE_S] AS STOCK, DatePart("ww",[Date_entree]) AS Date_controle, ENTREE.Date_entree FROM ENTREE INNER JOIN SORTIE ON ENTREE.N° = SORTIE.N° GROUP BY ENTREE.N°, ENTREE.PRODUIT, ENTREE.QTE_E, SORTIE.QTE_S, [entree].[QTE_E]-[sortie].[QTE_S], DatePart("ww",[Date_entree]), ENTREE.Date_entree HAVING (((DatePart("ww",[Date_entree])) Like [ Semaine ?]) AND ((DatePart("yyyy",[Date_entree]))=2006)) ORDER BY DatePart("ww",[Date_entree]); Bienvenue dans le monde SQL Cordialement La science ne fait que trouver ce qui existe depuis toujours. Hubert REEVES.
|
Bonjour Jacques,
Vous êtes proche de la solution , seulement vous sommez les QTE_E ce qui fausse le calcul du STOCKR , en réalité il faudrait faire QTE_E-somme(QTE_S) j'ai tripatouillé l'expression sum de votre requête dans tous les sens mais à chaque fois il me renvoit une erreur d'agrégat ?? je suis suspendu à votre solution. Trés cdlmt
|
Bonjour
J ai une Base Access de 50 000 enregistrement j avais commencer a utiliser Access pour faire des rapports mais je suis coincee a plusieurs deux niveaux : -Comment intervenir sur la casse? -Comment ne pas faire apparaitre des champs vident? Merci pour votre aide ! |
Résultats pour Aide pour créer requêtes ACCESS
Résultats pour Aide pour créer requêtes ACCESS
Résultats pour Aide pour créer requêtes ACCESS
Résultats pour Aide pour créer requêtes ACCESS