Requete sur un intervalle de Dates
Fermé
Ash_86
Messages postés
3
Date d'inscription
vendredi 19 avril 2013
Statut
Membre
Dernière intervention
23 avril 2013
-
19 avril 2013 à 11:22
tessel75 - 23 avril 2013 à 23:03
tessel75 - 23 avril 2013 à 23:03
A voir également:
- Requete sur un intervalle de Dates
- Comment ouvrir un fichier dat - Guide
- Comment ouvrir un fichier dat ? - Guide
- Fonction si excel plusieurs conditions avec intervalle ✓ - Forum Excel
- Calcul nombre de nuits entre deux dates excel ✓ - Forum Excel
- Quelle requête écrire pour demander au moteur de recherche de présenter de préférence les pages web traitant de tennis mais pas de tennis de table ✓ - Forum Java
3 réponses
Bonsoir,
Ta question n'est vraiment pas claire. C'est un "art" un peu difficile; la seule chose importante n'est pas les détails mais ce que peuvent comprendre tes interlocuteurs. Or nous (l'absence de réponse témoigne de la perplexité où se sont trouvés tous ceux qui ont ouvert ton message) ne comprenons pas comment est construite ta (tes) table et moins encore ce que tu veux en extraire, ni selon quels critères.
Des périodes de vacances, et entre telle et telle dates, d'accord, mais comment ces périodes sont-elles enregistrées? Tu nous indiques le critère ("entre ... et ..."): très bien mais comme tu ne dis pas dans quelle requête s'intègre ce critère, nous sommes bien en peine de dire ce qui accroche et comment le corriger.
Encore un effort. SVP
Ta question n'est vraiment pas claire. C'est un "art" un peu difficile; la seule chose importante n'est pas les détails mais ce que peuvent comprendre tes interlocuteurs. Or nous (l'absence de réponse témoigne de la perplexité où se sont trouvés tous ceux qui ont ouvert ton message) ne comprenons pas comment est construite ta (tes) table et moins encore ce que tu veux en extraire, ni selon quels critères.
Des périodes de vacances, et entre telle et telle dates, d'accord, mais comment ces périodes sont-elles enregistrées? Tu nous indiques le critère ("entre ... et ..."): très bien mais comme tu ne dis pas dans quelle requête s'intègre ce critère, nous sommes bien en peine de dire ce qui accroche et comment le corriger.
Encore un effort. SVP
Bonsoir,
Merci pour tes efforts, ta question est bien plus compréhensible pour qui veut bien s'en donner la peine.
Malheureusement, je ne peux pas t'en donner une solution simple. Je pourrais peut-être m'y risquer mais sans être certain de la validité. C'est le genre de truc où les tables n'ont pas de liens évidents à établir malgré l'apparente simplicité des données.
Pour ce que j'envisagerais, le résultat serait que j'établirais une requête (R1) avec les 2 tables adjacentes mais sans liaison, d'où une série de toutes les combinaisons de T_Jours et T_Vacances, soit n*m lignes, et ensuite une autre requête (R2) dont R1 serait la source, dont j'écrêterais les lignes utiles.
C'est le mieux que je puisse te dire.
En espérant que d'autres plus compétents puissent t'être d'un plus grand secours.
Bonne suite
Merci pour tes efforts, ta question est bien plus compréhensible pour qui veut bien s'en donner la peine.
Malheureusement, je ne peux pas t'en donner une solution simple. Je pourrais peut-être m'y risquer mais sans être certain de la validité. C'est le genre de truc où les tables n'ont pas de liens évidents à établir malgré l'apparente simplicité des données.
Pour ce que j'envisagerais, le résultat serait que j'établirais une requête (R1) avec les 2 tables adjacentes mais sans liaison, d'où une série de toutes les combinaisons de T_Jours et T_Vacances, soit n*m lignes, et ensuite une autre requête (R2) dont R1 serait la source, dont j'écrêterais les lignes utiles.
C'est le mieux que je puisse te dire.
En espérant que d'autres plus compétents puissent t'être d'un plus grand secours.
Bonne suite
Ash_86
Messages postés
3
Date d'inscription
vendredi 19 avril 2013
Statut
Membre
Dernière intervention
23 avril 2013
23 avril 2013 à 15:17
23 avril 2013 à 15:17
Merci pour ta réponse
quelqu'un m'a conseillé de faire un IIF:
Alors j'ai le code suivant dans la partie SQL:
Mais il ne me retourne que les lignes avec des vacances et aucune ligne "Pas de vacances"
Je suis toujours coincé,
Pour ta solution R1 puis R2: comment faire quand il aura fait R1 pour sélectionner dans R2 lignes qui sont correctes, car dans R1 il aura associé toutes les dates avec toutes les périodes de vacances donc il y aura des erreurs, non?
Merci pour ton aide
quelqu'un m'a conseillé de faire un IIF:
Alors j'ai le code suivant dans la partie SQL:
SELECT T_Ventes.Date_Jour, T_Ventes.Vol_Ventes, T_Vacances.Nom_vacances FROM T_Ventes, T_Vacances WHERE (((T_Vacances.Nom_vacances)=IIf([T_Ventes.Date_Jour] Between [T_vacances.Date_debut] And [T_vacances.Date_fin],[T_Vacances].[Nom_vacances],'pas de vacances')));
Mais il ne me retourne que les lignes avec des vacances et aucune ligne "Pas de vacances"
Je suis toujours coincé,
Pour ta solution R1 puis R2: comment faire quand il aura fait R1 pour sélectionner dans R2 lignes qui sont correctes, car dans R1 il aura associé toutes les dates avec toutes les périodes de vacances donc il y aura des erreurs, non?
Merci pour ton aide
Bonsoir, Je répondrai en 2 étapes pour clarifier les choses.
1) Ta requête. Tu poses comme critère de sélection:
et tu te plains que cette requête ne te ramène que les ventes "avec des vacances et aucune ligne "Pas de vacances" ".
Mais cela est très normal; il suffit de bien regarder la signification du critère.
La fonction iif() doit se comprendre: si X vrai alors A sinon B
càd pour ton exemple: si (DateJour entre DateDebut et dateFin) alors (NomVacances) sinon (HorsVacances). Mais cette expression se rapporte à ton critère de sélection NomVacances
Càd qu'il faut comprendre ton critère comme Critère = "NomVacances" ou bien "HorsVacances"
Mais comme la valeur "HorsVacances" n'existe pas dans la table T_vacances et qu'il n'y a pas de date encadrant cette période, le critère ne ramène rien.
2) Tu dis;"comment faire quand il aura fait R1 pour sélectionner dans R2 lignes qui sont correctes, car dans R1 il aura associé toutes les dates avec toutes les périodes de vacances donc il y aura des erreurs "
C'est exactement cela, comme dans R1 il y aurait de tout, il faudrait que R2 élimine les lignes "erronées"
3) Enfin après réflexion, il me semble qu'en réalité ce dont tu as besoin est une requête Mise à Jour ( en SQL Insert into ) dans T_Ventes sur un nouveau champ à créer à côté des champs "DateVente" avec les termes "Vacances" ou "HorsVacances", cela grâce à ta fonction iif() ou bien encore à l'aide de 2 requêtes successives la 1ére pour les ventes "Vacances" et l'autres "HorsVacances"
1) Ta requête. Tu poses comme critère de sélection:
WHERE (((T_Vacances.Nom_vacances)=IIf([T_Ventes.Date_Jour] Between [T_vacances.Date_debut] And [T_vacances.Date_fin],[T_Vacances].[Nom_vacances],'pas de vacances')))
et tu te plains que cette requête ne te ramène que les ventes "avec des vacances et aucune ligne "Pas de vacances" ".
Mais cela est très normal; il suffit de bien regarder la signification du critère.
La fonction iif() doit se comprendre: si X vrai alors A sinon B
càd pour ton exemple: si (DateJour entre DateDebut et dateFin) alors (NomVacances) sinon (HorsVacances). Mais cette expression se rapporte à ton critère de sélection NomVacances
Càd qu'il faut comprendre ton critère comme Critère = "NomVacances" ou bien "HorsVacances"
Mais comme la valeur "HorsVacances" n'existe pas dans la table T_vacances et qu'il n'y a pas de date encadrant cette période, le critère ne ramène rien.
2) Tu dis;"comment faire quand il aura fait R1 pour sélectionner dans R2 lignes qui sont correctes, car dans R1 il aura associé toutes les dates avec toutes les périodes de vacances donc il y aura des erreurs "
C'est exactement cela, comme dans R1 il y aurait de tout, il faudrait que R2 élimine les lignes "erronées"
3) Enfin après réflexion, il me semble qu'en réalité ce dont tu as besoin est une requête Mise à Jour ( en SQL Insert into ) dans T_Ventes sur un nouveau champ à créer à côté des champs "DateVente" avec les termes "Vacances" ou "HorsVacances", cela grâce à ta fonction iif() ou bien encore à l'aide de 2 requêtes successives la 1ére pour les ventes "Vacances" et l'autres "HorsVacances"
22 avril 2013 à 16:08
j'ai fait un schéma qui sera surement plus clair:
https://www.dropbox.com/s/ctvg48v9s2rmahs/Req_Access.jpg
J'ai donc deux tables,
Une qui contient les dates avec les nombre de ventes associées et une autre qui contient le nom de la période de vacances et la date de début et la date de fin des vacances (les périodes sont enregistrées avec une date de début dans une colonne et une date de fin dans une autre colonne).
Dans mon résultat de requête, je veux qu'il m'affiche toutes les dates de ventes, et dans une nouvelle colonne, je veux qu'il renvoie le nom de la période de vacances si la date est prise dans l'intervalle ou rien si la date ne correspond à aucune période de vacances.
La requête que j'avais commencé à faire pour trouver une solution c'est une requête Select:
J'espère que j'ai été plus clair cette fois-ci,
Merci beaucoup,