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

Date dans les requete

17 réponses
Avatar
maxben
Bonjour à tous,

j'ai une reque avec un champ date type 09/01/2007 je souhaiterai avoir une
autre champ "Date suivante" qui calcule la date 04/04/2007;Actuellement j'ai
DateSuivante:
Dernier(SérieDate(Année([DateDebut]);Mois([DateDebut])+[Techeance];1)), ça
renvoie le 01/04/2007.
Techeance se calcule en fonction du type d'echeance: Trimestrielle =3,
mensuelle =1
Auriez vous une solution. Merci

7 réponses

1 2
Avatar
maxben
L'objet de ma base est de gérer des contrats de location, nous en avons
beaucoup, j'arrive à générer toutes les echéances à partir du moment ou
l'echeance commence le1er du mois et se termine soit à la fin du mois ou la
fin du trimestre, ça me génère correctement les lignes avec les bonnes dates
écheances suivantes et Date début suivante et date fin suivante.
La date d'echéance correspond à la date du prélèvement bancaire et la date
début la date de la periode de location.
Merci


"Dragan" a écrit :

Bonjour maxben,
juste une question à quoi correspond la date d'échéance par rapport à la
date de début; car pour l'exemple que tu as donné il y a une différence de 85
jours entre les deux dates or un trimestre c'est au moins 90 jours.
Je veux dire comment sais-tu que c'est le 04/04/2007 que tu attends en date
d'échéance.
Est-ce le dernier jour ouvré de la semaine de la date d'échéance ?

"maxben" a écrit :

> Cette fonction
> SérieDate(Année([DateDebut]);Mois([DateDebut])+[Techeance];Jour([DateDebut]))
> renvoie encore 01/04/2007 au lieu de 09/04/2007 et la fonction ajDate renvoie
> un message d'erreur que je ne comprends pas
> Merci
>
> "Eric" a écrit :
>
> > Bonjour,
> >
> > Le plus simple me parait être AjDate("m";[TEcheance];[DateDebut])
> >
> > ou alors voir la solution proposée dans le post précédent, pour mémoire:
> > SérieDate(Année([DateDebut]);Mois([DateDebut])+[Techeance];Jour([DateDebut]))
> >
> > maxben a écrit :
> > > Il y avait une erreur de frappe ds la date 04/4/2007 ça aurait du être
> > > 09/01/2007. DateSuivante doit renvoyer si possible un mois de plus ou un
> > > trimestre de plus que date début. Si c'est 9/1 je dois renvoyer 09/04 si
> > > l'echeance est trimestrielle ou 9/2 si l'echéance est mensuelle.
> > > Suis je plus clair ?
> > > Merci
> > >
> > > "Eric" a écrit :
> > >
> > >> Bonsoir,
> > >>
> > >> Ca serait pas plus simple d'utiliser AjDate() ou DateAdd() ?
> > >> ou alors:
> > >> SérieDate(Année([DateDebut]);Mois([DateDebut])+[Techeance];Jour([DateDebut]))
> > >>
> > >> PS1: Que vient faire la fonction Dernier() ici ?
> > >> PS2: Y aurait-il pas un problème dans l'exemple donné au départ ?
> > >>
> > >> Gilbert a écrit :
> > >>> Alors je n'ai pas compris ce que tu veux obtenir.
> > >>> Dans ton message tu disais
> > >>> avec un champ date type 09/01/2007 je souhaiterai avoir un autre champ qui
> > >>> calcule la date 04/04/2007
> > >>> Explique clairement ce que tu veux, avec des exemples.
> > >>>
> > >> --
> > >> A+
> > >> Eric
> > >> http://www.mpfa.info/
> > >> Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
> > >>
> >
> > --
> > A+
> > Eric
> > http://www.mpfa.info/
> > Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
> >


Avatar
Dragan
As-tu essayé la proposition d'Eric :
DateEcheanceÚteAdd("m";[Techeance];[DateDebut])
Le champ échéance étant exprimé en mois tu peux te contenter d'ajouter un
nombre de mois à la date de départ.
Pour le 09/01/2007 => 09/04/2007

"maxben" a écrit :

L'objet de ma base est de gérer des contrats de location, nous en avons
beaucoup, j'arrive à générer toutes les echéances à partir du moment ou
l'echeance commence le1er du mois et se termine soit à la fin du mois ou la
fin du trimestre, ça me génère correctement les lignes avec les bonnes dates
écheances suivantes et Date début suivante et date fin suivante.
La date d'echéance correspond à la date du prélèvement bancaire et la date
début la date de la periode de location.
Merci


"Dragan" a écrit :

> Bonjour maxben,
> juste une question à quoi correspond la date d'échéance par rapport à la
> date de début; car pour l'exemple que tu as donné il y a une différence de 85
> jours entre les deux dates or un trimestre c'est au moins 90 jours.
> Je veux dire comment sais-tu que c'est le 04/04/2007 que tu attends en date
> d'échéance.
> Est-ce le dernier jour ouvré de la semaine de la date d'échéance ?
>
> "maxben" a écrit :
>
> > Cette fonction
> > SérieDate(Année([DateDebut]);Mois([DateDebut])+[Techeance];Jour([DateDebut]))
> > renvoie encore 01/04/2007 au lieu de 09/04/2007 et la fonction ajDate renvoie
> > un message d'erreur que je ne comprends pas
> > Merci
> >
> > "Eric" a écrit :
> >
> > > Bonjour,
> > >
> > > Le plus simple me parait être AjDate("m";[TEcheance];[DateDebut])
> > >
> > > ou alors voir la solution proposée dans le post précédent, pour mémoire:
> > > SérieDate(Année([DateDebut]);Mois([DateDebut])+[Techeance];Jour([DateDebut]))
> > >
> > > maxben a écrit :
> > > > Il y avait une erreur de frappe ds la date 04/4/2007 ça aurait du être
> > > > 09/01/2007. DateSuivante doit renvoyer si possible un mois de plus ou un
> > > > trimestre de plus que date début. Si c'est 9/1 je dois renvoyer 09/04 si
> > > > l'echeance est trimestrielle ou 9/2 si l'echéance est mensuelle.
> > > > Suis je plus clair ?
> > > > Merci
> > > >
> > > > "Eric" a écrit :
> > > >
> > > >> Bonsoir,
> > > >>
> > > >> Ca serait pas plus simple d'utiliser AjDate() ou DateAdd() ?
> > > >> ou alors:
> > > >> SérieDate(Année([DateDebut]);Mois([DateDebut])+[Techeance];Jour([DateDebut]))
> > > >>
> > > >> PS1: Que vient faire la fonction Dernier() ici ?
> > > >> PS2: Y aurait-il pas un problème dans l'exemple donné au départ ?
> > > >>
> > > >> Gilbert a écrit :
> > > >>> Alors je n'ai pas compris ce que tu veux obtenir.
> > > >>> Dans ton message tu disais
> > > >>> avec un champ date type 09/01/2007 je souhaiterai avoir un autre champ qui
> > > >>> calcule la date 04/04/2007
> > > >>> Explique clairement ce que tu veux, avec des exemples.
> > > >>>
> > > >> --
> > > >> A+
> > > >> Eric
> > > >> http://www.mpfa.info/
> > > >> Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
> > > >>
> > >
> > > --
> > > A+
> > > Eric
> > > http://www.mpfa.info/
> > > Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
> > >


Avatar
maxben
Oui j'ai éssayé, ça renvoie un messge d'érreur, est ce que l'ordre des
colonnes est important pour le calcul ?

"Dragan" a écrit :

As-tu essayé la proposition d'Eric :
DateEcheanceÚteAdd("m";[Techeance];[DateDebut])
Le champ échéance étant exprimé en mois tu peux te contenter d'ajouter un
nombre de mois à la date de départ.
Pour le 09/01/2007 => 09/04/2007

"maxben" a écrit :

> L'objet de ma base est de gérer des contrats de location, nous en avons
> beaucoup, j'arrive à générer toutes les echéances à partir du moment ou
> l'echeance commence le1er du mois et se termine soit à la fin du mois ou la
> fin du trimestre, ça me génère correctement les lignes avec les bonnes dates
> écheances suivantes et Date début suivante et date fin suivante.
> La date d'echéance correspond à la date du prélèvement bancaire et la date
> début la date de la periode de location.
> Merci
>
>
> "Dragan" a écrit :
>
> > Bonjour maxben,
> > juste une question à quoi correspond la date d'échéance par rapport à la
> > date de début; car pour l'exemple que tu as donné il y a une différence de 85
> > jours entre les deux dates or un trimestre c'est au moins 90 jours.
> > Je veux dire comment sais-tu que c'est le 04/04/2007 que tu attends en date
> > d'échéance.
> > Est-ce le dernier jour ouvré de la semaine de la date d'échéance ?
> >
> > "maxben" a écrit :
> >
> > > Cette fonction
> > > SérieDate(Année([DateDebut]);Mois([DateDebut])+[Techeance];Jour([DateDebut]))
> > > renvoie encore 01/04/2007 au lieu de 09/04/2007 et la fonction ajDate renvoie
> > > un message d'erreur que je ne comprends pas
> > > Merci
> > >
> > > "Eric" a écrit :
> > >
> > > > Bonjour,
> > > >
> > > > Le plus simple me parait être AjDate("m";[TEcheance];[DateDebut])
> > > >
> > > > ou alors voir la solution proposée dans le post précédent, pour mémoire:
> > > > SérieDate(Année([DateDebut]);Mois([DateDebut])+[Techeance];Jour([DateDebut]))
> > > >
> > > > maxben a écrit :
> > > > > Il y avait une erreur de frappe ds la date 04/4/2007 ça aurait du être
> > > > > 09/01/2007. DateSuivante doit renvoyer si possible un mois de plus ou un
> > > > > trimestre de plus que date début. Si c'est 9/1 je dois renvoyer 09/04 si
> > > > > l'echeance est trimestrielle ou 9/2 si l'echéance est mensuelle.
> > > > > Suis je plus clair ?
> > > > > Merci
> > > > >
> > > > > "Eric" a écrit :
> > > > >
> > > > >> Bonsoir,
> > > > >>
> > > > >> Ca serait pas plus simple d'utiliser AjDate() ou DateAdd() ?
> > > > >> ou alors:
> > > > >> SérieDate(Année([DateDebut]);Mois([DateDebut])+[Techeance];Jour([DateDebut]))
> > > > >>
> > > > >> PS1: Que vient faire la fonction Dernier() ici ?
> > > > >> PS2: Y aurait-il pas un problème dans l'exemple donné au départ ?
> > > > >>
> > > > >> Gilbert a écrit :
> > > > >>> Alors je n'ai pas compris ce que tu veux obtenir.
> > > > >>> Dans ton message tu disais
> > > > >>> avec un champ date type 09/01/2007 je souhaiterai avoir un autre champ qui
> > > > >>> calcule la date 04/04/2007
> > > > >>> Explique clairement ce que tu veux, avec des exemples.
> > > > >>>
> > > > >> --
> > > > >> A+
> > > > >> Eric
> > > > >> http://www.mpfa.info/
> > > > >> Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
> > > > >>
> > > >
> > > > --
> > > > A+
> > > > Eric
> > > > http://www.mpfa.info/
> > > > Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
> > > >


Avatar
Dragan
Heu.. Oui dans ta requête tu écris pour le champ calculé :
DateAdd("m",[TEcheance],[DateDebut])

dans la requête essaie avec le caractère "," comme séparateur d'arguments

"maxben" a écrit :

Oui j'ai éssayé, ça renvoie un messge d'érreur, est ce que l'ordre des
colonnes est important pour le calcul ?

"Dragan" a écrit :

> As-tu essayé la proposition d'Eric :
> DateEcheanceÚteAdd("m";[Techeance];[DateDebut])
> Le champ échéance étant exprimé en mois tu peux te contenter d'ajouter un
> nombre de mois à la date de départ.
> Pour le 09/01/2007 => 09/04/2007
>
> "maxben" a écrit :
>
> > L'objet de ma base est de gérer des contrats de location, nous en avons
> > beaucoup, j'arrive à générer toutes les echéances à partir du moment ou
> > l'echeance commence le1er du mois et se termine soit à la fin du mois ou la
> > fin du trimestre, ça me génère correctement les lignes avec les bonnes dates
> > écheances suivantes et Date début suivante et date fin suivante.
> > La date d'echéance correspond à la date du prélèvement bancaire et la date
> > début la date de la periode de location.
> > Merci
> >
> >
> > "Dragan" a écrit :
> >
> > > Bonjour maxben,
> > > juste une question à quoi correspond la date d'échéance par rapport à la
> > > date de début; car pour l'exemple que tu as donné il y a une différence de 85
> > > jours entre les deux dates or un trimestre c'est au moins 90 jours.
> > > Je veux dire comment sais-tu que c'est le 04/04/2007 que tu attends en date
> > > d'échéance.
> > > Est-ce le dernier jour ouvré de la semaine de la date d'échéance ?
> > >
> > > "maxben" a écrit :
> > >
> > > > Cette fonction
> > > > SérieDate(Année([DateDebut]);Mois([DateDebut])+[Techeance];Jour([DateDebut]))
> > > > renvoie encore 01/04/2007 au lieu de 09/04/2007 et la fonction ajDate renvoie
> > > > un message d'erreur que je ne comprends pas
> > > > Merci
> > > >
> > > > "Eric" a écrit :
> > > >
> > > > > Bonjour,
> > > > >
> > > > > Le plus simple me parait être AjDate("m";[TEcheance];[DateDebut])
> > > > >
> > > > > ou alors voir la solution proposée dans le post précédent, pour mémoire:
> > > > > SérieDate(Année([DateDebut]);Mois([DateDebut])+[Techeance];Jour([DateDebut]))
> > > > >
> > > > > maxben a écrit :
> > > > > > Il y avait une erreur de frappe ds la date 04/4/2007 ça aurait du être
> > > > > > 09/01/2007. DateSuivante doit renvoyer si possible un mois de plus ou un
> > > > > > trimestre de plus que date début. Si c'est 9/1 je dois renvoyer 09/04 si
> > > > > > l'echeance est trimestrielle ou 9/2 si l'echéance est mensuelle.
> > > > > > Suis je plus clair ?
> > > > > > Merci
> > > > > >
> > > > > > "Eric" a écrit :
> > > > > >
> > > > > >> Bonsoir,
> > > > > >>
> > > > > >> Ca serait pas plus simple d'utiliser AjDate() ou DateAdd() ?
> > > > > >> ou alors:
> > > > > >> SérieDate(Année([DateDebut]);Mois([DateDebut])+[Techeance];Jour([DateDebut]))
> > > > > >>
> > > > > >> PS1: Que vient faire la fonction Dernier() ici ?
> > > > > >> PS2: Y aurait-il pas un problème dans l'exemple donné au départ ?
> > > > > >>
> > > > > >> Gilbert a écrit :
> > > > > >>> Alors je n'ai pas compris ce que tu veux obtenir.
> > > > > >>> Dans ton message tu disais
> > > > > >>> avec un champ date type 09/01/2007 je souhaiterai avoir un autre champ qui
> > > > > >>> calcule la date 04/04/2007
> > > > > >>> Explique clairement ce que tu veux, avec des exemples.
> > > > > >>>
> > > > > >> --
> > > > > >> A+
> > > > > >> Eric
> > > > > >> http://www.mpfa.info/
> > > > > >> Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
> > > > > >>
> > > > >
> > > > > --
> > > > > A+
> > > > > Eric
> > > > > http://www.mpfa.info/
> > > > > Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
> > > > >


Avatar
maxben
Toujours le même message d'erreur, qui parle d'agregat.

"Dragan" a écrit :

Heu.. Oui dans ta requête tu écris pour le champ calculé :
DateAdd("m",[TEcheance],[DateDebut])

dans la requête essaie avec le caractère "," comme séparateur d'arguments

"maxben" a écrit :

> Oui j'ai éssayé, ça renvoie un messge d'érreur, est ce que l'ordre des
> colonnes est important pour le calcul ?
>
> "Dragan" a écrit :
>
> > As-tu essayé la proposition d'Eric :
> > DateEcheanceÚteAdd("m";[Techeance];[DateDebut])
> > Le champ échéance étant exprimé en mois tu peux te contenter d'ajouter un
> > nombre de mois à la date de départ.
> > Pour le 09/01/2007 => 09/04/2007
> >
> > "maxben" a écrit :
> >
> > > L'objet de ma base est de gérer des contrats de location, nous en avons
> > > beaucoup, j'arrive à générer toutes les echéances à partir du moment ou
> > > l'echeance commence le1er du mois et se termine soit à la fin du mois ou la
> > > fin du trimestre, ça me génère correctement les lignes avec les bonnes dates
> > > écheances suivantes et Date début suivante et date fin suivante.
> > > La date d'echéance correspond à la date du prélèvement bancaire et la date
> > > début la date de la periode de location.
> > > Merci
> > >
> > >
> > > "Dragan" a écrit :
> > >
> > > > Bonjour maxben,
> > > > juste une question à quoi correspond la date d'échéance par rapport à la
> > > > date de début; car pour l'exemple que tu as donné il y a une différence de 85
> > > > jours entre les deux dates or un trimestre c'est au moins 90 jours.
> > > > Je veux dire comment sais-tu que c'est le 04/04/2007 que tu attends en date
> > > > d'échéance.
> > > > Est-ce le dernier jour ouvré de la semaine de la date d'échéance ?
> > > >
> > > > "maxben" a écrit :
> > > >
> > > > > Cette fonction
> > > > > SérieDate(Année([DateDebut]);Mois([DateDebut])+[Techeance];Jour([DateDebut]))
> > > > > renvoie encore 01/04/2007 au lieu de 09/04/2007 et la fonction ajDate renvoie
> > > > > un message d'erreur que je ne comprends pas
> > > > > Merci
> > > > >
> > > > > "Eric" a écrit :
> > > > >
> > > > > > Bonjour,
> > > > > >
> > > > > > Le plus simple me parait être AjDate("m";[TEcheance];[DateDebut])
> > > > > >
> > > > > > ou alors voir la solution proposée dans le post précédent, pour mémoire:
> > > > > > SérieDate(Année([DateDebut]);Mois([DateDebut])+[Techeance];Jour([DateDebut]))
> > > > > >
> > > > > > maxben a écrit :
> > > > > > > Il y avait une erreur de frappe ds la date 04/4/2007 ça aurait du être
> > > > > > > 09/01/2007. DateSuivante doit renvoyer si possible un mois de plus ou un
> > > > > > > trimestre de plus que date début. Si c'est 9/1 je dois renvoyer 09/04 si
> > > > > > > l'echeance est trimestrielle ou 9/2 si l'echéance est mensuelle.
> > > > > > > Suis je plus clair ?
> > > > > > > Merci
> > > > > > >
> > > > > > > "Eric" a écrit :
> > > > > > >
> > > > > > >> Bonsoir,
> > > > > > >>
> > > > > > >> Ca serait pas plus simple d'utiliser AjDate() ou DateAdd() ?
> > > > > > >> ou alors:
> > > > > > >> SérieDate(Année([DateDebut]);Mois([DateDebut])+[Techeance];Jour([DateDebut]))
> > > > > > >>
> > > > > > >> PS1: Que vient faire la fonction Dernier() ici ?
> > > > > > >> PS2: Y aurait-il pas un problème dans l'exemple donné au départ ?
> > > > > > >>
> > > > > > >> Gilbert a écrit :
> > > > > > >>> Alors je n'ai pas compris ce que tu veux obtenir.
> > > > > > >>> Dans ton message tu disais
> > > > > > >>> avec un champ date type 09/01/2007 je souhaiterai avoir un autre champ qui
> > > > > > >>> calcule la date 04/04/2007
> > > > > > >>> Explique clairement ce que tu veux, avec des exemples.
> > > > > > >>>
> > > > > > >> --
> > > > > > >> A+
> > > > > > >> Eric
> > > > > > >> http://www.mpfa.info/
> > > > > > >> Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
> > > > > > >>
> > > > > >
> > > > > > --
> > > > > > A+
> > > > > > Eric
> > > > > > http://www.mpfa.info/
> > > > > > Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
> > > > > >


Avatar
Dragan
Un agrégat est un champ calculé : Premier(), Dernier(), Compte(),Somme()
tu dois après la clause FROM ... , ajouter une clause GROUP BY suivie de la
liste des champs excepté les champs agrégats.

Exemple:
SELECT [DateDebut],Dernier(...),DateAdd(..)
FROM NomDeLaTable
GROUP BY [DateDebut], DateAdd(...)


"maxben" a écrit :

Toujours le même message d'erreur, qui parle d'agregat.

"Dragan" a écrit :

> Heu.. Oui dans ta requête tu écris pour le champ calculé :
> DateAdd("m",[TEcheance],[DateDebut])
>
> dans la requête essaie avec le caractère "," comme séparateur d'arguments
>
> "maxben" a écrit :
>
> > Oui j'ai éssayé, ça renvoie un messge d'érreur, est ce que l'ordre des
> > colonnes est important pour le calcul ?
> >
> > "Dragan" a écrit :
> >
> > > As-tu essayé la proposition d'Eric :
> > > DateEcheanceÚteAdd("m";[Techeance];[DateDebut])
> > > Le champ échéance étant exprimé en mois tu peux te contenter d'ajouter un
> > > nombre de mois à la date de départ.
> > > Pour le 09/01/2007 => 09/04/2007
> > >
> > > "maxben" a écrit :
> > >
> > > > L'objet de ma base est de gérer des contrats de location, nous en avons
> > > > beaucoup, j'arrive à générer toutes les echéances à partir du moment ou
> > > > l'echeance commence le1er du mois et se termine soit à la fin du mois ou la
> > > > fin du trimestre, ça me génère correctement les lignes avec les bonnes dates
> > > > écheances suivantes et Date début suivante et date fin suivante.
> > > > La date d'echéance correspond à la date du prélèvement bancaire et la date
> > > > début la date de la periode de location.
> > > > Merci
> > > >
> > > >
> > > > "Dragan" a écrit :
> > > >
> > > > > Bonjour maxben,
> > > > > juste une question à quoi correspond la date d'échéance par rapport à la
> > > > > date de début; car pour l'exemple que tu as donné il y a une différence de 85
> > > > > jours entre les deux dates or un trimestre c'est au moins 90 jours.
> > > > > Je veux dire comment sais-tu que c'est le 04/04/2007 que tu attends en date
> > > > > d'échéance.
> > > > > Est-ce le dernier jour ouvré de la semaine de la date d'échéance ?
> > > > >
> > > > > "maxben" a écrit :
> > > > >
> > > > > > Cette fonction
> > > > > > SérieDate(Année([DateDebut]);Mois([DateDebut])+[Techeance];Jour([DateDebut]))
> > > > > > renvoie encore 01/04/2007 au lieu de 09/04/2007 et la fonction ajDate renvoie
> > > > > > un message d'erreur que je ne comprends pas
> > > > > > Merci
> > > > > >
> > > > > > "Eric" a écrit :
> > > > > >
> > > > > > > Bonjour,
> > > > > > >
> > > > > > > Le plus simple me parait être AjDate("m";[TEcheance];[DateDebut])
> > > > > > >
> > > > > > > ou alors voir la solution proposée dans le post précédent, pour mémoire:
> > > > > > > SérieDate(Année([DateDebut]);Mois([DateDebut])+[Techeance];Jour([DateDebut]))
> > > > > > >
> > > > > > > maxben a écrit :
> > > > > > > > Il y avait une erreur de frappe ds la date 04/4/2007 ça aurait du être
> > > > > > > > 09/01/2007. DateSuivante doit renvoyer si possible un mois de plus ou un
> > > > > > > > trimestre de plus que date début. Si c'est 9/1 je dois renvoyer 09/04 si
> > > > > > > > l'echeance est trimestrielle ou 9/2 si l'echéance est mensuelle.
> > > > > > > > Suis je plus clair ?
> > > > > > > > Merci
> > > > > > > >
> > > > > > > > "Eric" a écrit :
> > > > > > > >
> > > > > > > >> Bonsoir,
> > > > > > > >>
> > > > > > > >> Ca serait pas plus simple d'utiliser AjDate() ou DateAdd() ?
> > > > > > > >> ou alors:
> > > > > > > >> SérieDate(Année([DateDebut]);Mois([DateDebut])+[Techeance];Jour([DateDebut]))
> > > > > > > >>
> > > > > > > >> PS1: Que vient faire la fonction Dernier() ici ?
> > > > > > > >> PS2: Y aurait-il pas un problème dans l'exemple donné au départ ?
> > > > > > > >>
> > > > > > > >> Gilbert a écrit :
> > > > > > > >>> Alors je n'ai pas compris ce que tu veux obtenir.
> > > > > > > >>> Dans ton message tu disais
> > > > > > > >>> avec un champ date type 09/01/2007 je souhaiterai avoir un autre champ qui
> > > > > > > >>> calcule la date 04/04/2007
> > > > > > > >>> Explique clairement ce que tu veux, avec des exemples.
> > > > > > > >>>
> > > > > > > >> --
> > > > > > > >> A+
> > > > > > > >> Eric
> > > > > > > >> http://www.mpfa.info/
> > > > > > > >> Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
> > > > > > > >>
> > > > > > >
> > > > > > > --
> > > > > > > A+
> > > > > > > Eric
> > > > > > > http://www.mpfa.info/
> > > > > > > Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
> > > > > > >


Avatar
maxben
Avec cette la fonction d'éric
SérieDate(Année([DateFin]);Mois([DateFin])+[Techeance];Jour([DateFin])), ça
marche plutôt bien, sauf que si la DateFin1/3/2007 ça me renvoie 01/7/2007
et pas 30/6/2007; alors que si date fin/04/2007 ça renvoie 07/07/2007 ce
qui est parfait.
As tu une idée, merci encore

"Dragan" a écrit :

Heu.. Oui dans ta requête tu écris pour le champ calculé :
DateAdd("m",[TEcheance],[DateDebut])

dans la requête essaie avec le caractère "," comme séparateur d'arguments

"maxben" a écrit :

> Oui j'ai éssayé, ça renvoie un messge d'érreur, est ce que l'ordre des
> colonnes est important pour le calcul ?
>
> "Dragan" a écrit :
>
> > As-tu essayé la proposition d'Eric :
> > DateEcheanceÚteAdd("m";[Techeance];[DateDebut])
> > Le champ échéance étant exprimé en mois tu peux te contenter d'ajouter un
> > nombre de mois à la date de départ.
> > Pour le 09/01/2007 => 09/04/2007
> >
> > "maxben" a écrit :
> >
> > > L'objet de ma base est de gérer des contrats de location, nous en avons
> > > beaucoup, j'arrive à générer toutes les echéances à partir du moment ou
> > > l'echeance commence le1er du mois et se termine soit à la fin du mois ou la
> > > fin du trimestre, ça me génère correctement les lignes avec les bonnes dates
> > > écheances suivantes et Date début suivante et date fin suivante.
> > > La date d'echéance correspond à la date du prélèvement bancaire et la date
> > > début la date de la periode de location.
> > > Merci
> > >
> > >
> > > "Dragan" a écrit :
> > >
> > > > Bonjour maxben,
> > > > juste une question à quoi correspond la date d'échéance par rapport à la
> > > > date de début; car pour l'exemple que tu as donné il y a une différence de 85
> > > > jours entre les deux dates or un trimestre c'est au moins 90 jours.
> > > > Je veux dire comment sais-tu que c'est le 04/04/2007 que tu attends en date
> > > > d'échéance.
> > > > Est-ce le dernier jour ouvré de la semaine de la date d'échéance ?
> > > >
> > > > "maxben" a écrit :
> > > >
> > > > > Cette fonction
> > > > > SérieDate(Année([DateDebut]);Mois([DateDebut])+[Techeance];Jour([DateDebut]))
> > > > > renvoie encore 01/04/2007 au lieu de 09/04/2007 et la fonction ajDate renvoie
> > > > > un message d'erreur que je ne comprends pas
> > > > > Merci
> > > > >
> > > > > "Eric" a écrit :
> > > > >
> > > > > > Bonjour,
> > > > > >
> > > > > > Le plus simple me parait être AjDate("m";[TEcheance];[DateDebut])
> > > > > >
> > > > > > ou alors voir la solution proposée dans le post précédent, pour mémoire:
> > > > > > SérieDate(Année([DateDebut]);Mois([DateDebut])+[Techeance];Jour([DateDebut]))
> > > > > >
> > > > > > maxben a écrit :
> > > > > > > Il y avait une erreur de frappe ds la date 04/4/2007 ça aurait du être
> > > > > > > 09/01/2007. DateSuivante doit renvoyer si possible un mois de plus ou un
> > > > > > > trimestre de plus que date début. Si c'est 9/1 je dois renvoyer 09/04 si
> > > > > > > l'echeance est trimestrielle ou 9/2 si l'echéance est mensuelle.
> > > > > > > Suis je plus clair ?
> > > > > > > Merci
> > > > > > >
> > > > > > > "Eric" a écrit :
> > > > > > >
> > > > > > >> Bonsoir,
> > > > > > >>
> > > > > > >> Ca serait pas plus simple d'utiliser AjDate() ou DateAdd() ?
> > > > > > >> ou alors:
> > > > > > >> SérieDate(Année([DateDebut]);Mois([DateDebut])+[Techeance];Jour([DateDebut]))
> > > > > > >>
> > > > > > >> PS1: Que vient faire la fonction Dernier() ici ?
> > > > > > >> PS2: Y aurait-il pas un problème dans l'exemple donné au départ ?
> > > > > > >>
> > > > > > >> Gilbert a écrit :
> > > > > > >>> Alors je n'ai pas compris ce que tu veux obtenir.
> > > > > > >>> Dans ton message tu disais
> > > > > > >>> avec un champ date type 09/01/2007 je souhaiterai avoir un autre champ qui
> > > > > > >>> calcule la date 04/04/2007
> > > > > > >>> Explique clairement ce que tu veux, avec des exemples.
> > > > > > >>>
> > > > > > >> --
> > > > > > >> A+
> > > > > > >> Eric
> > > > > > >> http://www.mpfa.info/
> > > > > > >> Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
> > > > > > >>
> > > > > >
> > > > > > --
> > > > > > A+
> > > > > > Eric
> > > > > > http://www.mpfa.info/
> > > > > > Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
> > > > > >


1 2