Je travaille dans un camping et je récupère les données dans access.
J'ai une table qui contient entre autres :
- NuméroFacture
- DateDébutSéjour
- DateFinSéjour
- Montant
Je souhaite avoir un chiffre d'affaires journalier
c'est à dire pour chaque jour compris entre
DateDébutSéjour et DateFinSéjour
la valeur Montant / (DateFinSéjour - DateDébutSéjour)
Une des solutions consiste avec du code
à créer une table comprenant 1 enregistrement pour chaque
jour compris entre DateDébutSéjour et DateFinSéjour
contenant le montant journalier.
Existe t il une solution + facile ? + rapide ? + fiable ? + élégante ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Daniel Carollo
Bonjour Charles!
Une simple requete devrait vous permettre d'avoir le CA journalier, quelque chose du genre:
SELECT Sum(tblFacture.Montant / DateDiff("dd", tblFacture.DateDebutSejour, tblFacture.DateFinSejour)) FROM qryFactureByDay INNER JOIN tblFacture ON qryFactureByDay.NumeroFacture = tblFacture.NumeroFacture GROUP BY DateDay
La seule chose delicate, c'est de "creer" autant de copies de la facture qu'il n'y a de jours couverts.
Pour cela, la methode "elegante" (a mon avis) consiste a avoir une table avec un nombre d'enregistrement correspondant au plus long sejour attendu, plus une marge (admettons un sejour de 30 jours, plus 10 de marge) avec un champ qui va donc de 1 a 40, et une duplication du nombre d'enregistrements (comme decrit sur mon site a http://www.computing-tech.com/technique a la rubrique Duplication d'enregistrements).
Une requete (qryFactureByDay) nous permet de generer les journees: SELECT tblFacture.NumeroFacture FROM tblFacture INNER JOIN LaTableDuplication ON DateDiff("dd", tblFacture.DateDebutSejour, tblFacture.DateFinSejour) LaTableDuplication.Nombre
Et voili! Pas de tables temporaires, ni de donnees volumineuses a stocker...
J'espere que ca vous donne des idees.
-- Daniel :-)
Computing Technologies International - www.computing-tech.com - We provide solutions...
"Charles Cournault" wrote in message news:40c63467$0$19646$
Bonsoir
Je travaille dans un camping et je récupère les données dans access. J'ai une table qui contient entre autres : - NuméroFacture - DateDébutSéjour - DateFinSéjour - Montant
Je souhaite avoir un chiffre d'affaires journalier c'est à dire pour chaque jour compris entre DateDébutSéjour et DateFinSéjour la valeur Montant / (DateFinSéjour - DateDébutSéjour)
Une des solutions consiste avec du code à créer une table comprenant 1 enregistrement pour chaque jour compris entre DateDébutSéjour et DateFinSéjour contenant le montant journalier.
Existe t il une solution + facile ? + rapide ? + fiable ? + élégante ?
Merci
Bonjour Charles!
Une simple requete devrait vous permettre d'avoir le CA journalier, quelque
chose du genre:
SELECT Sum(tblFacture.Montant / DateDiff("dd", tblFacture.DateDebutSejour,
tblFacture.DateFinSejour))
FROM qryFactureByDay INNER JOIN tblFacture ON qryFactureByDay.NumeroFacture
= tblFacture.NumeroFacture
GROUP BY DateDay
La seule chose delicate, c'est de "creer" autant de copies de la facture
qu'il n'y a de jours couverts.
Pour cela, la methode "elegante" (a mon avis) consiste a avoir une table
avec un nombre d'enregistrement correspondant au plus long sejour attendu,
plus une marge (admettons un sejour de 30 jours, plus 10 de marge) avec un
champ qui va donc de 1 a 40, et une duplication du nombre d'enregistrements
(comme decrit sur mon site a http://www.computing-tech.com/technique a la
rubrique Duplication d'enregistrements).
Une requete (qryFactureByDay) nous permet de generer les journees:
SELECT tblFacture.NumeroFacture
FROM tblFacture INNER JOIN LaTableDuplication
ON DateDiff("dd", tblFacture.DateDebutSejour, tblFacture.DateFinSejour) LaTableDuplication.Nombre
Et voili! Pas de tables temporaires, ni de donnees volumineuses a stocker...
J'espere que ca vous donne des idees.
--
Daniel :-)
Computing Technologies International - www.computing-tech.com - We
provide solutions...
"Charles Cournault" <charles.cournault@free.fr> wrote in message
news:40c63467$0$19646$4d4eb98e@read.news.fr.uu.net...
Bonsoir
Je travaille dans un camping et je récupère les données dans access.
J'ai une table qui contient entre autres :
- NuméroFacture
- DateDébutSéjour
- DateFinSéjour
- Montant
Je souhaite avoir un chiffre d'affaires journalier
c'est à dire pour chaque jour compris entre
DateDébutSéjour et DateFinSéjour
la valeur Montant / (DateFinSéjour - DateDébutSéjour)
Une des solutions consiste avec du code
à créer une table comprenant 1 enregistrement pour chaque
jour compris entre DateDébutSéjour et DateFinSéjour
contenant le montant journalier.
Existe t il une solution + facile ? + rapide ? + fiable ? + élégante ?
Une simple requete devrait vous permettre d'avoir le CA journalier, quelque chose du genre:
SELECT Sum(tblFacture.Montant / DateDiff("dd", tblFacture.DateDebutSejour, tblFacture.DateFinSejour)) FROM qryFactureByDay INNER JOIN tblFacture ON qryFactureByDay.NumeroFacture = tblFacture.NumeroFacture GROUP BY DateDay
La seule chose delicate, c'est de "creer" autant de copies de la facture qu'il n'y a de jours couverts.
Pour cela, la methode "elegante" (a mon avis) consiste a avoir une table avec un nombre d'enregistrement correspondant au plus long sejour attendu, plus une marge (admettons un sejour de 30 jours, plus 10 de marge) avec un champ qui va donc de 1 a 40, et une duplication du nombre d'enregistrements (comme decrit sur mon site a http://www.computing-tech.com/technique a la rubrique Duplication d'enregistrements).
Une requete (qryFactureByDay) nous permet de generer les journees: SELECT tblFacture.NumeroFacture FROM tblFacture INNER JOIN LaTableDuplication ON DateDiff("dd", tblFacture.DateDebutSejour, tblFacture.DateFinSejour) LaTableDuplication.Nombre
Et voili! Pas de tables temporaires, ni de donnees volumineuses a stocker...
J'espere que ca vous donne des idees.
-- Daniel :-)
Computing Technologies International - www.computing-tech.com - We provide solutions...
"Charles Cournault" wrote in message news:40c63467$0$19646$
Bonsoir
Je travaille dans un camping et je récupère les données dans access. J'ai une table qui contient entre autres : - NuméroFacture - DateDébutSéjour - DateFinSéjour - Montant
Je souhaite avoir un chiffre d'affaires journalier c'est à dire pour chaque jour compris entre DateDébutSéjour et DateFinSéjour la valeur Montant / (DateFinSéjour - DateDébutSéjour)
Une des solutions consiste avec du code à créer une table comprenant 1 enregistrement pour chaque jour compris entre DateDébutSéjour et DateFinSéjour contenant le montant journalier.
Existe t il une solution + facile ? + rapide ? + fiable ? + élégante ?
Merci
Daniel Carollo
Reponse envoyee ce matin, mais elle n'est a l'air d'avoir pris la direction du "bit bucket in the sky"...
Bonjour Charles!
Une simple requete devrait vous permettre d'avoir le CA journalier, quelque chose du genre:
SELECT Sum(tblFacture.Montant / DateDiff("dd", tblFacture.DateDebutSejour, tblFacture.DateFinSejour)) FROM qryFactureByDay INNER JOIN tblFacture ON qryFactureByDay.NumeroFacture = tblFacture.NumeroFacture GROUP BY DateDay
La seule chose delicate, c'est de "creer" autant de copies de certaines donnees de la facture qu'il n'y a de jours couverts, et de calculer la date de ces jours.
Pour cela, la methode "elegante" (a mon avis) consiste a avoir une table avec un nombre d'enregistrement correspondant au plus long sejour attendu, plus une marge (admettons un sejour de 30 jours, plus 10 de marge) avec un champ qui va donc de 1 a 40, et une duplication du nombre d'enregistrements (comme decrit sur mon site a http://www.computing-tech.com/technique a la rubrique Duplication d'enregistrements).
Une requete (qryFactureByDay) nous permet de generer les journees: SELECT tblFacture.NumeroFacture, DateAdd("d", LaTableDuplication.NoOrdre - 1, tblFacture.DateDebutSejour) AS DateDay FROM tblFacture INNER JOIN LaTableDuplication ON DateDiff("dd", tblFacture.DateDebutSejour, tblFacture.DateFinSejour) LaTableDuplication.Nombre
Et voili! Pas de tables temporaires, ni de donnees volumineuses a stocker...
J'espere que ca vous donne des idees.
-- Daniel :-)
Computing Technologies International - www.computing-tech.com - We provide solutions...
"Charles Cournault" wrote in message news:40c63467$0$19646$
Bonsoir
Je travaille dans un camping et je récupère les données dans access. J'ai une table qui contient entre autres : - NuméroFacture - DateDébutSéjour - DateFinSéjour - Montant
Je souhaite avoir un chiffre d'affaires journalier c'est à dire pour chaque jour compris entre DateDébutSéjour et DateFinSéjour la valeur Montant / (DateFinSéjour - DateDébutSéjour)
Une des solutions consiste avec du code à créer une table comprenant 1 enregistrement pour chaque jour compris entre DateDébutSéjour et DateFinSéjour contenant le montant journalier.
Existe t il une solution + facile ? + rapide ? + fiable ? + élégante ?
Merci
Reponse envoyee ce matin, mais elle n'est a l'air d'avoir pris la direction
du "bit bucket in the sky"...
Bonjour Charles!
Une simple requete devrait vous permettre d'avoir le CA journalier, quelque
chose du genre:
SELECT Sum(tblFacture.Montant / DateDiff("dd", tblFacture.DateDebutSejour,
tblFacture.DateFinSejour))
FROM qryFactureByDay INNER JOIN tblFacture ON qryFactureByDay.NumeroFacture
= tblFacture.NumeroFacture
GROUP BY DateDay
La seule chose delicate, c'est de "creer" autant de copies de certaines
donnees de la facture
qu'il n'y a de jours couverts, et de calculer la date de ces jours.
Pour cela, la methode "elegante" (a mon avis) consiste a avoir une table
avec un nombre d'enregistrement correspondant au plus long sejour attendu,
plus une marge (admettons un sejour de 30 jours, plus 10 de marge) avec un
champ qui va donc de 1 a 40, et une duplication du nombre d'enregistrements
(comme decrit sur mon site a http://www.computing-tech.com/technique a la
rubrique Duplication d'enregistrements).
Une requete (qryFactureByDay) nous permet de generer les journees:
SELECT tblFacture.NumeroFacture, DateAdd("d", LaTableDuplication.NoOrdre -
1, tblFacture.DateDebutSejour) AS DateDay
FROM tblFacture INNER JOIN LaTableDuplication
ON DateDiff("dd", tblFacture.DateDebutSejour, tblFacture.DateFinSejour) LaTableDuplication.Nombre
Et voili! Pas de tables temporaires, ni de donnees volumineuses a stocker...
J'espere que ca vous donne des idees.
--
Daniel :-)
Computing Technologies International - www.computing-tech.com - We
provide solutions...
"Charles Cournault" <charles.cournault@free.fr> wrote in message
news:40c63467$0$19646$4d4eb98e@read.news.fr.uu.net...
Bonsoir
Je travaille dans un camping et je récupère les données dans access.
J'ai une table qui contient entre autres :
- NuméroFacture
- DateDébutSéjour
- DateFinSéjour
- Montant
Je souhaite avoir un chiffre d'affaires journalier
c'est à dire pour chaque jour compris entre
DateDébutSéjour et DateFinSéjour
la valeur Montant / (DateFinSéjour - DateDébutSéjour)
Une des solutions consiste avec du code
à créer une table comprenant 1 enregistrement pour chaque
jour compris entre DateDébutSéjour et DateFinSéjour
contenant le montant journalier.
Existe t il une solution + facile ? + rapide ? + fiable ? + élégante ?
Reponse envoyee ce matin, mais elle n'est a l'air d'avoir pris la direction du "bit bucket in the sky"...
Bonjour Charles!
Une simple requete devrait vous permettre d'avoir le CA journalier, quelque chose du genre:
SELECT Sum(tblFacture.Montant / DateDiff("dd", tblFacture.DateDebutSejour, tblFacture.DateFinSejour)) FROM qryFactureByDay INNER JOIN tblFacture ON qryFactureByDay.NumeroFacture = tblFacture.NumeroFacture GROUP BY DateDay
La seule chose delicate, c'est de "creer" autant de copies de certaines donnees de la facture qu'il n'y a de jours couverts, et de calculer la date de ces jours.
Pour cela, la methode "elegante" (a mon avis) consiste a avoir une table avec un nombre d'enregistrement correspondant au plus long sejour attendu, plus une marge (admettons un sejour de 30 jours, plus 10 de marge) avec un champ qui va donc de 1 a 40, et une duplication du nombre d'enregistrements (comme decrit sur mon site a http://www.computing-tech.com/technique a la rubrique Duplication d'enregistrements).
Une requete (qryFactureByDay) nous permet de generer les journees: SELECT tblFacture.NumeroFacture, DateAdd("d", LaTableDuplication.NoOrdre - 1, tblFacture.DateDebutSejour) AS DateDay FROM tblFacture INNER JOIN LaTableDuplication ON DateDiff("dd", tblFacture.DateDebutSejour, tblFacture.DateFinSejour) LaTableDuplication.Nombre
Et voili! Pas de tables temporaires, ni de donnees volumineuses a stocker...
J'espere que ca vous donne des idees.
-- Daniel :-)
Computing Technologies International - www.computing-tech.com - We provide solutions...
"Charles Cournault" wrote in message news:40c63467$0$19646$
Bonsoir
Je travaille dans un camping et je récupère les données dans access. J'ai une table qui contient entre autres : - NuméroFacture - DateDébutSéjour - DateFinSéjour - Montant
Je souhaite avoir un chiffre d'affaires journalier c'est à dire pour chaque jour compris entre DateDébutSéjour et DateFinSéjour la valeur Montant / (DateFinSéjour - DateDébutSéjour)
Une des solutions consiste avec du code à créer une table comprenant 1 enregistrement pour chaque jour compris entre DateDébutSéjour et DateFinSéjour contenant le montant journalier.
Existe t il une solution + facile ? + rapide ? + fiable ? + élégante ?