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

VBA Access Discussion :

Comparer dates entrées via formulaire et dates stockées dans table


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2017
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2017
    Messages : 45
    Points : 19
    Points
    19
    Par défaut Comparer dates entrées via formulaire et dates stockées dans table
    Bonjour, je suis bloqué à ce niveau
    je voudrais vérifier qu'une même salle n'est pas réservée à plus de personnes a la même période.
    Dans mon sous formulaire j'ai une colonne date_début et une colonne date_fin.

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    C'est toujours un peu délicat car il y a plusieurs possibilités.

    1. La nouvelle période commence dans une période existante.
    2. La nouvelle période fini dans une période existante.
    3. La nouvelle période englobe une période existante.


    Où dois-tu faire ce test ?
    • Dans une requête ?
    • Dans un formulaire ?
    • Ailleurs ?


    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 650
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 650
    Points : 14 628
    Points
    14 628
    Par défaut
    bonjour kmomo,
    la réponse dans un autre de tes posts, ici :https://www.developpez.net/forums/d1...-base-donnees/
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  4. #4
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2017
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2017
    Messages : 45
    Points : 19
    Points
    19
    Par défaut
    Merci pour ton intervention!
    je n'ai pas saisie ce vous dite,mais je m'explique:
    supposons que la salle S1 a été louée/réservée a un client C1 à la date du 01/10/2017 au 03/10/2017;
    et après un client C2 vient pour une réservation à la même date aussi i.e du 02/10/2017 au 03/10/2017;
    comment empêcher un utilisateur qui veut réserver cette même salle S2 au client C2 sachant qu'elle est déjà réservée à la même plage de date.

    voici mon fichier contenat le formulaire:relation et formulaire.docx

  5. #5
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 650
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 650
    Points : 14 628
    Points
    14 628
    Par défaut
    je n'ai pas saisie ce vous dite
    peux-tu cliquer sur ce lien ? ==> https://www.developpez.net/forums/d1...s/#post9668580
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  6. #6
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 650
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 650
    Points : 14 628
    Points
    14 628
    Par défaut
    je te poste le code corrigé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    ....
    Dim sal as Variant ' string n'est pas bon car n'accepte pas le nul
    Dim code_sal as long
    code_sal = Forms!Frm_Reservation_Salle_Client.sfReservationSalleClient.Form!code_sal
     
    'recherche dans la table reservation les salles qui sont déjà réservées à cette même période et le stocke dans la variable sal
    cdate1 = Forms!Frm_Reservation_Salle_Client.sfReservationSalleClient.Form!date_debut
    cdate2 = Forms!Frm_Reservation_Salle_Client.sfReservationSalleClient.Form!date_fin
     'contrôle date début
     
    sal = DLookup("code_sal", "RESERVATION","#" & CDate(Format(cdate1,"mm/dd/yyyy")) & "# between date_debut between And date_fin and code_sal=" & code_sal)
    ' 
    if nz(sal,0) = code_sal then
        MsgBox "Salle occupée à cette période" 
        exit sub
    else    
        ' contrôle date fin
        sal = DLookup("code_sal", "RESERVATION","#" & CDate(Format(cdate2,"mm/dd/yyyy")) & "# between date_debut between And date_fin and code_sal=" & code_sal)
    end if
     
    If (nz(sal,0) = code_sal) Then
        MsgBox "Salle occupée à cette période"
    Else
        Set db = CurrentDb
    ....
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

Discussions similaires

  1. [2.x] Problème de date entre le formulaire et la base
    Par laupas dans le forum Symfony
    Réponses: 4
    Dernier message: 09/05/2012, 14h06
  2. [AC-2003] Transfert d'une date entre un Formulaire et une Query
    Par PopsBoston dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 25/05/2011, 16h40
  3. differences de type Date entre un formulaire et un état
    Par Falcdyr dans le forum VBA Access
    Réponses: 6
    Dernier message: 09/06/2008, 10h42
  4. Comparaison de dates: Aujourd'hui et date entrée via un user form
    Par jeo13 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 03/06/2008, 09h47
  5. [Dates] conversion d'une entrée de formulaire en date
    Par cfloriot dans le forum Langage
    Réponses: 5
    Dernier message: 10/02/2006, 09h57

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