|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||
|
Membre Expert
![]() David Vincent (l'homme qui a vu les extra-terrestres)Développeur Web Inscription : mars 2004 Messages : 3 240 ![]() |
Bonjour tou le monde,
Je crée un nouveau projet qui est la résrevation d'une salle informatique. J'ai déjà créé le formuliare web (listes déroulantes,...) mais je rencontre un obstacle. Je vous explique. La personne choisis le jour, le mois, l'heure de début, l'heure de fin et met quel user il est (tout ça en listes déroulantes). C'est les trois données en gras sur lesquelles je vais travailler, je reviendrai ensuite sur le jour et le mois. Ce que je dois faire c'est, par rapport à l'heure de début et à l'heure de fin choisies, j'entre dans une base de données Access l'heure de début et l'heure de fin en choisissant le nom de la table qui correspond à la valeur de la liste déroulante (exemeple : quelqu'un choisit Heure de début 8h00 heure de fin : 12h00) la valeur des listes déroulantes sont debut_8 & fin_12, je ferais en sorte que le nom d'utilisateur se mette dans les champs nommés début_8 et fin_12. Le hic c'est ce qu'il se passe entre ces deux tranches horaire : C'est à dire 9,10 et 11. J'avais pensé à quelque chose dans le genre : Code :
Merci d'avance. beegees |
||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() David Vincent (l'homme qui a vu les extra-terrestres)Développeur Web Inscription : mars 2004 Messages : 3 240 ![]() |
Personne pour m'aider ?
Il faudrait peut être utiliser un tableau ? Immo, PC75, où êtes-vous
|
|
|
00
|
|
|
#3 |
|
Expert Confirmé
![]() Inscription : septembre 2004 Messages : 2 808 ![]() |
Bonjour,
Je suis un peu surbooké en ce momment. Perso, je pense que je ferai une table comme ça : CodeUser HeureDeb HeureFin non ?
__________________
Par principe, je ne réponds pas aux messages URGENT. Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu) |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() David Vincent (l'homme qui a vu les extra-terrestres)Développeur Web Inscription : mars 2004 Messages : 3 240 ![]() |
Bonjour PC75,
Je comprends que tu sois occupé, no problemo. Ce que tu me propose ne répond pas trop à ma question, c'est l 'intervalle entre les deux plages horaires. Je vais faire une recherche. Merci encore. beegees |
|
|
00
|
|
|
#5 | ||||||
|
Membre habitué
![]() Inscription : juillet 2006 Messages : 93 ![]() |
slt,
je propose que tu récupères tes 2 valeurs de liste déroulante : Code :
Code :
Code :
__________________
La guerre 14-18 avait fait un civil de tué pour dix militaires. 39-45 : un civil pour un militaire. Engagez-vous! Pour la prochaine, seuls les militaires seront survivants. |
||||||
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() Inscription : septembre 2004 Messages : 2 808 ![]() |
Re,
Pourquoi veux tu enregistrer toutes les valeurs comprises dans une plage horaire ? Je suppose que ces plages correspondent à des réservations ? Si tu as l'heure de début et l'heure de fin par user, tu pourras toujours déterminer si une demande de réservation chevauche une plage existante non ?
__________________
Par principe, je ne réponds pas aux messages URGENT. Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu) |
|
|
00
|
|
|
#7 | |||
|
Membre Expert
![]() David Vincent (l'homme qui a vu les extra-terrestres)Développeur Web Inscription : mars 2004 Messages : 3 240 ![]() |
Resalut PC75,
Citation:
La première : Si quelqu'un réserve la salle à 10 jusque midi et qu'elle est déjà réservée de 08 à 15 h00 le même jour, le programme doit savoir que la plage horaire est utilisée. Seconde raison : Je renvois le tout vers Excel pour mettre à la disposition des étudiants l'horaire. Citation:
Oui tout à fait. Citation:
Merci pour ton aide malgré ta surcharge de boulot. beegees |
|||
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() David Vincent (l'homme qui a vu les extra-terrestres)Développeur Web Inscription : mars 2004 Messages : 3 240 ![]() |
Salut Ntilou,
Ta réponse me semble intéressante, merci beaucoup. Je teste et je te dis quoi. Merci encore. beegees |
|
|
00
|
|
|
#9 |
|
Expert Confirmé
![]() Inscription : septembre 2004 Messages : 2 808 ![]() |
Re,
Je suppose que tu auras une table des salles, une table des users et une table des réservations ? Dans la table des réservations, j'imagine que tu auras des enregistrements du genre : User NumSalle JourDeb JourFin HeureDeb HeureFin Donc quand une user fera le chois d'une plage, tu fais juste une requête en mettant dans la clause where le test de disponibilité non ?
__________________
Par principe, je ne réponds pas aux messages URGENT. Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu) |
|
|
00
|
|
|
#10 | ||
|
Membre Expert
![]() David Vincent (l'homme qui a vu les extra-terrestres)Développeur Web Inscription : mars 2004 Messages : 3 240 ![]() |
Re-bonjour tout le monde,
Je reviens avec mon problème de vendredi. J'ai pas mal avancé sur mon nouveau projet mais le problème de remplir les champs entre l'heure de début et l'heure de fin n'est pas encore réglé. J'ai pensé à d'abord enregistrer l'heure de début et ensuite tant que l'heure de fin n'est pas = à l'heure de début, mettre à jour le champs heure de fin et ensuite heure de fin - 1 et i - 1. Voici le code et les explications : Code :
selecttable = "update " & hfmois & " set " & hfdebut & " = '" & hfuser & "' WHERE jour = '"& hfjour & "' " Cette première étape fonctionne bien. La seconde étape serait : Code :
Malheureusement, la réalité est tout autre. La première opération fonctionne très bien, il met à jour l'heure de début mais ensuite ne s'occupe pas de la seconde opération (qui comment par dim i...). Voyez-vous où j'ai fais une erreur ? Merci d'avance pour votre aide et bonne soirée. beegees |
||
|
|
00
|
|
|
#11 | |
|
Expert Confirmé
![]() Inscription : septembre 2004 Messages : 2 808 ![]() |
Re,
Je ne comprends toujours pas pourquoi tu veux enregistrer ce qu'il y a entre les heures de début et de fin (Tu n'auras pas de réservétion pour des demi-heures ?). Sinon, pour ajoouter une valeur à une date ou à une heure, il faut que tu utilises la fonction DateAdd() Extrait de MSDN Citation:
__________________
Par principe, je ne réponds pas aux messages URGENT. Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu) |
|
|
|
00
|
|
|
#12 | |||
|
Membre Expert
![]() David Vincent (l'homme qui a vu les extra-terrestres)Développeur Web Inscription : mars 2004 Messages : 3 240 ![]() |
Salut PC75,
Citation:
Premièrement, pas de réservation pour une demi heure. Si quelqu'un réserve la salle le lundi 03 janvier de 10 à 17h00. Si quelqu'un d'autre veut réserver la salle le 03 janver de 12 à 14h00, ce quelqu'un d'autre doit savoir que la salle est déjà réservée de 10 à 17h00. Si je n'indique pas dans 12 et 13 et 14 que la salle est réservée, ce quelqu'un d'autre ne pourra pas le savoir. Est-ce que ma logique est correcte ?. Merci pour dataadd, je vais regarder à cela. Mais mon code n'est pas correcte, est-il au moin exploitable ? Je parle de ce code : Code :
beegees |
|||
|
|
00
|
|
|
#13 | |
|
Expert Confirmé
![]() Inscription : septembre 2004 Messages : 2 808 ![]() |
Re,
Citation:
Une table des users Une table des salles Une table des réservations (User NumSalle JourDeb JourFin HeureDeb HeureFin ) Quand un utilisateur va tenter de réserver la salle de 12h à 14h (ton exemple), tu fais une requête SQL du style : select count(*) from Reservations where HeureDebutSaisie <= HeureFin AND HeureFinSaisie >= HeureDeb Si la requête te renvoie un résultat, c'est que la plage est prise. Tu dis ?
__________________
Par principe, je ne réponds pas aux messages URGENT. Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu) |
|
|
|
00
|
|
|
#14 | ||
|
Membre Expert
![]() David Vincent (l'homme qui a vu les extra-terrestres)Développeur Web Inscription : mars 2004 Messages : 3 240 ![]() |
Salut PC75,
Voici ce que tu me dis : Citation:
une table des salles : je n'ai qu'une salle, est-ce donc bien nécessaire de créer cette table ? Une table des réservations : user : ok , NumSalle (pas besoin), jourDebut : il réserve par heure et par journée, donc pas besoin de Jourfin, heuredeb et heure fin ça c'est indsipensable. Tu me dis aussi : Citation:
Tu crois que ça sera possible avec la requête ? Merci pour ton dévouement. beegees |
||
|
|
00
|
|
|
#15 | |
|
Expert Confirmé
![]() Inscription : septembre 2004 Messages : 2 808 ![]() |
Re,
Citation:
Au lieu de faire un select count(*) from Reservations, tu fais un select from Reservations. Tu mests ça dans un recordset et tu récupères le user et les horaires. Tu doutes ?
__________________
Par principe, je ne réponds pas aux messages URGENT. Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu) |
|
|
|
00
|
|
|
#16 | |||||||||
|
Membre Expert
![]() David Vincent (l'homme qui a vu les extra-terrestres)Développeur Web Inscription : mars 2004 Messages : 3 240 ![]() |
Citation:
J'essaie de mettre en place le système que tu m'as indiqué mais il y'a queqlue chose qui coince. Voici le code : dim i if hfdebut < hffin then Code :
Merci beegees |
|||||||||
|
|
00
|
|
|
#17 | |
|
Membre Expert
![]() David Vincent (l'homme qui a vu les extra-terrestres)Développeur Web Inscription : mars 2004 Messages : 3 240 ![]() |
Citation:
Je doute jamais de tes compétences. Mais il y'a sans doute quelque chose à quoi tu n'as pas pensé, je dois mettre 01, 02,03.... 31 pour les mois. Je trouve que la méthode de ntilou est pas mal avec le for next, mon do while ne fonctionne pas, je comprends pas pourqoui. Merci à vous deux. beegees |
|
|
|
00
|
|
|
#18 | |
|
Expert Confirmé
![]() Inscription : septembre 2004 Messages : 2 808 ![]() |
Citation:
Je ne pige pas !
__________________
Par principe, je ne réponds pas aux messages URGENT. Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu) |
|
|
|
00
|
|
|
#19 | |
|
Membre Expert
![]() David Vincent (l'homme qui a vu les extra-terrestres)Développeur Web Inscription : mars 2004 Messages : 3 240 ![]() |
Citation:
Les jours je dois les mettre dans la table car il faut bien qu'on sache quelle jour à été choisi. C'est pour ça que j'ai créé une table pour chaque moi. Tu vois vraiment pas pour mon for net ou mon do while ? Merci et désolé. beegees |
|
|
|
00
|
|
|
#20 |
|
Expert Confirmé
![]() Inscription : septembre 2004 Messages : 2 808 ![]() |
Re,
Alors là, tu m'étonnes ! Tu as une table pour chaque mois ? Je pense que tu va vite galérer. La solution qui consiste à n'avoir qu'une seule table Réservations me parait plus sage : Une description de ce genre là te permettra, via une seule requête de vérifier les horaires saisis en fonction des plages disponibles. IdUser LaDate HeureDeb HeureFin NumSalle Une autre question : Imagine que l'on te demande des statistiques du style : Quel user réserve le plus de salles ? (éventuellement au cours d'une période donnée) Au cours de quel trimestre les salles sont elles le plus réservées ? Dans quel créneau horaire les salles sont elles le plus réservées ? etc ...
__________________
Par principe, je ne réponds pas aux messages URGENT. Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu) |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com