Discussion: Date fin de mois chaque mois [AC-2007]

  1. #1
    Débutant
    Profil pro
    Inscrit en
    avril 2007
    Messages
    711
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : avril 2007
    Messages : 711
    Points : 196
    Points
    196

    Par défaut Date fin de mois chaque mois

    bonjour,

    Ci joint une requete pour vous montré les champs que j'ai


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT OPERATION.COMMERCIALISATION_OPERATION, OPERATION.NOM_OPERATION, LOGEMENT.NUM_LOGE, LOGEMENT.CONTRAT_RESA, LOGEMENT.PRIXLOG_IMMO, LOGEMENT.MONTANT_CA_ESTIME
    FROM OPERATION INNER JOIN LOGEMENT ON OPERATION.NUM_OPERATION = LOGEMENT.NUM_OPERATION;
    j'ai besoin de faire une requête par NOM_OPERATION puis pour une ligne a la date de chaque fin du mois a partir de la date COMMERCIALISATION jusqu’à la date du mois en cours et enfin un cumul CA qui me prend le cumul des NUM_LOGE qui sont réservé en fonction de la date du CONTRAT_RESA et de la date du fins de mois ou l'on ce trouve et ceci on affiche le PRIXLOG_IMMO cumulé de l'ensemble des logement concernet par contre si le lot n'est pas réserve on prend le prix MONTANT_CA_ESTIME

    exemple
    OPERATION.COMMERCIALISATION = 01/05/2017

    lot / date resé / PRIXLOG_IMMO / MONTANT_CA_ESTIME
    A01 / 01/06/2017 / 100 / 110
    A02 / 20/07/2017 / 120 / 140
    A03 / 10/09/2017 / 50 / 60


    donc sa donnerai
    31/05/2017 / 110+140+60
    30/06/2017 / 100 +140+60
    31/07/2017 / 100+120+60
    31/08/2017 / 100+120+60
    30/09/2017 / 100+120+50
    31/10/2017 / 100+120+50
    ...
    31/05/2018 / 100+120+50


    je ne sais comment généré une 1er requete avec les dates de fin du chaque mois a partir de la date OPERATION.COMMERCIALISATION jusqu'a la fin du mois en cours puis gére les calcul en fonction du mois ou nous nous trouvons.


    Pouvez vous m'aidé?

    merci

  2. #2
    Membre confirmé

    Profil pro
    Inscrit en
    janvier 2010
    Messages
    534
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2010
    Messages : 534
    Points : 457
    Points
    457
    Billets dans le blog
    11

    Par défaut

    Une ébauche de solution serait de créer une table de référence avec toutes les dates de fin de mois au format jj/mm/aaaa.

    Pour remplir cette table, on peut utiliser une procédure vba

    Ensuite à voir comment utiliser cette table pour ton problème.
    Bonjour chez vous

  3. #3
    Membre confirmé Avatar de hyperion13
    Homme Profil pro
    Calot120 - Enseignant Post Bac
    Inscrit en
    octobre 2007
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Activité : Calot120 - Enseignant Post Bac
    Secteur : Enseignement

    Informations forums :
    Inscription : octobre 2007
    Messages : 365
    Points : 502
    Points
    502

    Par défaut

    Salut,
    Une proposition de formulation de calculs pour votre req
    Calcul du CA chaque fin de mois
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    CalculCA: VraiFaux(EstNull([CONTRAT_RESA]);[CAESTIME];[PRIXLOG]) <-- QBE
    IIf(IsNull([CONTRAT_RESA]),[CAESTIME],[PRIXLOG]) AS CalculCA <-- SQL
    Calcul Fin de mois
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    FinMois: VraiFaux(EstNull([CONTRAT_RESA]);SérieDate(Année(Date());Mois(Date())+1;1)-1;SérieDate(Année([CONTRAT_RESA]);Mois([CONTRAT_RESA])+1;1)-1) <-- QBE
    IIf(IsNull([CONTRAT_RESA]),DateSerial(Year(Date()),Month(Date())+1,1)-1,DateSerial(Year([CONTRAT_RESA]),Month([CONTRAT_RESA])+1,1)-1) AS FinMois <-- SQL
    Dans les 2 formules je fais un test sur le champ CONTRAT_RESA qui peut ou non contenir une date.
    Si le champ est vide, on calcule fin de mois du mois en cours (31/05/2018) sinon on calcule fin de mois de CONTRAT_RESA
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    GMT+4 - 21°19'18" S - 055°25'32" E
    Inutile de me contacter par MP

  4. #4
    Membre confirmé

    Profil pro
    Inscrit en
    janvier 2010
    Messages
    534
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2010
    Messages : 534
    Points : 457
    Points
    457
    Billets dans le blog
    11

    Par défaut

    exemple
    OPERATION.COMMERCIALISATION = 01/05/2017

    lot / date resé / PRIXLOG_IMMO / MONTANT_CA_ESTIME
    A01 / 01/06/2017 / 100 / 110
    A02 / 20/07/2017 / 120 / 140
    A03 / 10/09/2017 / 50 / 60

    donc sa donnerai
    31/05/2017 / 110+140+60
    30/06/2017 / 100 +140+60
    31/07/2017 / 100+120+60
    31/08/2017 / 100+120+60
    30/09/2017 / 100+120+50
    31/10/2017 / 100+120+50
    ...
    31/05/2018 / 100+120+50
    Merci de confirmer les règles de gestion ci-dessous

    30/06/2017 / 100 +140+60 --> Pourquoi passe-t-on a 100 pour A01
    31/07/2017 / 100+120+60 -->On passe a 120 pour A02 car existe une résa pour le mois de juillet et valable pour les mois suivants
    30/09/2017 / 100+120+50 --> On passe a 50 pour A03 car existe une résa pour le mois de septembre et valable tous les mois suivants
    Bonjour chez vous

  5. #5
    Débutant
    Profil pro
    Inscrit en
    avril 2007
    Messages
    711
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : avril 2007
    Messages : 711
    Points : 196
    Points
    196

    Par défaut

    30/06/2017 / 100 +140+60 --> Pourquoi passe-t-on a 100 pour A01
    on passe a 100 pour le A01 en juin car nous avons une réservation en juin a 100€.

    Nous avons au début du programme un prix de base par exemple 110 pour le A01 mais en fonction de comment on le vends on peux être a plus ou a moins donc le CA cumulé varie entre de début du projet et chaque mois en fonction des dates

  6. #6
    Membre confirmé

    Profil pro
    Inscrit en
    janvier 2010
    Messages
    534
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2010
    Messages : 534
    Points : 457
    Points
    457
    Billets dans le blog
    11

    Par défaut

    Je te propose cette solution

    • Créer une requête stockée nommée par exemple qryProd qui permet d'obtenir les données suivantes => Lot dateResa PRIXLOG_IMMO MONTANT_CA_ESTIME. Dans mon exemple j’ai utilisé une table tblProd à la place de la requête qryProd
    • Création d'une table de toutes les date de fin de mois depuis le début de l'activité = tblDateFinMois
    • La requête suivante pour le calcul des sommes. Il faudra remplacer la table tblProd par qryProd



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT tblDateFinMois.dateFinMois, (SELECT Sum(iif ((dateResa) <=(dateFinMois), PRIXLOG_IMMO,MONTANT_CA_ESTIME)) FROM tblProd) AS sumPrixLog
    FROM tblDateFinMois
    WHERE (((tblDateFinMois.dateFinMois)>=#1/1/2017#))
    ORDER BY tblDateFinMois.dateFinMois;
    Avec #01/01/2017# Opération commercialisation
    Exemple

    tblDateFinMois

    dateFinMois
    31/12/2017
    31/01/2018
    28/02/2018
    31/03/2018
    30/04/2018
    31/05/2018
    30/06/2018

    tblDateFinMois
    lot dateResa PRIXLOG_IMMO MONTANT_CA_ESTIME
    A01 01/01/2018 100 110
    A02 20/02/2018 120 140
    A03 10/03/2018 50 60

    Résultat requête

    dateFinMois sumPrixLog
    31/12/2017 310
    31/01/2018 300
    28/02/2018 280
    31/03/2018 270
    30/04/2018 270
    31/05/2018 270
    30/06/2018 270
    Bonjour chez vous

  7. #7
    Débutant
    Profil pro
    Inscrit en
    avril 2007
    Messages
    711
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : avril 2007
    Messages : 711
    Points : 196
    Points
    196

    Par défaut

    super merci je pense que je vais pouvoir bien avance

    merci a tous encore

  8. #8
    Membre confirmé

    Profil pro
    Inscrit en
    janvier 2010
    Messages
    534
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2010
    Messages : 534
    Points : 457
    Points
    457
    Billets dans le blog
    11

    Par défaut

    Une fois ta solution développée, merci de la partager dans ce forum.

    Et n’oublie pas de cliquer sur le pouce vert des réponses qui t’ont aidé
    Bonjour chez vous

  9. #9
    Débutant
    Profil pro
    Inscrit en
    avril 2007
    Messages
    711
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : avril 2007
    Messages : 711
    Points : 196
    Points
    196

    Par défaut

    ok merci encore

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VxiR2] Du 12 mois flottant mois par mois?
    Par EmmanuelleC dans le forum Designer
    Réponses: 4
    Dernier message: 13/04/2011, 12h01
  2. [Dates] Compte à rebours chaque mois
    Par isa150183 dans le forum Fonctions
    Réponses: 1
    Dernier message: 01/06/2007, 19h03
  3. [Dates] calendrier : premier jour de chaque mois
    Par vodasan dans le forum Fonctions
    Réponses: 2
    Dernier message: 21/02/2007, 07h26
  4. Réponses: 1
    Dernier message: 22/11/2006, 19h34
  5. Acer gridvista et moi et moi et moi
    Par gagarin dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 28/03/2006, 17h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo