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

IHM Discussion :

Contrôler les dates saisies par rapport aux dates antérieurs


Sujet :

IHM

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Juin 2006
    Messages : 20
    Points : 14
    Points
    14
    Par défaut Contrôler les dates saisies par rapport aux dates antérieurs
    Bonsoir,

    J'ai un formulaire pour la saisie des déplacements des agents où je saisis la date de départ et la date d'arrivée, je veux contrôler ces deux dates pour qu'elles ne chevauchent pas avec les dates antérieurs.

    Expemple:
    je veux que si je saisis 05/12/2007 comme date départ et que j'ai déjà un autre déplacement pour le même agent dont la date de départ est le 01/12/2007 et la date d'arrivée est le 10/12/2007, un message d'arrêt doit apparaître.

    Merci

  2. #2
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonsoir,

    Cette requête retourne la période (DateDeb->DateFin) dans laquelle se trouve la date testée, pour un agent donné.
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    PARAMETERS VerifDate DateTime, VerifCodeAgent Long;
    SELECT DateDeb, DateFin
    FROM tblPeriodes
    WHERE (((CodeAgent)=[VerifCodeAgent]) AND (([verifDate]) Between [DateDeb] And [DateFin]));
    Si elle ne renvoie rien -> pas de problème.
    Si elle retourne des données -> problème.

    Les paramètres peuvent être remplacés par des contrôles de formulaire.
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    PARAMETERS [Formulaires]![MonForm]![DateDeb] DateTime, [Formulaires]![MonForm]![CodeAgent] Long;
    SELECT DateDeb, DateFin
    FROM tblPeriodes
    WHERE (((CodeAgent)=[Formulaires]![MonForm]![CodeAgent])
       AND (([Formulaires]![MonForm]![DateDeb]) Between [DateDeb] And [DateFin]) );
    A+

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Juin 2006
    Messages : 20
    Points : 14
    Points
    14
    Par défaut
    Merci pour la réponse...

    Mais quel est le code à mettre dans la propriété "Avant MAJ" du contrôle "date_départ" du formulaire pour que lors de la saisie de la date de départ d'un agent et que la requête ci-dessus revoie un enregistrement : un message d'avertissement soit affiché.

  4. #4
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonjour,

    voila un exemple :
    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
    26
    Private Sub date_départ_Exit(Cancel As Integer)
    Dim strSQL As String, strDateDep As String
    Dim db As DAO.Database, rs As DAO.Recordset
     
    strDateDep = Format(Nz(Me.date_départ), "mm/dd/yyyy")
    If strDateDep = "" Then
       ' Rien à tester
       Exit Sub
    End If
     
    ' Crée code SQL de la requête
    strSQL = "SELECT DateDeb, DateFin " & _
    "FROM tblPeriodes " & _
    "WHERE (((CodeAgent)=" & Nz(Me.codeAgent, "0") & ") " & _
    "   AND (#" & strDateDep & "# BETWEEN [DateDeb] AND [DateFin]));"
     
    Set db = CurrentDb
    Set rs = db.OpenRecordset(strSQL, dbOpenSnapshot)
     
    ' Si valeurs retournées annuler événement et msg erreur
    If rs.RecordCount > 0 Then
       Cancel = True
       MsgBox rs!DateDeb & "<-->" & rs!DateFin, , "Chevauchement"
    End If
     
    End Sub
    Précisions :
    J'ai une table tblPeriodes (CodeAgent, DateDeb, DateFin) et sur le fomulaire j'ai les contrôles codeAgent, date_départ, date_retour.
    Il te faut donc remplacer les noms de champs, table, contrôles par les tiens.

    A+

  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Juin 2006
    Messages : 20
    Points : 14
    Points
    14
    Par défaut Parfait
    C'est Parfait, merci infiniment LedZeppII...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. ordonner les parents par rapport aux dates des children
    Par fphenix dans le forum Requêtes
    Réponses: 4
    Dernier message: 11/03/2011, 13h29
  2. Trier un tableau par rapport aux dates
    Par charline33 dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 21/04/2009, 09h58
  3. [Dates] Décompte par rapport à une date
    Par isa150183 dans le forum Langage
    Réponses: 1
    Dernier message: 25/10/2008, 15h18
  4. realiser un tri par rapport aux dates
    Par le_viet dans le forum Général VBA
    Réponses: 3
    Dernier message: 24/04/2007, 15h05
  5. Regrouper les données par rapport à la date
    Par goldeagle dans le forum Access
    Réponses: 7
    Dernier message: 11/12/2006, 15h35

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