chiffre d'affaires journalier

Le
Charles Cournault
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
Vos réponses
Trier par : date / pertinence
Daniel Carollo
Le #5111051
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" 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
Le #5110731
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" 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




Publicité
Poster une réponse
Anonyme