zaoui34
Messages postés9Date d'inscriptionjeudi 19 septembre 2019StatutMembreDernière intervention30 janvier 2022
-
14 mars 2021 à 11:00
Whismeril
Messages postés18416Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention 1 juin 2023
-
14 mars 2021 à 15:13
Bonjour à tous
je suis coincé dans un problème je pense que c'est un peu compliqué, j'essaierai de l'expliquer étape par étape, j'espère que quelqu'un pourra heureusement m'aider avec ça
donc j'ai une table Excel qui est ma base de données, je parviens à la connecter via ADOQUERY dans Delphi et la table est construite comme ceci:
N_client
code_maison
date_paiement
mantent
date_debut
date_fin
nbre_mois_payed
exemple: client-1 a payé le 28/02/2021 le loyer d'une maison pendant 03 mois
et le client-2 a payé le 01/03/2021 le loyer d'une maison pendant 12 mois, il vit déjà dans la maison depuis 05 mois
la table aura information comme vu dans l'image
donc ce que je veux comme résultat dans mon rapport rapide est un tableau simple qui me montre dans un intervalle de date je choisis ces informations:
arriére mantant (avant ma date d'intervalle)
mantant en cours (dans ma date d'intervalle)
mantent anticipé (après ma date d'intervalle)
avec une condition de: seules les lignes avec la colonne date_paiement est dans mon intervalle seront pris en charge
donc dans mon exemple
la date d'intervalle est du 01/03/2021 au 31/03/2021
arriére mantant = 5000
mantant en cours = 1000
mantent anticipé = 6000
mes meilleures salutations à vous tous
A voir également:
Calculer un montent dans une période avec condition
Whismeril
Messages postés18416Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention 1 juin 2023624 14 mars 2021 à 15:13
Bon, c'est juste des maths alors.
Ça tombe bien je ne code pas en Delphi.
Donc voilà l'algorithme.
Debut, Paiement et Fin sont des dates.
DureeArriere et DureeAnticipee sont des entiers
DureeArriere = Mois(Paiement) - Moi(Debut)
Si DureeArriere < 0 alors DureeArriere += 12
(si en Delphi, il existe une fonction quit te donne directement le nombre de mois entre 2 dates alors sers t'en)
DureeAnticipee = Mois(Fin) - Mois(Paiement)
Si DureeAnticipee < 0 alors DureeAnticipee += 12
zaoui34
Messages postés9Date d'inscriptionjeudi 19 septembre 2019StatutMembreDernière intervention30 janvier 2022 14 mars 2021 à 13:30
salut whismeril
le montant c'est le loyer payé par le client
donc pour le client-2 il a payé 12 mois entre le 01/10/2020 et le 30/09/2021 je veux savoir combien d'argent j'ai reçu avant la période du 01/03/2021 au 31/03/2021 dans ce cas c'est 05 mois donc
le montant arriéré est de 05 mois * 1000 (le loyer de 01 mois)
montant en cours est 01 mois donc est le mois en cours mars 2021
le montant anticipé est le loyer de la période du avril au septembre est de 06 mois