Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

chiffre d'affaires journalier

2 réponses
Avatar
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

2 réponses

Avatar
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




Avatar
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