Plage horraire déjà réservé

glouton57 Messages postés 22 Date d'inscription   Statut Membre Dernière intervention   -  
glouton57 Messages postés 22 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   1
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   1
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   1
 
Pour moi ton modèle relationnel/MCD n'est pas bon.
0
Kev-sky62 Messages postés 101 Date d'inscription   Statut Membre Dernière intervention   1
 
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   Statut Membre Dernière intervention  
 
up svp
Merci
0
Kev-sky62 Messages postés 101 Date d'inscription   Statut Membre Dernière intervention   1
 
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   Statut Membre Dernière intervention  
 
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 27147 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
Salut,

et c'est quoi qui ne fonctionne pas ?
0
glouton57 Messages postés 22 Date d'inscription   Statut Membre Dernière intervention  
 
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 27147 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
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   Statut Membre Dernière intervention  
 
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 27147 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
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   Statut Membre Dernière intervention  
 
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 27147 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
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   Statut Membre Dernière intervention  
 
- J'ai l'impression qu'il ne va pas plus loin que le premier enregistrement.
0
blux Messages postés 27147 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
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   Statut Membre Dernière intervention  
 
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 27147 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
msgbox me.heurevisite
msgbox Me.IdTournee
+
msgbox dlookup(...)
0
glouton57 Messages postés 22 Date d'inscription   Statut Membre Dernière intervention  
 
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 27147 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
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   Statut Membre Dernière intervention  
 
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 27147 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
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   Statut Membre Dernière intervention  
 
et comment je peux faire ça stp.
Merci
0
blux Messages postés 27147 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
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   Statut Membre Dernière intervention  
 
concrètement, je faits comment.
Ma connaissance en vba étant proche de 0 ,-)
Merci
0
blux Messages postés 27147 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
Je crois que ce qui coince, ce n'est pas le VBA, mais plutôt la logique de fonctionnement...
0