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 :

Vérifier si une date saisie dans un formulaire est comprise entre une intervalle de date d'une table


Sujet :

VBA Access

  1. #1
    Membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Juin 2012
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 38
    Points : 49
    Points
    49
    Par défaut Vérifier si une date saisie dans un formulaire est comprise entre une intervalle de date d'une table
    Bonjour tout le monde! J'ai un petit soucis que j'aimerai résoudre grâce à votre aide.
    J'ai une table Contratavec des champs IdContrat, IdResidences, IdVillas, DateDebut et DateFin.

    A partir de cette table j'ai crée un formulaire

    J'aimerai avoir un code qui me permettra de vérifier si la villa choisie n'est pas en contrat dans l'intervalle de date que choisira l'utilisateur.

    Pour résumer: Je veux comparer la date saisie dans DateDebut et dans DateFin de mon formulaire avec ceux de ma table si IdResidences et IdVilla existe déjà dans un même contrat pour pas qu'on loue une villa deux fois dans la même intervalle de temps.

    J'espère avoir bien énuméré mon souci.

    Je vous remercie d'avance

  2. #2
    Membre expérimenté Avatar de Gado2600
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Mai 2013
    Messages
    903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Office VBA

    Informations forums :
    Inscription : Mai 2013
    Messages : 903
    Points : 1 364
    Points
    1 364
    Par défaut
    Bonjour,
    Pour votre soucis, il vous faudra, à mon avis, procéder en plusieurs étapes :

    1 - Obtenir la valeur de IDRésidence et IDVilla ainsi que DateDebut et DateFin

    2 - Grâce au RECORDSET, parcourir votre table à la recherche de l'information IDRésidence et IDVilla afin de pouvoir récupérer les bons champs.

    3 - Sur chacun des champs de votre table jugés bons, vous vérifiez SI les dates correspondent ou non à l'intervalle demandé.

    Le code que vous ressortirez de ce pseudo-algorithme sera à placer dans une fonction AfterUpdate dans le cas où vous souhaitez obtenir le résultat après avoir remplit un contrôle ou alors dans un bouton si vous souhaitez faire la comparaison à la fin à l'aide d'un bouton.

    Bon courage, bien que sa soit rapide à faire

  3. #3
    Membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Juin 2012
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 38
    Points : 49
    Points
    49
    Par défaut
    Merci beaucoup Gado2600 de vous être penché sur mon problème! Le procédé le les saisi mais mon gros problème c'est l'écriture du code car je ne suis pas très fort avec es recordset.

    Merci de m'orienter, si possible, avec un exemple de code que je pourrai adapter à mon problème

  4. #4
    Membre expérimenté Avatar de Gado2600
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Mai 2013
    Messages
    903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Office VBA

    Informations forums :
    Inscription : Mai 2013
    Messages : 903
    Points : 1 364
    Points
    1 364
    Par défaut
    Pour la lecture des contrôles (zone de textes sur les formulaires), c'est comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim Alpha As Date ' type de texte, ici pour format Date
    Alpha = Me.NomDuControle.Value
    Pour les recordset, cela se passe comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim mabase as dao.database
    Dim rec as dao.recordset
    set mabase = currentdb
    set rec = mabase.openrecordset("NomTable", dbopentable, dbreadonly) ' avec la touche F1 vous pourrez avoir des explications sur cette fonction et les options qu'elle offre
     
    While rec.EOF = False
            ' Votre code pour contrôler les données
            rec.movenext ' pour passer à la ligne suivante dans la table liée au recordset
    Wend
     
    rec.Close ' On ferme le recordset par mesure de sécurité
    Pour lire la valeur d'un recordset, c'est comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rec.Fields("NomDuChamps").Value
    Pour plus de détails, allez voir les tutoriels sur Access.
    Vous trouverez des informations plus détaillées je pense

Discussions similaires

  1. script pour afficher la date saisie dans un formulaire
    Par chidap dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 26/11/2011, 12h03
  2. [AC-2007] requete avec la date saisie dans un formulaire
    Par guaguanco dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 05/07/2010, 09h48
  3. Comment vérifier une URL saisie dans mon formulaire ?
    Par cdevl32 dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 28/10/2007, 18h32
  4. Saisie d'une date correcte dans un formulaire
    Par breizhgen dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 24/10/2007, 15h31
  5. Réponses: 2
    Dernier message: 11/12/2004, 21h20

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