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 :

[gestion erreur] masque de saisie et message personnalisé


Sujet :

Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 81
    Points : 60
    Points
    60
    Par défaut [gestion erreur] masque de saisie et message personnalisé
    Bonjour,

    Je débute en matière de gestions d'erreur (jusque là, j'ai toujours pratiqué la théorie du "mieu vaut empêcher une connerie que la réparer, même si c'est chiant à programmer).

    En fait, j'ai mis en place des masques de saisies, et je souhaiterais personnaliser le message d'erreur qui s'affiche lorsque l'utilisateur se trompe ou cherche à quitter la textebox avant de l'avoir remplie....

    je sais faire OnError Goto etiquette

    et cela à l'air de fonctionner pas mal, mais le message d'access est franchement rébarbatif à mon goût (alors que quelque chose de simple, du genre "Ce que vous avez entrer ne correspond pas à un numéro de matricule valide" serait si simple et si beau....)

    Je suppose que ce doit être faisable, mais je n'ai pas trouver d'exemple dans l'aide access qui permette de le faire.... (d'ailleurs, je trouve l'aide access asez mal documenté dans ce domaine pourtant prioritaire... )

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 148
    Points : 112
    Points
    112
    Par défaut
    Tu peux chopper le numéro de l'erreur et en le testant le personnaliser avec un msgbox !?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    On error go to err
    ...
     
    err: 
    if err.number = xxxx then
       msgbox("Erreur de saisie")
    end if

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 81
    Points : 60
    Points
    60
    Par défaut
    Merci de ton aide popo.

    Toutefois, il me reste un gros soucis....

    A priorit, le fait d'entrer une donnée qui ne correspond pas au masque de saisie n'est pas reconnu comme une erreur...

    En effet, j'ai passé pas mal de temps hier à tenter de récupérer le numéro d'erreur. En désespoir de cause, je viens de faire un test en provoquant l'erreur pour affiocher le numéro dans une msgbox, mais je n'entre jamais dans la partie err.....

    une idée?

  4. #4
    Membre éclairé Avatar de ft035580
    Profil pro
    Inscrit en
    Août 2004
    Messages
    689
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 689
    Points : 812
    Points
    812
    Par défaut
    Salut,

    Peut_être:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Form_Error(DataErr As Integer, Response As Integer)
    Response = False
    MsgBox "Ce que vous avez entrer ne correspond pas à un numéro de matricule valide"
    End Sub

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 148
    Points : 112
    Points
    112
    Par défaut
    Dans les propriétés de ton objet où il y a le masque de saisie, tu vas dans données -> Message si erreur.

    ou en vba <NomDeL'Objet>.validationtext = "erreur ! "


    voilà ^^

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 81
    Points : 60
    Points
    60
    Par défaut
    Popo, merci et désolé.

    J'ai parcourut ces options 20 fois, mais je n'ai pas vu ça.... je deviens aveugle...

    Je dois bien avouer aussi qu'à force, j'ai tellement l'habitude de les lires et relires que je crois bien que je ne vois plus vraient ce que j'ai sous les yeux....


    Enfin, merci pour tout.


    --------------edit------------------------

    Bien que le texte au dessus reste d'actualité, Ca ne marche pas mieu comme ça... Le "message si erreur" n'est pas affiché, et le message habituel s'affiche comme si de rien n'était....



    ft035580, tu pourrais me donner un exemple d'utilisation de ta fonction s'il te plait? Je ne vois pas très bien à quoi correspondent tes variable. D'ailleurs, je ne comprend pas non plus pourquoi tu affecte false à la variable response alors qu'elle est définie comme integer....

    Merci d'avance.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 148
    Points : 112
    Points
    112
    Par défaut
    de rien

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 81
    Points : 60
    Points
    60
    Par défaut
    En fait (du coup, j'ai fait des recherches supplémentaires lol), messageSiErreur ne s'affiche que si on viole la loi inscrite dans le paramètre valideSi, or, moi, comme c'est dans le parametre masqueDeSaisie, c'est pas pris en compte....

    voili, ca résoud pas le problème, mais si ça peut servir à quelqu'un...

  9. #9
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 859
    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 859
    Points : 14 977
    Points
    14 977
    Par défaut
    Bonsoir,
    tu peux utiliser la propriété OnError de ton formulaire pour capturer l'erreur et changer ton message :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub Form_Error(DataErr As Integer, Response As Integer)
     
    ' Changer le message d'erreur pour une saisie erronée dans un masque de saisie
    Select Case DataErr
    Case 2279
        MsgBox "Message personnalisé (erreur saisie sur le champ : " & Me.ActiveControl.Name & ")"
    DataErr = 0
    Response = 0
    Case Else
     
    End Select
     
     
    End Sub

  10. #10
    Membre expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Points : 3 591
    Points
    3 591
    Billets dans le blog
    8
    Par défaut
    Salut
    Je te propose de répertorier les caractères non valides (pour le champ) puis d'utiliser une procédure (onkeydown ou onkeypress) et d'annuler la frappe avec un message spécifique à la touche appuyée.
    Bonne continuation.

  11. #11
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 859
    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 859
    Points : 14 977
    Points
    14 977
    Par défaut
    Citation Envoyé par alassanediakite
    Salut
    Je te propose de répertorier les caractères non valides (pour le champ) puis d'utiliser une procédure (onkeydown ou onkeypress) et d'annuler la frappe avec un message spécifique à la touche appuyée.
    Bonne continuation.
    Merci pour lui alassanediakite, mais il ne s'agit pas ici de contrôler la frappe mais de substituer le message d'erreur affiché lorsqu'une valeur dans un masque de saisie est invalide (erreur 2279) par un message personnalisé (comme je l'ai proposé précedemment).

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 81
    Points : 60
    Points
    60
    Par défaut
    Merci à tous.

    Plusieurs précisions toutefois :

    alassanediakite : effectivement, je n'ai aucun problème pour limiter les caractères car je n'accepte que les chiffres. Donc, le masque de saisie le fait très bien tout seul. Merci quand même.

    tee_grandbois et ft035580 : Merci à vous deux. Maintenant, ça fonctionne.


    tee_grandbois : juste une dernière question, comme tu as pû me donner le numéro d'erreur alors même que je ne réussissais pas à faire reconnaitre à access qu'il y avait une erreur, peut-être saura-tu me dire s'il y a une liste des erreur et code erreur??? j'ai été assez surpris de ne pas trouver ça dans l'aide d'access, mais bon, je suis pas doué pour farfouiller la dedans a priorit...


    En tout cas, encore un grand merci à tous ceux qui m'ont apporté leur aide.

    malheureusement, je vous dis probablement à bientôt....

  13. #13
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 859
    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 859
    Points : 14 977
    Points
    14 977
    Par défaut
    Citation Envoyé par en_gel_ho
    tee_grandbois : juste une dernière question, comme tu as pû me donner le numéro d'erreur alors même que je ne réussissais pas à faire reconnaitre à access qu'il y avait une erreur,
    J'ai provoqué l'erreur dans un formulaire et dans Form_Error j'ai inséré un Stop qui provoque l'arrêt du code, puis j'ai affiché la valeur de DataErr.
    Citation Envoyé par en_gel_ho
    peut-être saura-tu me dire s'il y a une liste des erreur et code erreur???
    Oui, il existe une liste d'erreurs dans Access, mais à part la liste des Erreurs récupérables je n'ai pas trouvé de liste imprimable.

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

Discussions similaires

  1. [XL-2003] Erreur masque de saisie vba
    Par alizearn dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/10/2011, 09h29
  2. [AC-2007] Masque de saisie : message personnalisé
    Par eperat dans le forum IHM
    Réponses: 1
    Dernier message: 02/04/2011, 22h15
  3. [PHP 5.3] Gestion des erreurs. Message personnalisé
    Par RunCodePhp dans le forum Langage
    Réponses: 4
    Dernier message: 07/02/2010, 19h27
  4. [Formulaire]Message d'erreur de masque de saisie
    Par Cydonia dans le forum VBA Access
    Réponses: 2
    Dernier message: 27/06/2008, 10h08
  5. [Formulaire] Gestion erreur saisie d'une requête
    Par b_steph_2 dans le forum IHM
    Réponses: 6
    Dernier message: 05/01/2006, 17h40

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