Bonjour,
Je préfère que tu fasses des captures d'écran de tes requêtes et les copie colle sur le forum.
La 1ère requête doit donner quelque chose comme :
La 2ème
La troisième
.
Bonjour,
Je préfère que tu fasses des captures d'écran de tes requêtes et les copie colle sur le forum.
La 1ère requête doit donner quelque chose comme :
La 2ème
La troisième
.
Bonjour,
Ça a l'air pas mal.
Peut-on les visualiser en mode Design View d'une part, et SQL View d'autre part ?
.
Ce serait beaucoup plus facile d'en prendre connaissance si tu les classais dans l'ordre des étapes avec indication du numéro d'étape.
Faire apparaitre chaque SD en entier.
.
les deux premières images c'est la troisième requête;
La troisième et la quatrième c'est la deuxième requête;
La cinquième et la sixième c'est la première.
Tu veux dire quoi par SD
Merci
Je voulais plutôt dire SR.
Remarques concernant la 1ère requête :
Nul besoin de faire intervenir la table T_Produits dans la requête pour obtenir le résultat escompté.
2ème requête :
1. Pourquoi n'utilises-tu pas la 1ère requête comme table de croisement avec la table T-Factures au moyen de la relation numéro du client plutôt que de faire intervenir encore une fois toutes les tables de la première requête ?
2. Tu te bases sur la date de la facture pour déterminer les factures antérieures en ne retenant que celles qui ont une date qui précède dans le temps celle de la dernière facture. Ne penses-tu pas qu'il pourrait y avoir des factures antérieures ayant la même date que la dernière ? Je te laisse y réfléchir et trouver une solution.
3ème requête :
On en vient à la plus intéressante des trois.
1. Même remarque que le point 1. à propos de la 2ème requête. Pourquoi ne pas partir de la 2ème requête pour déterminer le rang de chacune des dates que cette requête génère ?
2. Je crois avoir compris à la lecture de ton énoncé initial que tu ne souhaites avoir que les numéros de facture et les quantités par produit pour ceux et celles relevant seulement des deux factures antérieures à la dernière. Il conviendrais donc à ce stade de ne retenir que les dates dont le rang est <= 2.
3. Est-il possible d'avoir la définition de la fonction AutoN() ?
Bon DEV
.
" Je crois avoir compris à la lecture de ton énoncé initial que tu ne souhaites avoir que les numéros de facture et les quantités par produit pour ceux et celles relevant seulement des deux factures antérieures à la dernière. Il conviendrais donc à ce stade de ne retenir que les dates dont le rangs est <= 2."
Je peux avoir la syntaxe exacte ?
Voici la fonction AutoN:
Option Compare Database
Option Explicit
Public mycount As Long
Function AutoN(aa) As Long
mycount = mycount + 1
AutoN = mycount
End Function
Merci
Juste pour avancer un peu, quasi la même chose que dans mon post #10 mais présenté autrement. Résultat final dans la dernière requête.
Attention: les champs Nom et Date ont été renommés en LeNom et LaDate (car il ne faut JAMAIS nommer un champ ou une fonction avec un mot déjà utilisé par Access), et le champ Quantite a été mis à Numérique. Et ne JAMAIS mettre comme nom de champ un texte contenant un ou plusieurs espaces (non corrigé dans l'exemple annexé).
Cordialement.
Bonjour,
Je peux te donner la solution sans trop de difficulté, et de même plus si affinité. Mais cela ne marche pas comme ça. A toi de nous soumettre ta solution avant tout, ensuite, à tout un chacun de te proposer les leurs.Je peux avoir la syntaxe exacte ?
Peux-tu nous expliquer à quoi sert cette fonction au juste ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Voici la fonction AutoN: Option Compare Database Option Explicit Public mycount As Long Function AutoN(aa) As Long mycount = mycount + 1 AutoN = mycount End Function
Bon DEV
.
Bonjour,
Tu y vas un peu vite en besogne en clôturant ton post alors que tu n'en es qu'à la moitié de la résolution.
Je vais être sympa avec toi et te donner une solution à la troisième requête :
Je ne sais pas si cela te parle
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT Days.Date, (SELECT (Count(*)+1) FROM QueryC AS Jours WHERE Jours.Date > Days.Date) AS Row FROM QueryC AS Days WHERE ((((SELECT (Count(*)+1) FROM QueryC AS Jours WHERE Jours.Date > Days.Date))<=2)) ORDER BY Days.Date DESC;
On ne sait jamais
Bon DEV
.
Merci pour votre aide,
J'ai mal exposé mon soucis lors de l'ouverture de ce poste:
il faut avoir la facture du jour et les trois anciennes factures ( uniquement pour les mêmes produits s'ils excitent, facturés déjà).
ça fonctionne mieux avec le module, le problème est réglé, j'ai aucun soucis pour cette partie.
Encore merci
Partager