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 :

Problème avec la validité des dates !


Sujet :

WinDev

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Japon

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2016
    Messages : 25
    Points : 13
    Points
    13
    Par défaut Problème avec la validité des dates !
    Bonjour à tous !
    Je viens par ce message parce que j'ai un problème sur un projet, j'aurai besoin de votre aide si possible.

    J'ai une table Panneau reliée à la table Réservation.
    Dans ma table Panneau, j'ai un champ statut et un champ interrupteur disponibilité.
    A la création d'une nouveau panneau, le statut de la chambre est automatiquement libre, et sa disponibilité activée.
    Ce que j'aimerai faire, c'est qu'à partir de la création d'une nouvelle réservation, lorsque je sélectionne un panneau, que son statut passe automatiquement à réservé, et quand la date de réservation sera inférieure à la date du jour, que son statut repasse libre.
    Quelqu'un pourrait-il m'aider à régler ce problème ?
    Cordialement !

  2. #2
    Membre extrêmement actif Avatar de Jon Shannow
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    4 526
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 4 526
    Points : 10 282
    Points
    10 282
    Par défaut
    Bonjour,
    tu as plusieurs solutions.

    Soit tu utilises un timer qui va régulièrement voir si des dates de réservation sont dépassées. (le timer peut être dans le thread principal, ou dans un autre thread, à toi de voir).
    Tu peux aussi lancer une procédure de vérification à l'ouverture d'une fenêtre (procédure qui se lancera, dans un autre thread afin de ne pas bloquer le système)

    Après, tout dépend de comment sont stockées les données, de quelle précision il te faut, dans quel cadre est utilisé ton logiciel.

    Les infos que tu nous fournis ne sont pas suffisantes pour t'orienter correctement.

    JS

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Japon

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2016
    Messages : 25
    Points : 13
    Points
    13
    Par défaut
    Bonjour et merci pour cette réponse rapide.
    Le projet servira à gérer les réservations de panneau d'un client auprès d'une agence qui réserve des panneaux publicitaires.
    Voici mon analyse :
    Nom : grp.PNG
Affichages : 372
Taille : 28,4 Ko

  4. #4
    Membre extrêmement actif Avatar de Jon Shannow
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    4 526
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 4 526
    Points : 10 282
    Points
    10 282
    Par défaut
    Plusieurs questions :
    Un client peut réserver pour une date future. Quel état doit avoir le panneau entre aujourd'hui et la date de réservation ?
    Quand un client réserve un panneau, indique-t-il une plage de réservation, ou un seulement une date de début sans préciser la date de fin de réservation ?

    J'ai du mal à visualiser ton application.
    C'est quoi la différence entre "statut_panneau", "état_panneau" et "actif_panneau" ?

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Japon

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2016
    Messages : 25
    Points : 13
    Points
    13
    Par défaut
    Un client peut réserver pour une date future oui.
    La date de réservation est la date à laquelle le client réserve son ou ses panneaux, et la date de souscription est la date à laquelle les panneaux passent en location.
    Entre aujourd'hui et la date de réservation, le panneau doit être "disponible", lorsqu'on crée une réservation, son statut doit passer à "réserver" et "occupé lorsqu'on crée une location.
    La date de réservation est la date à laquelle, le client demande une réservation, et la date de souscription est la date à laquelle, le ou les panneaux réservés sont occupés par le client, dans la table location, nous avons la date de début de location et la date de fin de location.

    Dans le statut_panneau, nous aurons: "disponible", "réservé, "occupé", dans état_panneau, nous avons l'état du panneau à savoir "très bon", "bon", "mauvais", "très mauvais" et enfin "actif_panneau" est coché quand le statut est disponible et décoché quand il est occupé ou réservé...

  6. #6
    Membre extrêmement actif Avatar de Jon Shannow
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    4 526
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 4 526
    Points : 10 282
    Points
    10 282
    Par défaut
    Quand le client effectue une réservation, il saisit la date de souscription mais la date de réservation est la date du jour ou bien il peut aussi la saisir ? Et, dans ce dernier cas, si la date de réservation est postérieure à la date du jour, quel statut doit avoir le panneau entre la date du jour et la date de réservation ?

    Ensuite, que se passe-t-il si le client réserve, mais, finalement ne réalise pas la location ?

    Et, enfin, pour ma part, le champ "actif_panneau" ne sert à rien. Il fait double usage avec "statut_panneau".

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Japon

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2016
    Messages : 25
    Points : 13
    Points
    13
    Par défaut
    Quand le client effectue une réservation, il saisit la date de souscription oui, et la date de réservation est bien la date du jour, toujours.

    J'ai mis un contrôle pour empêcher que la date de réservation soit postérieure ou antérieure à la date du jour.

    Le panneau doit avoir pour statut "disponible" avant la création d'une réservation.

    Si le client réserve, mais, finalement ne réalise pas la location, le statut reste réservé jusqu'à ce que la date de souscription soit antérieure à la date du jour, et une fois la date de souscription antérieure à la date du jour, le statut repasse "disponible" et on peut archiver la réservation.

    Je suis également d'accord pour le champ actif_panneau, je vais le retirer.
    Merci !

  8. #8
    Membre extrêmement actif Avatar de Jon Shannow
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    4 526
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 4 526
    Points : 10 282
    Points
    10 282
    Par défaut
    Du coup, je ne vois pas de difficulté particulière.

    Quand tu affiches l'état de ton panneau, tu dois simplement vérifier deux trois trucs

    si le statut est "reservé" alors, on vérifie que la date de souscription n'est pas atteinte (ou dépassée, à toi de voir les bornes).
    si la date de souscription est dépassée. Si c'est le cas, soit il y a une location, et le statut passe en "occupé", sinon, il repasse en "disponible".

    A chaque fois qu'un client fait une réservation, le statut du panneau doit passer à "réservé". (Mettre une transaction lors de l'enregistrement d'une réservation pour s'assurer de la cohérence de la base).

    Pareil lors d'une location, on bascule alors le statut en "occupé" et on archive la réservation.

    A voir si un client peut louer sans avoir réservé.

    Également, voir ce qui doit se passer si un client réserve aujourd'hui pour le 20 décembre 2018, par exemple, et qu'un autre, demain souhaite le réserver pour le 10 novembre 2018 ? Ton panneau est-il bloqué pour les n mois à venir, où peut-il être réservé quand même ? Et dans ce cas, s'assurer que lors de la location, la date de fin est bien inférieure à la prochaine date de souscription.

    Pour ma part, dans la réservation, j'indiquerais une plage de souscription. Comme ça, ça règle ce problème. Ainsi, il serait alors plus simple de passer d'une réservation à une location.

    Mais, je n'ai pas toutes les contraintes du projet, c'est à toi de voir.

  9. #9
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Japon

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2016
    Messages : 25
    Points : 13
    Points
    13
    Par défaut
    Ma difficulté est que je ne sais pas comment faire passer ce statut automatiquement par rapport à la date de souscription.
    Quand je crée un panneau, j'ai par défaut mis le statut en disponible, mais comment faire en sorte de le passer en réservé par rapport à la réservation et la remettre à disponible si la date de souscription n'est plus valide ?

  10. #10
    Membre extrêmement actif Avatar de Jon Shannow
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    4 526
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 4 526
    Points : 10 282
    Points
    10 282
    Par défaut
    Je ne sais pas comment tu affiches tes éléments. Tu nous a donné la base de données, mais rien concernant le projet.

  11. #11
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Japon

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2016
    Messages : 25
    Points : 13
    Points
    13
    Par défaut
    De quoi avez-vous besoin ?

  12. #12
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2003
    Messages
    999
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2003
    Messages : 999
    Points : 2 099
    Points
    2 099
    Par défaut
    Bonjour,

    Il suffit d'aller rechercher dans la table "Réservation" si elle existe et faire le traitement adéquat:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    POUR TOUT Réservation AVEC IDPanneau = Panneau.IDPanneau
    // Vérification des dates et MAJ de l'état du panneau
    FIN

  13. #13
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Japon

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2016
    Messages : 25
    Points : 13
    Points
    13
    Par défaut
    Merci pour la réponse, mais comment vérifier les MAJ des dates ?

  14. #14
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 129
    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 129
    Points : 9 562
    Points
    9 562
    Par défaut
    Dans le fichier Panneau, il y a une colonne Statut_Panneau, dans laquelle on va écrire : Réservé/Disponible/occupé.

    NON.
    Ca ne peut pas marcher.

    Si aujourd'hui, un client réserve le panneau n°1 pour le mois de décembre 2020, et il confirme sa réservation. Tu vas écrire Réservé dans cette table. Et si un autre client veut réserver le même panneau pour aout 2019, on va lui dire non, parce que le panneau est déjà réservé (alors que les dates ne se chevauchent pas).

    Cette colonne statut_panneau n'a rien à faire dans un fichier où la clé-unique est id_panneau.

  15. #15
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Japon

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2016
    Messages : 25
    Points : 13
    Points
    13
    Par défaut
    On va lui dire non oui, étant donné que le client de 2020 a confirmé sa réservation.
    Où dois-je donc placer le champ statut, j'en ai besoin pour empêcher la création d'une réservation sur un panneau ayant le statut "réservé"...

  16. #16
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 129
    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 129
    Points : 9 562
    Points
    9 562
    Par défaut
    Tu as une première possibilité.
    Tu crées un fichier avec 4 colonnes : idPanneau, idClient, Date, Statut_panneau (réservé mais non confirmé, réservé)

    Quand un client réserve pour le mois de décembre 2020, tu insères donc 31 lignes dans ce fichier...

    Et si un autre client veut réserver le même panneau pour la période 15novembre2020/15décembre2020, tu vas pouvoir facilement détecter que le panneau est déjà réservé sur une partie de cette période, en faisant un boucle sur chaque jouer entre le 15 nov et le 15déc.


    Tu peux aussi tenter une autre organisation des données :

    idPAnneau, idClient, Date_debut, date_fin, statut_panneau
    Pour une réservation sur décembre 2020, tu vas donc insérer une seule ligne.
    Mais quand le 2ème client arrive et souhaite réserver pour la période 15novembre2020/15décembre2020, le code pour vérifier si le panneau est disponible sera un peu plus compliqué.

    Dans ces 2 cas, le Statut_panneau est soit Réservé, soit Réservé/Confirmé. A priori, on n'a aucune raison d'avoir la valeur 'Disponible'. Sauf si tu veux gérer des cas comme Réservé puis Annulé, et avoir une traçabilité de toutes les annulations.


    Comme tu es visiblement débutant, l'exercice n°1 est plus de ton niveau.

  17. #17
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Japon

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2016
    Messages : 25
    Points : 13
    Points
    13
    Par défaut
    Excusez-moi, mais j'aurai besoin de la valeur 'Disponible'.
    Parce que si le panneau est disponible, on va pouvoir le réserver, mais s'il est réservé, empêcher la sélection de ce panneau.
    Et si la date de fin de réservation devient antérieure à la date du jour, que le statut du panneau repasse disponible...

  18. #18
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 129
    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 129
    Points : 9 562
    Points
    9 562
    Par défaut
    Je sais que si le panneau est disponible on doit pouvoir le réserver. Mais je maintiens TOTALEMENT mon précédent message : le statut disponible n'est pas utile. Réfléchissez 2 ou 3 heures si nécessaire.

  19. #19
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Japon

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2016
    Messages : 25
    Points : 13
    Points
    13
    Par défaut
    D'accord, mais dans le cas où le statut passait à réserver suite à la création d'une nouvelle réservation, comment m'y prendre pour qu'en cas de la création d'une nouvelle réservation, je bloque la sélection du panneau réservé, si la date de réservation de la première réservation n'a pas encore expiré. Mon problème se situe au niveau des dates...

  20. #20
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 129
    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 129
    Points : 9 562
    Points
    9 562
    Par défaut
    J'essaie de reformuler la question, parce que je ne la comprend pas :

    D'accord, mais dans le cas où le statut passait à réserver suite à la création d'une nouvelle réservation entre le 1eer décembre et le 31 décembre 2020 , comment m'y prendre pour qu'en cas de la création d'une nouvelle réservation entre le 15 aout et le 31 aout 2020, je bloque la sélection du panneau réservé, si la date de réservation de la première réservation n'a pas encore expiré. Mon problème se situe au niveau des dates...

    Désolé, même même en rajoutant des dates concrètes, je ne comprend pas la question. Je pense que vouloir reposer une nouvelle question toutes les 5mn, sans chercher à comprendre les réponses, ce n'est pas constructif.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [XL-2007] Formulaire VBA problème avec cellules contenant des dates
    Par Sudeki dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/10/2013, 12h54
  2. Réponses: 6
    Dernier message: 16/05/2012, 11h48
  3. Problème avec l'extraction des dates
    Par sa7bi dans le forum Langage
    Réponses: 3
    Dernier message: 06/06/2010, 08h50
  4. [SWT] Problème avec la transparence des PNG
    Par sirjuh dans le forum SWT/JFace
    Réponses: 1
    Dernier message: 02/08/2004, 08h07
  5. Réponses: 11
    Dernier message: 16/12/2003, 19h58

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