Bonjour à tous
J'arrive au bout de ma construction de base mais je rencontre à nouveau un problème
J'ai des contrats renouvelables (annuellement) de ma clientèle avec une date de début et une date de fin ainsi qu'une colonne afin de savoir si le document a été reçu et a quelle date
J'ai donc:
Date début
Date fin
Date Récup
J'ai une table Contrats avec tout l'historique des contrats par clients
Je voudrai connaitre le jour de la fin de contrat de chaque client
Dans mon raisonnement j'ai fait: Si le document est reçu (Date Récup est pas null) alors la fin de contrat court jusqu’à la date de fin
Si le document n'est pas (encore) reçu alors la date de fin de contrat est donc égale à date début moins 1 jour (contrat précédent)
Ceci me permettant par la suite d'effectuer des relances clientèles
J'ai donc cree le champ ci dessous mais je rencontre un souci (10% des reponses sont fausses) car dans le cadre d'un changement de contrat la date de fin n'est pas la bonne
Contrat: Max(VraiFaux([Date Récup] Est Pas Null;[Date fin];VraiFaux([Date récup] Est Null;[Date début]-1)))
Ex de ma table
Nom Date debut Date fin date recup
DUPONT MARCEL 15/12/2014 14/12/2015 12/11/2014
DUPONT MARCEL 15/12/2015 14/12/2016 23/10/2015
MARTIN Anne 13/10/2013 12/10/2014 14/09/2013
MARTIN Anne 13/10/2014 12/10/2015 16/09/2014
MARTIN Anne 12/09/2015 11/09/2016 (changement de contrat qui remplace le précédent)
Dupont marcel fin de contrat le 14/12/2016
Martin anne fin de contrat le 12/10/2015 (donc relance)
Le résultat de ma requête est faux car dans cet exemple, le dossier MARTIN Anne me sera affiché avec une date de fin de contrat au 12/10/2015. Je voudrai obtenir le 11/09/2015 étant donné qu'il y a un changement de contrat (et donc résiliation de l'ancien).
Je voudrai que la requête aille chercher le dernier contrat (Max de début) mais comment construire celà
Merci à vous
Partager