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 :

Condition sur une date [WD14]


Sujet :

WinDev

  1. #1
    Candidat au Club
    Inscrit en
    Novembre 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Condition sur une date
    Bonjour à tous,

    je suis un débutant sous windev 14, et j'ai un projet sur la gestion d'une bibliothèque.

    Dans cette bibliothèque, le client doit rendre le livre emprunté 15 jours après la date de l'emprunt sinon on affiche son nom en couleur.

    J'ai donc créer les tables: livre, client, et emprunter (qui est la relation entre livre et client) entre autres.

    Mais la mon problème c'est que je n'arrive pas à trouver le code pour que le nom du client soit affiché en couleur s'il n'a pas rendu le livre après 15 jours de l'emprunt.

    J'ai besoin de votre aide s'il vous plaît.

    Merci d'avance!

  2. #2
    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
    Bonjour!

    Premièrement, il faut faire attention à la terminologie utilisée dans Windev qui diffère de la plupart des autres outils. Par exemple, tes objets livre, client, et emprunter sont des fichiers et non des tables. Les tables étant des objets graphiques permettant d'afficher les données des fichiers (entre autre).

    Donc, tu as 3 fichiers dans ton analyse et tu veux colorer certaines lignes d'une table affichant le contenu du fichier client. Tu peux le faire dans le traitement "Affichage d'une ligne" de ta table, en utilisant la propriété ..Couleur ou ..CouleurFond.

    Mais il peut être plus efficace de le faire au remplissage de ta table si tu le fais par programmation. Il faudrait donc savoir quel type de table tu utilises pour mieux répondre.

  3. #3
    Candidat au Club
    Inscrit en
    Novembre 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Merci pour ton aide!

    J'utilise une table mémoire que j'ai rempli non pas par programmation mais je l'ai créer en affichant les données d'un fichier!!

    Mon problème c'est la condition qu'il faut que je mette pour que le logiciel sache que le livre emprunté n'a pas été rentré 15 jours après la date d'emprunt, si la condition est vérifié (donc le livre pas rentré après 15 jours) alors le nom du client est mis en couleur dans la table!

    Merci

  4. #4
    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
    Il nous faudrait la structure de ton fichier pour pouvoir te répondre valablement.

    Sur le principe, il faut une date de rentrée et vérifier si la date est ou non dépassée (un Si... Alors... Fin fera l'affaire)

    Une Table créée depuis un fichier est une Table Fichier. Il faut faire attention, certains traitements sont différents selon le type de Table
    Comme l'a très bien dit klbsjpolp la terminomigie de WinDev est particulière et il est très impôrtant de la maîtriser correctement, ne serait-ce que pour poser les bonnes questions et pour utiliser l'aide correctement.
    Je te conseille la lecture de ceci : http://www.developpez.net/forums/d28...igration-p-tp/

  5. #5
    Candidat au Club
    Inscrit en
    Novembre 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Nom : ana.png
Affichages : 287
Taille : 30,4 Ko

    Nom : emp.png
Affichages : 241
Taille : 29,0 Ko

    Voila donc une partie de l'analyse et la fenêtre de l'emprunt!
    La table utilisée dans la fenêtre est une table fichier!

    Merci pour votre aide

  6. #6
    Candidat au Club
    Inscrit en
    Novembre 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Bonjour

    Voulant donc mettre une couleur de fond aux lignes dont la date de retour du livre dépasse 15 jours de la date d'emprunt, j'ai testé ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Nombredejour est un entier
    dJour est une Date
     
    dJour=COL_DateEmprunt
     
    Nombredejour=DateVersEntier(DateDuJour())-DateVersEntier(dJour)
     
    SI Nombredejour>=15 ALORS
     
    	TABLE_Emprunter[MoiMême]..CouleurFond=iRougeFoncé
     
    FIN
    Mais lorsque je teste la fenêtre il y a une erreur qui est signalée :
    Erreur à la ligne 6 du traitement Affichage d'une ligne de TABLE_Emprunter.
    Vous avez appelé la fonction DateVersEntier.
    Une date doit être représentée par une chaîne de huit caractères au format AAAAMMJJ.
    Je ne sais quoi faire.
    S'il vous plaît aidez moi.

    Merci

  7. #7
    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
    Le message est pourtant clair : la date passée à la fonction n'est pas au bon format.

    Citation Envoyé par Bobsucre Voir le message
    Je ne sais quoi faire.
    Je dirais lire l'aide sur les fonctions Date pour commencer, il y a plusieurs concepts à bien assimiler pour éviter de ramer

    Ensuite, utiliser ce code pour afficher la date et connaître son format :
    Et enfin, trouver la fonction qui te permettra de formater ta date pour quelle doit acceptée par la fonction DateVersEntier()

  8. #8
    Candidat au Club
    Inscrit en
    Novembre 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Le format de date demandé pour DateVersEntier() est AAAAMMJJ.

    En utilisant:
    Je remarque que le format est bien AAAAMMJJ.
    D'ou peut donc venir le problème?

    Merci beaucoup Guardian pour tes réponses.

  9. #9
    Candidat au Club
    Inscrit en
    Novembre 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Après plusieurs recherches, j'ai trouvé le bon code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Nombredejour est un entier
    sJour est une chaîne
     
    sJour=COL_DateEmprunt
     
    SI DateValide(sJour) ALORS
     
       Nombredejour=DateVersEntier(DateDuJour()) - DateVersEntier(sJour)
     
    FIN
     
     
    SI Nombredejour>=15 ALORS
     
    	TABLE_Emprunter[MoiMême]..CouleurFond=iRougeClair
     
    FIN
    Il fallait juste que je teste sJour avec la fonction DateValide()

    Merci pour votre aide!

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

Discussions similaires

  1. Requete avec condition sur une date
    Par Romain0 dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 23/02/2012, 10h49
  2. [5.1] Condition sur une date : date + 12 mois
    Par oli43 dans le forum Débuter
    Réponses: 3
    Dernier message: 30/08/2008, 13h41
  3. Condition sur une date
    Par DanaX dans le forum iReport
    Réponses: 12
    Dernier message: 19/08/2008, 11h43
  4. Double condition sur une date
    Par Olivier95 dans le forum Langage SQL
    Réponses: 9
    Dernier message: 26/06/2006, 13h34
  5. [SQL] Conditions sur une date dans une requete
    Par poufouille dans le forum Bases de données
    Réponses: 4
    Dernier message: 17/03/2004, 14h25

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