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 :

format date personnalisé


Sujet :

WinDev

  1. #1
    Futur Membre du Club
    Homme Profil pro
    fonctionnaire
    Inscrit en
    Janvier 2017
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : fonctionnaire
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2017
    Messages : 18
    Points : 6
    Points
    6
    Par défaut format date personnalisé
    Bonjour,
    Dans ma fiche Client j'ai un champs date de naissance, dans certains cas, le jour et le mois ne sont pas connus, en saisissant 00/00/1939 j'aimerais afficher dans mon Etat , Présumé en 1939, faudrait pour cela déjà que mon champs date accepte la saisie 00/00 pour le jour et le mois , que cela apparaisse dans mon champs table sous ce format là et que mon Etat affiche Présumé en AAAA.
    Faut-il que je creuse la fonction dateversChaine?
    Merci de m'orienter

  2. #2
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 057
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 057
    Points : 9 397
    Points
    9 397
    Par défaut
    La fonction DateVersChaine ne pourra pas beaucoup t'aider. Dans ta base de données, tu ne peux pas utiliser le type de données 'Date', parce que pour certains enregistrement, la date n'est pas une date, mais une pseudo-date.
    Dans tes fichiers, tu vas nécessairement utiliser un type chaine. Pour les cas où tu auras une vraie date à stocker, tu vas écrire 19391231 (31 décembre 1939 par exemple) ou bien 1939?? (décembre 1939) ou bien 1939???? (année 1939, date et mois inconnus). Comme tu as des pseudos-date en entrée de ton traitement, la fonction DateVersChaine() ne peut pas fonctionner.

    Eventuellement, tu peux surcharger les fonctions comme DateVersChaine : Si la chaine à traiter ne contient aucun point d'interrogation, utiliser la vraie fonction DateVersChaine, sinon faire un traitement alternatif.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    fonctionnaire
    Inscrit en
    Janvier 2017
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : fonctionnaire
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2017
    Messages : 18
    Points : 6
    Points
    6
    Par défaut format date personnalisé
    Merci pour votre réponse, sans être un expert, je pense à mettre sur ma fiche "Client" une case à cocher, qui lorsqu'elle est cochée (désolé pour la répétition) seule l'Année est retenue, car au final ce qui m'importe c'est d'afficher sur mon Etat "Présumé en 1939".
    Mais comment procédé? comment faire le lien entre la case cochée et mon Etat ?
    Salutations

  4. #4
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Bonjour,

    La question est comment est imprimé ton état. Source de données ? Passage de paramètres ? Autre ?

    Le plus simple est de changer le format de la rubrique de DATE en chaine. Et ne pas oublier de le redimensionner.

    Dans le code avant impression (du bloc plutôt que de la rubrique), tu testes si la date est valide :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SI datevalide(LaDate) ALORS
    RUB_Date = LaDate
    SINON
    RUB_Date = "Présumé coupable en " + LaDate[[1 a 4]]
    FIN
    NOTE : fait sans test et sans filet.
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2023
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2023
    Messages : 52
    Points : 105
    Points
    105
    Par défaut
    frenchsting

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    RUB_Date = "Présumé coupable en " + LaDate[[1 a 4]]
    LOL, tu as un problème de culpabilité ?

    Cdlt

  6. #6
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Citation Envoyé par DevOcc Voir le message
    LOL, tu as un problème de culpabilité ?

    Cdlt
    Non, mais j'avais envie de faire un trait d'humour.
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  7. #7
    Membre émérite
    Femme Profil pro
    .
    Inscrit en
    Janvier 2012
    Messages
    999
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : .
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Janvier 2012
    Messages : 999
    Points : 2 526
    Points
    2 526
    Par défaut
    Tu peux aussi :
    indiquer "0101" comme mois/Jour et enlever 100 ans à l'année.
    Ainsi, si entre l'année en cours et l'année de la date de naissance la différence est supérieure ou égale à 100
    c'est une date de naissance présumée.
    18390101 : date présumée.

    Ceci bien entendu si les personnes de ton fichier ne peuvent être centenaires.
    Si c'est le cas, enlever 150 ans, sauf si tu travailles au Japon.

  8. #8
    Membre confirmé

    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 372
    Points : 627
    Points
    627
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par serendib Voir le message
    Tu peux aussi :
    indiquer "0101" comme mois/Jour et enlever 100 ans à l'année.
    Ainsi, si entre l'année en cours et l'année de la date de naissance la différence est supérieure ou égale à 100
    c'est une date de naissance présumée.
    18390101 : date présumée.

    Ceci bien entendu si les personnes de ton fichier ne peuvent être centenaires.
    Si c'est le cas, enlever 150 ans, sauf si tu travailles au Japon.
    Ton idée est sympa mais ne peut fonctionner avec la Bible car Mathusalem aurait vécu 969 années.
    Et il est prévu qu'à la fin des temps, on vivent éternellement.
    Là aussi c'est un trait d'humour.

  9. #9
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 057
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 057
    Points : 9 397
    Points
    9 397
    Par défaut
    La question 'Comment afficher ... ' est mal posée.
    En effet, la toute première question à se poser, c'est comment stocker les dates. Comment sauvegarder les dates à la sortie de ta fenêtre avec ta case à cocher.
    La suggestion de Serendib est bonne. Tu peux stocker sous un format date, mais en mettant une date décalée d'un siècle.
    Ou tu peux stocker sous forme 1939???? comme je proposais.
    Ou tu peux stocker d'une part la date, et à coté un flag pour dire date exacte ou date approximative.

    Et peut-être d'autres options en plus.

    A toi de choisir comment tu vas stocker ces fameuses dates.

    Et ensuite, il faut afficher le résultat. Et selon ce que tu auras choisi, le code sera forcément différent.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

Discussions similaires

  1. Format date : y'a forcément plus simple...
    Par ZERS dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 02/12/2004, 15h28
  2. Transformation en format Date
    Par Jean-Matt dans le forum Langage SQL
    Réponses: 6
    Dernier message: 16/11/2004, 16h20
  3. Tester un format date
    Par Tapioca dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 30/06/2004, 10h18
  4. interfaces Access et format Date
    Par say dans le forum InterBase
    Réponses: 21
    Dernier message: 10/05/2004, 17h24
  5. Format date
    Par cochet dans le forum Bases de données
    Réponses: 4
    Dernier message: 02/03/2004, 08h37

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