Bonjour
Quelqu'un pourrait-il me dire s'il est possible lorsque l'on entre une
date dans un controle donn=E9 que l'age d'une personne s'affiche
imm=E9diatement dans une zone texte sur un formulaire et qu'=E0
l'impression de l'=E9tat quelques jours plus tard l'age soit imprim=E9
tel qu'il a =E9t=E9 calcul=E9 ?
Merci
Tu trouveras une petite fonction perso ici : http://access.jessy.free.fr/index.html?Menu=5&Page=Age
@+ Jessy Sempere - Access MVP
------------------------------------ Site @ccess : http://access.jessy.free.fr/ Pour l'efficacité de tous : http://www.mpfa.info/ ------------------------------------ "mycpi" a écrit dans le message de news: Bonjour Quelqu'un pourrait-il me dire s'il est possible lorsque l'on entre une date dans un controle donné que l'age d'une personne s'affiche immédiatement dans une zone texte sur un formulaire et qu'à l'impression de l'état quelques jours plus tard l'age soit imprimé tel qu'il a été calculé ? Merci
Bonjour
Tu trouveras une petite fonction perso ici :
http://access.jessy.free.fr/index.html?Menu=5&Page=Age
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://www.mpfa.info/
------------------------------------
"mycpi" <marie-christine.pinsolle@wanadoo.fr> a écrit dans le message de
news:1133518683.098993.56040@g49g2000cwa.googlegroups.com...
Bonjour
Quelqu'un pourrait-il me dire s'il est possible lorsque l'on entre une
date dans un controle donné que l'age d'une personne s'affiche
immédiatement dans une zone texte sur un formulaire et qu'à
l'impression de l'état quelques jours plus tard l'age soit imprimé
tel qu'il a été calculé ?
Merci
Tu trouveras une petite fonction perso ici : http://access.jessy.free.fr/index.html?Menu=5&Page=Age
@+ Jessy Sempere - Access MVP
------------------------------------ Site @ccess : http://access.jessy.free.fr/ Pour l'efficacité de tous : http://www.mpfa.info/ ------------------------------------ "mycpi" a écrit dans le message de news: Bonjour Quelqu'un pourrait-il me dire s'il est possible lorsque l'on entre une date dans un controle donné que l'age d'une personne s'affiche immédiatement dans une zone texte sur un formulaire et qu'à l'impression de l'état quelques jours plus tard l'age soit imprimé tel qu'il a été calculé ? Merci
Bonjour
et si entre le moment de la saisie et le moment de l'impression, le gars a fêté son anniversaire, tu veux imprimer quel âge, m'ancien ou le nouveau ?
-- A+ Arnaud ----------------------------------------------------- Tout ce qu'il faut savoir est sur http://www.mpfa.info -----------------------------------------------------
"mycpi" a écrit dans le message de news: Bonjour Quelqu'un pourrait-il me dire s'il est possible lorsque l'on entre une date dans un controle donné que l'age d'une personne s'affiche immédiatement dans une zone texte sur un formulaire et qu'à l'impression de l'état quelques jours plus tard l'age soit imprimé tel qu'il a été calculé ? Merci
Bonjour
et si entre le moment de la saisie et le moment de l'impression, le gars a
fêté son anniversaire,
tu veux imprimer quel âge, m'ancien ou le nouveau ?
--
A+
Arnaud
-----------------------------------------------------
Tout ce qu'il faut savoir est sur http://www.mpfa.info
-----------------------------------------------------
"mycpi" <marie-christine.pinsolle@wanadoo.fr> a écrit dans le message de
news: 1133518683.098993.56040@g49g2000cwa.googlegroups.com...
Bonjour
Quelqu'un pourrait-il me dire s'il est possible lorsque l'on entre une
date dans un controle donné que l'age d'une personne s'affiche
immédiatement dans une zone texte sur un formulaire et qu'à
l'impression de l'état quelques jours plus tard l'age soit imprimé
tel qu'il a été calculé ?
Merci
et si entre le moment de la saisie et le moment de l'impression, le gars a fêté son anniversaire, tu veux imprimer quel âge, m'ancien ou le nouveau ?
-- A+ Arnaud ----------------------------------------------------- Tout ce qu'il faut savoir est sur http://www.mpfa.info -----------------------------------------------------
"mycpi" a écrit dans le message de news: Bonjour Quelqu'un pourrait-il me dire s'il est possible lorsque l'on entre une date dans un controle donné que l'age d'une personne s'affiche immédiatement dans une zone texte sur un formulaire et qu'à l'impression de l'état quelques jours plus tard l'age soit imprimé tel qu'il a été calculé ? Merci
mycpi
Je préfère imprimer l'ancien car c'est ce jour là que j'ai saisi mes autres données.
Je préfère imprimer l'ancien car c'est ce jour là que j'ai saisi mes
autres données.
Je préfère imprimer l'ancien car c'est ce jour là que j'ai saisi mes autres données.
Bonjour,
"mycpi" a écrit dans le message de news: Je préfère imprimer l'ancien car c'est ce jour là que j'ai saisi mes autres données.
dans ce cas, il faut stocker l'âge dans un champ de la table : le contrôle sera activé non, verrouillé oui, aura comme source le champ de la table et pour valeur par défaut = DateDiff("yyyy";TonChampDate, Date()) + (Format(Date(); "mmdd") < Format(TonChampDate; "mmdd"))
-- A+ Arnaud ----------------------------------------------------- Tout ce qu'il faut savoir est sur http://www.mpfa.info -----------------------------------------------------
Bonjour,
"mycpi" <marie-christine.pinsolle@wanadoo.fr> a écrit dans le message de
news: 1133559415.432445.52080@g49g2000cwa.googlegroups.com...
Je préfère imprimer l'ancien car c'est ce jour là que j'ai saisi mes
autres données.
dans ce cas, il faut stocker l'âge dans un champ de la table :
le contrôle sera activé non, verrouillé oui, aura comme source le champ de
la table
et pour valeur par défaut
= DateDiff("yyyy";TonChampDate, Date()) + (Format(Date(); "mmdd") <
Format(TonChampDate; "mmdd"))
--
A+
Arnaud
-----------------------------------------------------
Tout ce qu'il faut savoir est sur http://www.mpfa.info
-----------------------------------------------------
"mycpi" a écrit dans le message de news: Je préfère imprimer l'ancien car c'est ce jour là que j'ai saisi mes autres données.
dans ce cas, il faut stocker l'âge dans un champ de la table : le contrôle sera activé non, verrouillé oui, aura comme source le champ de la table et pour valeur par défaut = DateDiff("yyyy";TonChampDate, Date()) + (Format(Date(); "mmdd") < Format(TonChampDate; "mmdd"))
-- A+ Arnaud ----------------------------------------------------- Tout ce qu'il faut savoir est sur http://www.mpfa.info -----------------------------------------------------
mycpi
Arnaud J'ai entré ceci dans la valeur par défaut = DateDiff(";"yyyy";",[Monchampnaissance],[Madatedujour]) +Int (Format( [Madatedujour],";"mmdd";") < Format( [Monchampnaissance]"; ") ) et j'ai comme message : "la syntaxe de l'expression entrée n'est pas correcte, vous avez peut etre entré un opérande sans opérateur Peux-tu me dire ce qui ne va pas ? Merci
Arnaud
J'ai entré ceci dans la valeur par défaut
= DateDiff(";"yyyy";",[Monchampnaissance],[Madatedujour]) +Int (Format(
[Madatedujour],";"mmdd";") <
Format( [Monchampnaissance]"; ") )
et j'ai comme message :
"la syntaxe de l'expression entrée n'est pas correcte, vous avez peut
etre entré un opérande sans opérateur
Peux-tu me dire ce qui ne va pas ?
Merci
Arnaud J'ai entré ceci dans la valeur par défaut = DateDiff(";"yyyy";",[Monchampnaissance],[Madatedujour]) +Int (Format( [Madatedujour],";"mmdd";") < Format( [Monchampnaissance]"; ") ) et j'ai comme message : "la syntaxe de l'expression entrée n'est pas correcte, vous avez peut etre entré un opérande sans opérateur Peux-tu me dire ce qui ne va pas ? Merci
Bonjour,
oublie la valeur par défaut dans le contrôle, c'est toujours plus compliqué de trouver la bonne syntaxe et moins souple que les petites procédures événementielles.
Mettons que le contrôle dans lequel tu saisis la date de naissance s'appelle [DateNaissance] (et lié à un champ de la table source)
Tu sélectionne les propriétés de ce contrôle, choisis procédure événementielle sur l'événement Après mise à jour, puis clique sur les 3 petits points.
Entre les 2 lignes Private Sub DateNaissance_AfterUpdate() .... End Sub
Ainsi, le champ "Age" de ta table contiendra automatiquement l'age du capitaine à jour à chaque fois que tu modifiera sa date de naissance
Le controle "Age" du formulaire (lié au champ de la table) n'est pas à afficher obligatoirement sur le formulaire dans ce cas.
Si tu ne veux renseigner l'age qu'au moment de la saisie et pas en cas de modif ultérieure, mettre la formule dans l'événement "sur après insertion" (équivalent valeur par défaut)
ps : évite de mettre ton adresse e-mail en clair sur les forums, sinon des robots butineurs vont se charger de remplir ta boite de pourriels de toutes sortes
-- A+ Arnaud ----------------------------------------------------- Tout ce qu'il faut savoir est sur http://www.mpfa.info -----------------------------------------------------
"mycpi" a écrit dans le message de news: Arnaud J'ai entré ceci dans la valeur par défaut = DateDiff(";"yyyy";",[Monchampnaissance],[Madatedujour]) +Int (Format( [Madatedujour],";"mmdd";") < Format( [Monchampnaissance]"; ") ) et j'ai comme message : "la syntaxe de l'expression entrée n'est pas correcte, vous avez peut etre entré un opérande sans opérateur Peux-tu me dire ce qui ne va pas ? Merci
Bonjour,
oublie la valeur par défaut dans le contrôle, c'est toujours plus compliqué
de trouver la bonne syntaxe et moins souple que les petites procédures
événementielles.
Mettons que le contrôle dans lequel tu saisis la date de naissance s'appelle
[DateNaissance] (et lié à un champ de la table source)
Tu sélectionne les propriétés de ce contrôle, choisis procédure
événementielle sur l'événement Après mise à jour,
puis clique sur les 3 petits points.
Entre les 2 lignes
Private Sub DateNaissance_AfterUpdate()
....
End Sub
Ainsi, le champ "Age" de ta table contiendra automatiquement l'age du
capitaine à jour à chaque fois que tu modifiera sa date de naissance
Le controle "Age" du formulaire (lié au champ de la table) n'est pas à
afficher obligatoirement sur le formulaire dans ce cas.
Si tu ne veux renseigner l'age qu'au moment de la saisie et pas en cas de
modif ultérieure, mettre la formule dans l'événement
"sur après insertion" (équivalent valeur par défaut)
ps : évite de mettre ton adresse e-mail en clair sur les forums, sinon des
robots butineurs vont se charger de remplir ta boite de pourriels de toutes
sortes
--
A+
Arnaud
-----------------------------------------------------
Tout ce qu'il faut savoir est sur http://www.mpfa.info
-----------------------------------------------------
"mycpi" <marie-christineJAISUPPRIMELEPOINTpinsolle@wanadoo.fr> a écrit dans
le message de news: 1133688252.095673.48560@f14g2000cwb.googlegroups.com...
Arnaud
J'ai entré ceci dans la valeur par défaut
= DateDiff(";"yyyy";",[Monchampnaissance],[Madatedujour]) +Int (Format(
[Madatedujour],";"mmdd";") <
Format( [Monchampnaissance]"; ") )
et j'ai comme message :
"la syntaxe de l'expression entrée n'est pas correcte, vous avez peut
etre entré un opérande sans opérateur
Peux-tu me dire ce qui ne va pas ?
Merci
oublie la valeur par défaut dans le contrôle, c'est toujours plus compliqué de trouver la bonne syntaxe et moins souple que les petites procédures événementielles.
Mettons que le contrôle dans lequel tu saisis la date de naissance s'appelle [DateNaissance] (et lié à un champ de la table source)
Tu sélectionne les propriétés de ce contrôle, choisis procédure événementielle sur l'événement Après mise à jour, puis clique sur les 3 petits points.
Entre les 2 lignes Private Sub DateNaissance_AfterUpdate() .... End Sub
Ainsi, le champ "Age" de ta table contiendra automatiquement l'age du capitaine à jour à chaque fois que tu modifiera sa date de naissance
Le controle "Age" du formulaire (lié au champ de la table) n'est pas à afficher obligatoirement sur le formulaire dans ce cas.
Si tu ne veux renseigner l'age qu'au moment de la saisie et pas en cas de modif ultérieure, mettre la formule dans l'événement "sur après insertion" (équivalent valeur par défaut)
ps : évite de mettre ton adresse e-mail en clair sur les forums, sinon des robots butineurs vont se charger de remplir ta boite de pourriels de toutes sortes
-- A+ Arnaud ----------------------------------------------------- Tout ce qu'il faut savoir est sur http://www.mpfa.info -----------------------------------------------------
"mycpi" a écrit dans le message de news: Arnaud J'ai entré ceci dans la valeur par défaut = DateDiff(";"yyyy";",[Monchampnaissance],[Madatedujour]) +Int (Format( [Madatedujour],";"mmdd";") < Format( [Monchampnaissance]"; ") ) et j'ai comme message : "la syntaxe de l'expression entrée n'est pas correcte, vous avez peut etre entré un opérande sans opérateur Peux-tu me dire ce qui ne va pas ? Merci
mycpi
Arnaud Merci pour ta réponse, cela fonctionne, mais pas tout à fait comme je le souhaite, puisque maintenant je n'ai plus que le chiffre des ans qui s'affiche comment pourrais-je avoir également celui des mois et l'affichage aa ans mm mois en sachant que malgré le format que j'ai mis dans le controle, avec ta formule je n'ai que 5(par exemple) qui est affiché. Merci
Arnaud
Merci pour ta réponse, cela fonctionne, mais pas tout à fait comme je
le souhaite, puisque maintenant je n'ai plus que le chiffre des ans qui
s'affiche comment pourrais-je avoir également celui des mois et
l'affichage aa ans mm mois en sachant que malgré le format que j'ai
mis dans le controle, avec ta formule je n'ai que 5(par exemple) qui
est affiché.
Merci
Arnaud Merci pour ta réponse, cela fonctionne, mais pas tout à fait comme je le souhaite, puisque maintenant je n'ai plus que le chiffre des ans qui s'affiche comment pourrais-je avoir également celui des mois et l'affichage aa ans mm mois en sachant que malgré le format que j'ai mis dans le controle, avec ta formule je n'ai que 5(par exemple) qui est affiché. Merci
Bonjour,
"mycpi" a écrit dans le message de news: Arnaud Merci pour ta réponse, cela fonctionne, mais pas tout à fait comme je le souhaite, puisque maintenant je n'ai plus que le chiffre des ans qui s'affiche comment pourrais-je avoir également celui des mois et l'affichage aa ans mm mois en sachant que malgré le format que j'ai mis dans le controle, avec ta formule je n'ai que 5(par exemple) qui est affiché. Merci
Dans ce cas inutile d'utiliser une formule tirée par les cheveux
voici une fonction plus facile à comprendre, à recopier dans un module nommé BasDates par exemple :
Function AgeMoisAns(DateReference As Date, DateSaisie As Date) As String Select Case Month(DateReference) <= Month(DateSaisie) Case True AgeMoisAns = DateDiff("yyyy", DateReference, DateSaisie) & " ans et " & _ Month(DateSaisie) - Month(DateReference) & " mois" Case False AgeMoisAns = DateDiff("yyyy", DateReference, DateSaisie) - 1 & " ans et " & _ Month(DateReference) - Month(DateSaisie) & " mois" End Select End Function
et dans ton formulaire, tu écris
Private Sub DateNaissance_AfterUpdate() Me!Age.value = AgeMoisAns(Me!DateNaissance.Value,Date) End Sub
ps : le champ age de ta table doit donc être un champ texte
-- A+ Arnaud ----------------------------------------------------- Tout ce qu'il faut savoir est sur http://www.mpfa.info -----------------------------------------------------
Bonjour,
"mycpi" <marie-christine.pinsolle@wanadoo.fr> a écrit dans le message de
news: 1133704815.177733.218030@z14g2000cwz.googlegroups.com...
Arnaud
Merci pour ta réponse, cela fonctionne, mais pas tout à fait comme je
le souhaite, puisque maintenant je n'ai plus que le chiffre des ans qui
s'affiche comment pourrais-je avoir également celui des mois et
l'affichage aa ans mm mois en sachant que malgré le format que j'ai
mis dans le controle, avec ta formule je n'ai que 5(par exemple) qui
est affiché.
Merci
Dans ce cas inutile d'utiliser une formule tirée par les cheveux
voici une fonction plus facile à comprendre, à recopier dans un module nommé
BasDates par exemple :
Function AgeMoisAns(DateReference As Date, DateSaisie As Date) As String
Select Case Month(DateReference) <= Month(DateSaisie)
Case True
AgeMoisAns = DateDiff("yyyy", DateReference, DateSaisie) & " ans
et " & _
Month(DateSaisie) - Month(DateReference) & " mois"
Case False
AgeMoisAns = DateDiff("yyyy", DateReference, DateSaisie) - 1 & "
ans et " & _
Month(DateReference) - Month(DateSaisie) & " mois"
End Select
End Function
et dans ton formulaire, tu écris
Private Sub DateNaissance_AfterUpdate()
Me!Age.value = AgeMoisAns(Me!DateNaissance.Value,Date)
End Sub
ps : le champ age de ta table doit donc être un champ texte
--
A+
Arnaud
-----------------------------------------------------
Tout ce qu'il faut savoir est sur http://www.mpfa.info
-----------------------------------------------------
"mycpi" a écrit dans le message de news: Arnaud Merci pour ta réponse, cela fonctionne, mais pas tout à fait comme je le souhaite, puisque maintenant je n'ai plus que le chiffre des ans qui s'affiche comment pourrais-je avoir également celui des mois et l'affichage aa ans mm mois en sachant que malgré le format que j'ai mis dans le controle, avec ta formule je n'ai que 5(par exemple) qui est affiché. Merci
Dans ce cas inutile d'utiliser une formule tirée par les cheveux
voici une fonction plus facile à comprendre, à recopier dans un module nommé BasDates par exemple :
Function AgeMoisAns(DateReference As Date, DateSaisie As Date) As String Select Case Month(DateReference) <= Month(DateSaisie) Case True AgeMoisAns = DateDiff("yyyy", DateReference, DateSaisie) & " ans et " & _ Month(DateSaisie) - Month(DateReference) & " mois" Case False AgeMoisAns = DateDiff("yyyy", DateReference, DateSaisie) - 1 & " ans et " & _ Month(DateReference) - Month(DateSaisie) & " mois" End Select End Function
et dans ton formulaire, tu écris
Private Sub DateNaissance_AfterUpdate() Me!Age.value = AgeMoisAns(Me!DateNaissance.Value,Date) End Sub
ps : le champ age de ta table doit donc être un champ texte
-- A+ Arnaud ----------------------------------------------------- Tout ce qu'il faut savoir est sur http://www.mpfa.info -----------------------------------------------------
Arnaud J'ai donc tenté ce que tu m'as indiqué et j'ai comme message : l'expression après MAJ entrée comme paramètre de la propriété de type événement est à l'origine d'une erreur. Le membre existe déj à dans un module objet dont le présent module est dérivé. Le résultat de l'expression n'est pas le nom d'une macro, le nom d'une fonction définie par l'utilisateur ou [event procedure] Une erreur a peut etre été commise lors de l'évaluation d'une fonction, d'un événement ou d'une macro. Qu'est ce que cela veut dire ? Peux tu encore m'aider Merci
Arnaud
J'ai donc tenté ce que tu m'as indiqué et j'ai comme message :
l'expression après MAJ entrée comme paramètre de la propriété de
type événement est à l'origine d'une erreur. Le membre existe déj à
dans un module objet dont le présent module est dérivé.
Le résultat de l'expression n'est pas le nom d'une macro, le nom d'une
fonction définie par l'utilisateur ou [event procedure]
Une erreur a peut etre été commise lors de l'évaluation d'une
fonction, d'un événement ou d'une macro.
Qu'est ce que cela veut dire ?
Peux tu encore m'aider
Merci
Arnaud J'ai donc tenté ce que tu m'as indiqué et j'ai comme message : l'expression après MAJ entrée comme paramètre de la propriété de type événement est à l'origine d'une erreur. Le membre existe déj à dans un module objet dont le présent module est dérivé. Le résultat de l'expression n'est pas le nom d'une macro, le nom d'une fonction définie par l'utilisateur ou [event procedure] Une erreur a peut etre été commise lors de l'évaluation d'une fonction, d'un événement ou d'une macro. Qu'est ce que cela veut dire ? Peux tu encore m'aider Merci