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

Access Discussion :

Comment bloquer les enregistrements [AC-2000]


Sujet :

Access

  1. #1
    Membre du Club
    Homme Profil pro
    resp financier
    Inscrit en
    Mars 2012
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : resp financier
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2012
    Messages : 119
    Points : 64
    Points
    64
    Par défaut Comment bloquer les enregistrements
    Bonjour à tous,

    Malgré plusieurs essais et recherches , je reste bloqué (je ne suis qu'un amateur )

    Sur le fichier ci-joint j'explique mon problème. Je suis sur que quelqu'un pourra me donner la solution.

    Merci d'avance et bien à vous
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 846
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 846
    Points : 7 983
    Points
    7 983
    Par défaut
    Bonsoir,

    Je mettrais ce code qui vérifierait le nombre de réservations à ce moment (J'espère que chaque badge dans la table T_Recap correspond à une personne !!) sur l'évènement Après Mise à Jour de ton champ ChampHeureAller

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private sub ChampHeureAller_AfterUpDate()
    If Dcount("Badge","T_Recap","[DateNavAller]=#" & ChampDateAller & "# HeureNavAller='" & ChampHeureAller & "'")>4 then
    Msgbox "Cette navette est pleine ! Changez d'heure ou date !"
    ChampHeureAller.SetFocus 'A toi de voir comment gérer la suite, mettre un Undo ou mettre à Null
    End Sub
    @+

  3. #3
    Membre du Club
    Homme Profil pro
    resp financier
    Inscrit en
    Mars 2012
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : resp financier
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2012
    Messages : 119
    Points : 64
    Points
    64
    Par défaut
    Citation Envoyé par madefemere Voir le message
    Bonsoir,

    Je mettrais ce code qui vérifierait le nombre de réservations à ce moment (J'espère que chaque badge dans la table T_Recap correspond à une personne !!) sur l'évènement Après Mise à Jour de ton champ ChampHeureAller

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private sub ChampHeureAller_AfterUpDate()
    If Dcount("Badge","T_Recap","[DateNavAller]=#" & ChampDateAller & "# HeureNavAller='" & ChampHeureAller & "'")>4 then
    Msgbox "Cette navette est pleine ! Changez d'heure ou date !"
    ChampHeureAller.SetFocus 'A toi de voir comment gérer la suite, mettre un Undo ou mettre à Null
    End Sub
    @+


    Bonjour

    merci pour la réponse. Mais cela ne fonctionne pas j'ai un message d'erreur "cette application a été arrêté à cause d'une erreur d'application"

    ci-joint le fichier peut être pourriez vous regarder si j'ai bien recopié votre code

    Merci et bonne journée
    Fichiers attachés Fichiers attachés

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 846
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 846
    Points : 7 983
    Points
    7 983
    Par défaut
    Bonjour,

    Effectivement, j'étais trop pressé.
    Code amélioré :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub HeureNavAller_AfterUpdate()
    If DCount("Badge", "T_Recap", "[DateNavAller]=#" & Format(Me.DateNavAller, "mm/dd/yyyy") & "#" _
                                    & " AND [HeureNavAller]='" & Me.HeureNavAller & "'") > 4 Then
    MsgBox "Cette navette est pleine ! Changez d'heure ou date !"
    Me.HeureNavAller = ""
    End If
     
    'A toi de voir comment gérer la suite, mettre un Undo ou mettre à Null
    Me.HeureNavAller.SetFocus
     
    End Sub
    @+

  5. #5
    Membre du Club
    Homme Profil pro
    resp financier
    Inscrit en
    Mars 2012
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : resp financier
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2012
    Messages : 119
    Points : 64
    Points
    64
    Par défaut
    Citation Envoyé par madefemere Voir le message
    Bonjour,

    Effectivement, j'étais trop pressé.
    Code amélioré :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub HeureNavAller_AfterUpdate()
    If DCount("Badge", "T_Recap", "[DateNavAller]=#" & Format(Me.DateNavAller, "mm/dd/yyyy") & "#" _
                                    & " AND [HeureNavAller]='" & Me.HeureNavAller & "'") > 4 Then
    MsgBox "Cette navette est pleine ! Changez d'heure ou date !"
    Me.HeureNavAller = ""
    End If
     
    'A toi de voir comment gérer la suite, mettre un Undo ou mettre à Null
    Me.HeureNavAller.SetFocus
     
    End Sub
    @+
    SUPER
    encore un grand merci pour ton aide

    Puis je te demander une dernière aide pour ce fichier.
    Maintenant que j'ai pu bloquer :-))
    Je voudrais éviter que l'on réserve 2x pour le même badge

    Merci

  6. #6
    Membre du Club
    Homme Profil pro
    resp financier
    Inscrit en
    Mars 2012
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : resp financier
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2012
    Messages : 119
    Points : 64
    Points
    64
    Par défaut
    Merci pour votre aide,


    une dernière petite question
    j'ai maintenant pu bloquer mes enregistrements.
    mais je souhaiterais éviter d'enregistrer 2x le même badge pour le même trajet.
    Par la clé primaire cela ne fonctionne pas car mon badge me sert aussi pour réserver des repas donc mon champ"datenavaller" peut être nul

    Merci à vous

  7. #7
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 846
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 846
    Points : 7 983
    Points
    7 983
    Par défaut
    Bonjour,
    Tu entends par même trajet <=> même date si j'ai bien compris.
    Il faudrait rechercher s'il existe déjà un enregistrement avec le numéro de badge correspondant ce jour là? A vérifier dans le même champ HeureNavAller dans le même module et avant la saisie la validation finale je pense :.

    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
    Private Sub HeureNavAller_AfterUpdate()
    If DCount("Badge", "T_Recap", "[DateNavAller]=#" & Format(Me.DateNavAller, "mm/dd/yyyy") & "#" _
                                    & " AND [Badge]='" & Me.Badge & "'") > 0 Then
    MsgBox " Ce badge a une navette réservée ce jour-là ! "
    Me.Badge.SetFocus
    Me.Badge = ""
    Exit Sub 'Sortir de la routine
    End If
    If DCount("Badge", "T_Recap", "[DateNavAller]=#" & Format(Me.DateNavAller, "mm/dd/yyyy") & "#" _
                                    & " AND [HeureNavAller]='" & Me.HeureNavAller & "'") > 4 Then
    MsgBox "Cette navette est pleine ! Changez d'heure ou date !"
    Me.HeureNavAller = ""
    End If
    'A toi de voir comment gérer la suite, mettre un Undo ou mettre à Null
    Me.HeureNavAller.SetFocus
     
    End Sub
    @+

  8. #8
    Membre du Club
    Homme Profil pro
    resp financier
    Inscrit en
    Mars 2012
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : resp financier
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2012
    Messages : 119
    Points : 64
    Points
    64
    Par défaut
    Citation Envoyé par madefemere Voir le message
    Bonjour,
    Tu entends par même trajet <=> même date si j'ai bien compris.
    Il faudrait rechercher s'il existe déjà un enregistrement avec le numéro de badge correspondant ce jour là? A vérifier dans le même champ HeureNavAller dans le même module et avant la saisie la validation finale je pense :.

    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
    Private Sub HeureNavAller_AfterUpdate()
    If DCount("Badge", "T_Recap", "[DateNavAller]=#" & Format(Me.DateNavAller, "mm/dd/yyyy") & "#" _
                                    & " AND [Badge]='" & Me.Badge & "'") > 0 Then
    MsgBox " Ce badge a une navette réservée ce jour-là ! "
    Me.Badge.SetFocus
    Me.Badge = ""
    Exit Sub 'Sortir de la routine
    End If
    If DCount("Badge", "T_Recap", "[DateNavAller]=#" & Format(Me.DateNavAller, "mm/dd/yyyy") & "#" _
                                    & " AND [HeureNavAller]='" & Me.HeureNavAller & "'") > 4 Then
    MsgBox "Cette navette est pleine ! Changez d'heure ou date !"
    Me.HeureNavAller = ""
    End If
    'A toi de voir comment gérer la suite, mettre un Undo ou mettre à Null
    Me.HeureNavAller.SetFocus
     
    End Sub
    @+
    SUPER cela fonctionne encore un grand merci pour tes réponses


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

Discussions similaires

  1. Réponses: 5
    Dernier message: 27/10/2006, 08h43
  2. Réponses: 3
    Dernier message: 12/10/2006, 13h23
  3. Réponses: 4
    Dernier message: 27/04/2006, 09h22
  4. comment concaténer les enregistrements d'un champ donné ???
    Par c_moi_c_moi dans le forum SAP Crystal Reports
    Réponses: 7
    Dernier message: 23/03/2006, 16h11
  5. Réponses: 3
    Dernier message: 22/03/2006, 09h47

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