Plage horraire déjà réservé

Fermé
glouton57 Messages postés 22 Date d'inscription dimanche 19 mai 2013 Statut Membre Dernière intervention 11 juin 2013 - Modifié par glouton57 le 21/05/2013 à 18:57
glouton57 Messages postés 22 Date d'inscription dimanche 19 mai 2013 Statut Membre Dernière intervention 11 juin 2013 - 31 mai 2013 à 17:08
Bsr
J'ai besoin d'un coup de pouce svp.
Je vous explique.
J'ai une requête avec comme champs, nom, prenom, adresse, commune, heureRes
J'aurais aimer avoir un message d'alerte m'indiquant qu'un client de cette commune est déjà inscrit a l'heure voulu si un client (de cette même commune) via un formulaire s'inscrit et réserve une heure déjà réservé.
Merci


11 réponses

Kev-sky62 Messages postés 101 Date d'inscription dimanche 14 novembre 2010 Statut Membre Dernière intervention 23 juillet 2020 1
21 mai 2013 à 19:24
Tu peux exposer le modèle relationnel de ta table client et commune stp, sa aidera à la compréhension
0
glouton57 Messages postés 22 Date d'inscription dimanche 19 mai 2013 Statut Membre Dernière intervention 11 juin 2013
21 mai 2013 à 19:44
Merci de m'avoir répondu.
J'ai une table tblclient et une table tblreservation en relation 1-n.
la tblclient contient les champs NumIdcli, Nom, prenom, commune et la tblreservation contient les champs NumIdres, date de debut, heureRes
Bonne soirée
0
Kev-sky62 Messages postés 101 Date d'inscription dimanche 14 novembre 2010 Statut Membre Dernière intervention 23 juillet 2020 1
21 mai 2013 à 21:33
Donc si c'est 1-n des deux côtés sa veut dire que un client peut faire 1 ou plusieurs réservations et une réservation peut être faite par 1 ou plusieurs client (je demande pour voir si on se comprend).
Si vous avez 1-n de chaque côté de l'association alors l'association devient table.
l'association aurait comme clé primaire et étrangère NumIdcli et NumIdres

Autre chose, SQL ne génère pas d'alerte il permet la création de BD/tables/vues...,l'interrogation/manipulations des données et la gestion des droits, c'est le code utilisé en parallèle qui devra générer l'alerte. Tout ce que SQL pourra faire c'est la vérification, j'attends votre confirmation sur la compréhension du sujet, n'hésitez pas à divulger tous types d 'informations.
0
glouton57 Messages postés 22 Date d'inscription dimanche 19 mai 2013 Statut Membre Dernière intervention 11 juin 2013
Modifié par glouton57 le 22/05/2013 à 14:22
Bjr Kev-sky62
Une réservation peu être faite par plusieurs clients de la même commune mais pas aux même horaires.

Si j'ai un client de Paris qui me réserve une séance à 08hoo, je ne peux pas faire un deuxième client de paris à 08h00. Sachant qu'une séance du 3/4 d'heure il ne pourra réserver sa séance qu'a 08h45 (en gros c'est pour schématiser).
Par contre si j'ai un troisième de Lyon qui me réserve une séance à 8h00, ok, comme nous sommes un commercial par secteur.
Je pense que j'ai été assez clair, sinon n'hésite pas a me demander.
Merci
0
Kev-sky62 Messages postés 101 Date d'inscription dimanche 14 novembre 2010 Statut Membre Dernière intervention 23 juillet 2020 1
22 mai 2013 à 17:44
Pour moi ton modèle relationnel/MCD n'est pas bon.
0
Kev-sky62 Messages postés 101 Date d'inscription dimanche 14 novembre 2010 Statut Membre Dernière intervention 23 juillet 2020 1
22 mai 2013 à 17:44
Ou alors tu ne m'as pas donné toutes les infos
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
glouton57 Messages postés 22 Date d'inscription dimanche 19 mai 2013 Statut Membre Dernière intervention 11 juin 2013
25 mai 2013 à 10:20
up svp
Merci
0
Kev-sky62 Messages postés 101 Date d'inscription dimanche 14 novembre 2010 Statut Membre Dernière intervention 23 juillet 2020 1
25 mai 2013 à 19:41
tblclient (NumIdcli, Nom, prenom, commune) //Numidcli=clé primaire
tblreservation (NumIdres, date de debut, heureRes,tblcient-numidcli)
numidres= clé primaire tblclient-numidcli= clé étrangère en référence à NumIdRes de tblclient

Pour savoir si un client à déjà réservé dans une ville à une certaine heure, faut interroger les deux tables, pour ça faut une clé étrangère entre les deux... Renseigne toi sur Merise et le schéma entité-association encore appellé MCD.
0
glouton57 Messages postés 22 Date d'inscription dimanche 19 mai 2013 Statut Membre Dernière intervention 11 juin 2013
29 mai 2013 à 17:03
Bsr Kev-sky62
Alors après mainte recherche j'en suis arrivée a utiliser la fonction DLooKup.
Seulement j'arrive pas à la mettre en place

If Me.HeureVisite = DLookup("Heurereserv", "Tblclient", "IdTournee = " & Me.IdTournee) Then
MsgBox "Heure déjà réservée !"
Cancel = True
End If

j'ai eau essayer ça ne fonctionne pas.
merci
0
blux Messages postés 26302 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 19 septembre 2024 3 300
29 mai 2013 à 21:05
Salut,

et c'est quoi qui ne fonctionne pas ?
0
glouton57 Messages postés 22 Date d'inscription dimanche 19 mai 2013 Statut Membre Dernière intervention 11 juin 2013
30 mai 2013 à 09:56
Bjr blux
Merci davoir répondu.
Un gros casse tête pour la mienne ,-))
La tournée n'est pas prise en compte quand je rentre un client. Du coup je peux avoir un client A sur ma tournée une à 08:00 et un client B sur ma tournée une à 08:00.
0
blux Messages postés 26302 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 19 septembre 2024 3 300
30 mai 2013 à 09:59
Non, mais ça j'avais compris depuis le début.
Ma question était au niveau du Dlookup...
0
glouton57 Messages postés 22 Date d'inscription dimanche 19 mai 2013 Statut Membre Dernière intervention 11 juin 2013
30 mai 2013 à 13:28
pourquoi utiliser DLooKup ??
rechercher une valeur "HeureVisite" et si la valeur trouvé, comparer avec "IdTournee", et si une concordance est trouvé msgbox "heure déjà réservé pour cette tournée"
0
blux Messages postés 26302 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 19 septembre 2024 3 300
30 mai 2013 à 13:39
Tu n'as pas compris...
Je saisis très bien ce que fait un dlookup, je m'interrogeais sur ta phrase :
j'en suis arrivée a utiliser la fonction DLooKup. Seulement j'arrive pas à la mettre en place
0
glouton57 Messages postés 22 Date d'inscription dimanche 19 mai 2013 Statut Membre Dernière intervention 11 juin 2013
30 mai 2013 à 13:55
Ouppss désolé
J'ai parcouru qlqs fofo et je pense que dans mon cas c'est DLooKup qu'il faut utiliser (je me trompe peu être) mais je n'arrive pas a l'appliquer.
J'ai beaucoup vu DLooKup dans des requêtes mais dans mon cas ce serait en vba.
Merci blux.
0
blux Messages postés 26302 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 19 septembre 2024 3 300
30 mai 2013 à 13:57
J'ai bien compris, je voudrais simplement savoir ce qui ne marche pas dans ton dlookup :

- ça plante
- ça sort un message d'erreur
- ça éteint la lumière
- ça appelle les pompiers
- ça ne va jamais dans le corps du test
- ...
0
glouton57 Messages postés 22 Date d'inscription dimanche 19 mai 2013 Statut Membre Dernière intervention 11 juin 2013
30 mai 2013 à 15:17
- J'ai l'impression qu'il ne va pas plus loin que le premier enregistrement.
0
blux Messages postés 26302 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 19 septembre 2024 3 300
30 mai 2013 à 15:56
dlookup cherche un champ qui correspond à ce qu'on lui demande.
Dans la majorité des cas, le résultat est unique, si cependant ce n'est pas le cas, il renvoie le premier qui correspond aux critères.

Ici, tu cherches à renvoyer la valeur du champ Heurereserv de la table Tblclient dont le champ IdTournee (de cette même table) est égal au contenu d'un contrôle nommé Me.IdTournee.

Tu devrais déjà vérifier les valeurs de Me.HeureVisite et Me.IdTournee avec un msgbox.
0
glouton57 Messages postés 22 Date d'inscription dimanche 19 mai 2013 Statut Membre Dernière intervention 11 juin 2013
30 mai 2013 à 16:24
Comment je peux vérifier ça stp.
Faire un msgbox je sais faire mais pour le reste !!!!
Comment vérifier ces deux valeurs.
Merci
0
blux Messages postés 26302 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 19 septembre 2024 3 300
30 mai 2013 à 16:38
msgbox me.heurevisite
msgbox Me.IdTournee
+
msgbox dlookup(...)
0
glouton57 Messages postés 22 Date d'inscription dimanche 19 mai 2013 Statut Membre Dernière intervention 11 juin 2013
30 mai 2013 à 17:20
Désolé marche po grrrr. J'ai du me tromper quelques part.

Private Sub HeureVisiste_BeforeUpdate(Cancel As Integer)
MsgBox Me.HeureVisite
MsgBox Me.IdTournee
If Me.HeureVisite = DLookup("HeureVisite", "T_Tournees", "idTournee = " & Me.IdTournee) Then
MsgBox "Heure déjà réservée !"
' Annule l'évènement
Cancel = True
End If
End Sub
0
blux Messages postés 26302 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 19 septembre 2024 3 300
30 mai 2013 à 17:50
Il serait bien ce que tu dises ce qui ne va pas :

- ça plante
- ça sort un message d'erreur
- ça éteint la lumière
- ça appelle les pompiers
- ça ne va jamais dans le corps du test
- ...
0
glouton57 Messages postés 22 Date d'inscription dimanche 19 mai 2013 Statut Membre Dernière intervention 11 juin 2013
30 mai 2013 à 18:05
comme je te le disais un peu plus j'ai l'impression qu'il s'arrête au premiers enregistrement, il va pas plus loin.
merci
0
blux Messages postés 26302 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 19 septembre 2024 3 300
30 mai 2013 à 20:32
Il n'a pas à continuer, il n'est pas dans une boucle, il fait un test entre deux variables...
0
glouton57 Messages postés 22 Date d'inscription dimanche 19 mai 2013 Statut Membre Dernière intervention 11 juin 2013
31 mai 2013 à 10:03
et comment je peux faire ça stp.
Merci
0
blux Messages postés 26302 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 19 septembre 2024 3 300
31 mai 2013 à 11:31
Il ne faut pas faire de boucle, tu cherches à vérifier si c'est réservé, c'est tout...
0
glouton57 Messages postés 22 Date d'inscription dimanche 19 mai 2013 Statut Membre Dernière intervention 11 juin 2013
31 mai 2013 à 11:36
concrètement, je faits comment.
Ma connaissance en vba étant proche de 0 ,-)
Merci
0
blux Messages postés 26302 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 19 septembre 2024 3 300
31 mai 2013 à 11:41
Je crois que ce qui coince, ce n'est pas le VBA, mais plutôt la logique de fonctionnement...
0