IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Calcul de l'age d'une personne automatiquement [WD14]


Sujet :

WinDev

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 16
    Points : 9
    Points
    9
    Par défaut Calcul de l'age d'une personne automatiquement
    Bonjour à tous, je me doute que cette question a déjà été posée X fois mais quelque chose m'échappe.
    J'ai fais l'auto-formation, regardé le FAQ, fouiné sur le forum, ... mais rien n'y fait je comprends pas.

    Je voudrais qu'en remplissant un champs date de naissance, l'age soit calculé automatiquement dans un champs à coté. J'ai vu qu'on pouvait faire ca facilement mais par l'intermédiaire d'un bouton qui ouvre une fenêtre donnant l'age mais ca me gène un peu ...

    Auriez vous une solution?

    J'ai vu la fonction age, mais je vois pas trop comment l'appliquer ni sur quoi

    Merci d'avance à tout ceux qui auront la gentillesse de me répondre sans me lyncher

  2. #2
    Expert confirmé
    Homme Profil pro
    ?
    Inscrit en
    Juillet 2002
    Messages
    2 378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ?

    Informations forums :
    Inscription : Juillet 2002
    Messages : 2 378
    Points : 4 494
    Points
    4 494
    Par défaut
    J'ai vu la fonction age, mais je vois pas trop comment l'appliquer ni sur quoi
    Pourtant il y un exemple dans la page d'aide :

    Cette fonction attend 2 paramètres, dans ton cas :
    1 - le contenu de ton champ date de naissance
    2 - la date du jour, soit DateSys() ou DateDuJour()

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 16
    Points : 9
    Points
    9
    Par défaut
    je vais peut être repréciser où je coince :

    J'ai un champs de saisie nommé : SAI_naissance qui va changer à chaque fois ( je fais un logiciel de gestion de fiche pour ma patientèle)

    je voudrais que dans un champs à coté ( SAI_Age ou un libellé qu'importe) apparaisse l'age de la personne (nombre d'année , et mois éventuellement) soit calculé automatiquement ( j'admets devoir cliquer sur un bouton si ca rend la manœuvre plus simple. mais je veux toujours avoir l'age, donc pas en fenêtre pop up

    sur quoi je dois travailler? le champs de saisis age ? directement le champs de saisis date de naissance? et je tape ca comme un code? ou c vraiment une procédure ? ( j'avoue ne pas maitriser du tout les procédures... je cherche pas à faire quelque chose de complexe...)

    j'espère que c'est plus clair pour le coup

  4. #4
    Membre expérimenté Avatar de klbsjpolp
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 065
    Points : 1 322
    Points
    1 322
    Par défaut
    Tu devrais mettre l'appel à la fonction Age() dans le code de modification du champ SAI_naissance pour qu'à mesure que tu tapes, ton champ age se mette à jour. Si tu remplis le champ naissance par programmation (en ouvrant une fenêtre avec un enregistrement existant), tu vas devoir appeler Age() encore ou mieux, appeler ExecuteTraitement pour exécuter le code de modification (ça évite la redondance de code). Tu n'auras plus qu'à changer les masques sur tes champs pour que l'information s'affiche comme il te plait.
    «Un problème bien défini est un problème à moitié résolu.»

  5. #5
    Nouveau membre du Club
    Profil pro
    Devellopement
    Inscrit en
    Juin 2004
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Devellopement

    Informations forums :
    Inscription : Juin 2004
    Messages : 22
    Points : 26
    Points
    26
    Par défaut
    Citation Envoyé par klbsjpolp Voir le message
    Tu devrais mettre l'appel èa la fonction Age() dans le code de modification du champ SAI_naissance pour qu'à mesure que tu tapes, ton champ age se mette à jour.
    J'allais donner exactement la même solution, un conseil n'hésite pas dans l'événement "A chaque modification" du champ SAI_naissance à utiliser le prédicat DateValide() pour ne calculer l'âge qu'avec des dates finies.

    Une autre possibilité est de mettre le code calcul âge sur l'événement "Sortie", l'avantage pas d'appel inutile, le défaut le code ne sera appelé que sur la perte de focus du champ SAI_naissance.

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    La solution de mettre le code dans l'évènement "sortie" est préférable :
    • pour ne pas appeler inutilement le code de calcul de l'âge
    • pour éviter des erreurs sur des dates incorrectes

  7. #7
    Membre chevronné
    Avatar de mogwai162
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 376
    Points : 1 860
    Points
    1 860
    Par défaut
    Tout a fait d'ccord avec ce qui a été dit précédemment. J'ajouterais juste qui si l'age n'est pas sauvegardé et affiché via un FichierVersEcran il va falloir le recalculer et l'afficher dans le début de la fenêtre
    Patrick Catella

    Je ne réponds pas aux messages privés si ceux ci suivent un sujet. Il est préférable pour tous de poursuivre la discussion dans le sujet d'origine.

    Je suis Concepteur développeur Windev (10 ans) et Windev mobile (4 ans) en recherche d'emploi. J'etudie toute proposition

  8. #8
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Pourquoi sauvegarder un âge ?
    On sauve la date de naissance et on affiche directement l'âge si besoin.

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 16
    Points : 9
    Points
    9
    Par défaut
    Merci à tous de votre aide,
    je n'ai pas encore eu le temps de tester vos solutions. Ca devrait etre plus facile aujourd'hui... je vous tiens au courant

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 16
    Points : 9
    Points
    9
    Par défaut
    alors me voila de retour...
    je n'y arrive malheureusement toujours pas
    dites moi où je fais la chose de travers svp :

    Sai_Naissance :
    *type date
    * masque de saisie JJ/MM/AAAA
    * valeur retournée tel quel.
    * code en sortie : SAI_AgePatient=Age(SAI_Naissance,DateDuJour())
    ( la fonction " age" étant normalement deja integrée au logiciel je n'ai pas besoin de declarer quoi que ce soit non ?)

    Sai_AgePatient :
    * type texte
    * pas de masque de saisie
    * pas de code

    Merci encore pour votre patience

  11. #11
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mars 2002
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2002
    Messages : 899
    Points : 1 100
    Points
    1 100
    Par défaut
    Citation Envoyé par Gzorglub Voir le message
    alors me voila de retour...
    je n'y arrive malheureusement toujours pas
    dites moi où je fais la chose de travers svp :

    Sai_Naissance :
    *type date
    * masque de saisie JJ/MM/AAAA
    * valeur retournée tel quel.
    * code en sortie : SAI_AgePatient=Age(SAI_Naissance,DateDuJour())
    ( la fonction " age" étant normalement deja integrée au logiciel je n'ai pas besoin de declarer quoi que ce soit non ?)

    Sai_AgePatient :
    * type texte
    * pas de masque de saisie
    * pas de code

    Merci encore pour votre patience
    D'accord, mais ça fait quoi ?
    ça ne t'affiche rien? ça t'affiche une info erronée? est-tu sur de passer dans l'évènement ?
    Mets un point d'arrêt sur ta ligne et vois si tu passes bien dedans, et si oui quelle est la valeur renvoyée par la fonction age.

  12. #12
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 16
    Points : 9
    Points
    9
    Par défaut
    non rien se passe, pas d'erreurs . je peux continuer à saisir les autres champs mais pas de réaction du coté de l'age.

    qu'entends tu par " est-tu sur de passer dans l'évènement ? " ?

  13. #13
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mars 2002
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2002
    Messages : 899
    Points : 1 100
    Points
    1 100
    Par défaut
    Citation Envoyé par Gzorglub Voir le message
    non rien se passe, pas d'erreurs . je peux continuer à saisir les autres champs mais pas de réaction du coté de l'age.

    qu'entends tu par " est-tu sur de passer dans l'évènement ? " ?
    Si tu poses cette question, c'est que tu n'as pas suivi le guide d'auto-formation, section débogage.

    Place un point d'arrêt dans l'évènement "sortie de SAI_Naissance"
    places-y même cette ligne de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Info("évènement sortie de SAI_Naissance, SAI_Naissance = " + SAI_Naissance + RC + "SAI_Age = " + SAI_Age + RC + "Fonction Age = " + Age(SAI_Naissance))
    Et recopies nous ce que ça t'affiche.

  14. #14
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 16
    Points : 9
    Points
    9
    Par défaut
    bon bonne nouvelle, j'ai trouvée où ca coinçait, s'était une erreur de valeur retournée.

    Merci à tous

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

Discussions similaires

  1. Calculer l'age d'une personne
    Par titoumimi dans le forum Contribuez / Téléchargez Sources et Outils
    Réponses: 0
    Dernier message: 14/02/2011, 19h09
  2. Calcul age d'une personne
    Par amirad dans le forum VB.NET
    Réponses: 6
    Dernier message: 29/07/2009, 11h55
  3. calculer l'age d'une personne
    Par Daniela dans le forum Débuter
    Réponses: 4
    Dernier message: 13/07/2009, 14h26
  4. Calcul de l'age d'une personne
    Par batstoon dans le forum Oracle
    Réponses: 2
    Dernier message: 04/12/2006, 13h50
  5. Calculer l'age d'une personne
    Par Oberown dans le forum SQL Procédural
    Réponses: 6
    Dernier message: 27/09/2005, 14h19

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