Requête VBA sur clique dans un formulaire

Résolu
pjpledger - 28 janv. 2013 à 09:04
 pjpledger - 29 janv. 2013 à 10:04
Bonjour,

Actuellement je réalise une "application" Access pour la gestion de réservation de véhicules sur différentes plages horaires.

Pour ce faire, j'ai créer une table Voiture ainsi qu'une table Réservation qui contient un champ "date_depart", "plage horaire" qui est une liste déroulante à choix multiple : 8-10h, 10-12h etc...

J'ai mis un index pour que si l'on réserve une voiture à la même date et la même plage, l'ajout est impossible.

Seulement si l'on met la même plage cela ne marche pas, mais si l'on met la même plage et qu'on en rajoute une l'ajout est possible.

J'aimerai donc dans on formulaire de réservation mettre un code qui vérifie que la voiture n'est pas disponible sur cette plage horaire. Le petit HIC c'est que je ne m'y connais pas du tout en VBA et je ne sais pas du tout par où commencer.

Merci d'avance pour votre aide

Ps : si il y en a que ca intéresse voici ma bdd actuelle :https://docs.google.com/file/d/0B1vG8clthGrqSEZaZVVqZVhKZ3M/edit

9 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
28 janv. 2013 à 13:33
N'ayant qu'un descriptif sommaire de ton appli, c'est difficile de te répondre efficacement.

Si tu as une "liste déroulante à choix multiple", il faut que tu arrives à synthétiser l'heure de début et l'heure de fin globale, qui, combinés à la date, te fourniront une date/heure de début et une date/heure de fin.
Ensuite, il faudra rapprocher ces dates de celles stockées dans tes fiches pour savoir si ces créneaux horaires sont en collision avec d'autres date/heure.
Pour faire des comparaisons de dates, utilise DateDiff et DateAdd.
3
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
28 janv. 2013 à 10:48
Salut

Catégorie modifiée .Net -> VBA

"J'ai mis un index pour que si l'on réserve une voiture à la même date et la même plage, l'ajout est impossible."
Il n'y a que toi qui puisse comprendre.
Un index ? C'est quoi, pour toi ?
Et en quoi cela peut-il verrouiller ton choix ?

"mais si l'on met la même plage et qu'on en rajoute une l'ajout est possible."
On rajoute une ?

Perso, par sécurité, je ne chargerai pas de macro.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on le partage (Socrate)
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
28 janv. 2013 à 10:53
"mais si l'on met la même plage et qu'on en rajoute une l'ajout est possible."
Excuses, c'est moi qui ait mal lu.
Tout dépend quelle requete de test tu as utilisé.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
28 janv. 2013 à 10:57
Bonjour,
Perso, par sécurité, je ne chargerai pas de macro.

Moi non plus. (en en plus : un .rar !)
On est par ailleurs ici sur un forum. Ce qui veut dire que toute difficulté exposée et éventuellement résolue doit pouvoir, y compris des années après, être suivie par d'autres forumeurs face à la même difficulté. Ce ne sera certes pas possible avec un fichier déposé quelque part et susceptible de disparaître à tout moment.

Si tes tenants et aboutissants sont clairs dans ton esprit :
- tu ne dois avoir aucune difficulté à les exposer de manière technique, avec précision, concision et clarté
- il te faut montrer ici la partie (et seulement celle-là) du code que tu as écrit et qui présente difficulté

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0

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

Posez votre question
Bonjour jack,

Tout d'abord merci de prêter attention à ma demande et pour les conseils que tu me donne par rapport à la Macro.

Pour les index du fait que ça ne fonctionne pas je l'ai enlevé. Ce que je souhaiterai c'est tout simplement que lorsque on ajoute une réservation, si mon véhicule a déjà était réservé sur une plage horaire, que l'on ne puisse pas ajouté l'enregistrement.

Mais j'avoue que je suis totalement perdu et que je ne sais pas comment m'y prendre.


Ps : J'espère m'être mieux exprimé que lors de mon premier message
0
Je tiens à préciser que je n'ai pas mis de code à disposition car je ne sais absolument pas par où commencer.
0
Merci jack, merci pour tes conseils et en effet j'ai remplacé les plages de réservation par Date et heure de départ ainsi que date et heure de retour.

Si je comprend bien, j'ai mis un bouton qui devra vérifier si l'enregistrement est valide, je suppose que je dois faire sa avec un Code Vba, je le commence et je tiens au courrant du code que j'aurais tenter de mettre en place.

Cordialement
0
Actuellement voici le Code VBA que j'aimerais mettre en place ( étant un débutant totale je ne sais pas du tout comment mettre sa en place):

Private Sub Réserver_Click()
Dim Nombre As Long, Boucle As Long, Limite As Long

Select Voiture_libelle_reservation ( Formulaire )

if Date départ( Formulaire ) >= Date départ ( dans la table par rapport à la voiture sélectionnée )
and Date retrou ( Formulaire )<= Date retroue  ( dans la table par rapport à la voiture sélectionnée )

Else
MsgBox ("Véhicule deja réserver pour cette date")

End Sub


J'ai conscience que du boulot reste à faire et j'y travail, si vous avez des idées ou des conseils je vous en remercie d'avance
0
Actuelement j'en suis la:
Private Sub Réserver_Click()

If Date___heure_de_départ_Click >= Date___heure_de_départ And Date___Heure_de_retour_Click <= Date___Heure_de_retour Then
MsgBox ("Véhicule deja réserver pour cette date")

End Sub
0
Rejoignez-nous