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 :

gérer message erreur de type : champs required


Sujet :

Access

  1. #1
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 219
    Points : 108
    Points
    108
    Par défaut gérer message erreur de type : champs required
    Bonjour tout le monde,

    voila mon problème:

    j'ai un formulaire "interventions", sur lequel se trouve une liste déroulante "nom intervenant" liée à une table "intervenant" par un id.

    En bas de ce formulaire se trouve un bouton ajouter créé grace à l'assistant servant à ajouter une nouvelle intervention.

    Le champs id_intervenant de la table "interventions" a la propriété "required" à true.

    Il est donc logique que lorsque je veux ajouter un enregistrement sans avoir choisi un "nom intervenant", un message d'access standard apparait: "le champ id_intervenant de la table intervention ne peux contenir une valeur Null.. etc etc"

    je voudrais pouvoir gérer cette erreur afin de moi meme afficher un message.

    J'ai essayé ceci mais ce n'est pas suffisant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Form_Error(DataErr As Integer, Response As Integer)
    Select Case Err.Number
        Case 2105
         MsgBox ("Impossible d'ajouter: veuillez choisir un intervenant"), vbInformation, "Erreur"
        Case 3314
         MsgBox ("Impossible d'ajouter: veuillez choisir un intervenant"), vbInformation, "Erreur"
        Case 3201
         MsgBox ("Impossible d'ajouter: veuillez choisir un intervenant"), vbInformation, "Erreur"
        Case Else
         MsgBox Err.Description
        End Select
    End Sub

    J'ai fait pareil sur l'evenement "click"' du bouton ajouter mais le message standard d'access aparait tjs


    merci de votre aide et n'hésitez pas a me poser des questions si je n'ai pas été assez explicite.

  2. #2
    Membre régulier
    Inscrit en
    Août 2006
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 82
    Points : 81
    Points
    81
    Par défaut
    Salut,
    Si j'ai bien compris, tu veux obliger l'utilisateur à entrer une donnée dans un champs avant d'enregistrer.

    Pour cela tu peux le gerer toi même avec un if :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if champReq <> "" then
         tu peux enregistrer
    else
         msgbox("Entrez une donnée dans le champReq")
    end if
    tu peux biensur faire des variante, sans msg, sur l'evenement d'afterupdate des champs qui mettrons la propriétés enabled de ton bouton a true ou false celon le remplissage.

    Si tu veux plus de code comme exemple dit le moi

  3. #3
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 219
    Points : 108
    Points
    108
    Par défaut
    J'avais essayé un "if" sur l evenement click du bouton et ca générait une erreur quand meme.

    Par contre, le afterupdate du champs , cest une tres bonne idée

    Je vais essayer ca, merci

  4. #4
    Membre régulier Avatar de léti07
    Inscrit en
    Février 2006
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 117
    Points : 100
    Points
    100
    Par défaut
    salut

    tu peux aussi créer une macro en utilisant la fonction avertissement (en la mettant à NON) en suite tu execute ta macro au debut de ton code
    cette fonction permet de desactiver les message d'access

    j'espere que ca va d'aider
    Celui qui pose une question risque cinq minutes d'avoir l'air bête. Celui qui ne pose pas de question restera bête toute sa vie.(proverbe chinois)

  5. #5
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 219
    Points : 108
    Points
    108
    Par défaut
    Citation Envoyé par léti07
    salut

    tu peux aussi créer une macro en utilisant la fonction avertissement (en la mettant à NON) en suite tu execute ta macro au debut de ton code
    cette fonction permet de desactiver les message d'access

    j'espere que ca va d'aider
    J'ai essayé le setwarning a false, mais il m'affiche quand meme un message access. ....

    Quelqu'un aurait une idée?

  6. #6
    Membre régulier Avatar de vador972
    Profil pro
    Inscrit en
    Août 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 71
    Points : 81
    Points
    81
    Par défaut
    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
    Private Sub Form_Error(DataErr As Integer, Response As Integer)
    OnError Goto Err
    
    ....
    ....
    
    
    Exit Sub
    Err:
    Select Case Err.Number
        Case 2105
         MsgBox ("Impossible d'ajouter: veuillez choisir un intervenant"), vbInformation, "Erreur"
        Case 3314
         MsgBox ("Impossible d'ajouter: veuillez choisir un intervenant"), vbInformation, "Erreur"
        Case 3201
         MsgBox ("Impossible d'ajouter: veuillez choisir un intervenant"), vbInformation, "Erreur"
        Case Else
         MsgBox Err.Description
        End Select
    End Sub
    Si ta parole n'est pas aussi sage que le silence alors tais-toi !

  7. #7
    Membre régulier Avatar de vador972
    Profil pro
    Inscrit en
    Août 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 71
    Points : 81
    Points
    81
    Par défaut
    A moins que j'ai mal compris quelque chose
    Si ta parole n'est pas aussi sage que le silence alors tais-toi !

  8. #8
    Membre régulier Avatar de vador972
    Profil pro
    Inscrit en
    Août 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 71
    Points : 81
    Points
    81
    Par défaut
    Ou as-tu essayé avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    DoCmd.SetWarnings False
    Puis le repasser à True à la fin de ta sub ? (Je ne sais pas si ça marchera).
    Si ta parole n'est pas aussi sage que le silence alors tais-toi !

  9. #9
    Membre régulier
    Inscrit en
    Août 2006
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 82
    Points : 81
    Points
    81
    Par défaut
    Je ne sais pas sic e que Vador a mis marche, mais pourquoi ne pas gérer l'erreure avant de l'avoir ?
    Tout le code que tu met pour enregistrer, met le dans un If avec la condition que ton champ soit remplie et si oui tu enregistre, si non tu envoi un message.
    SI tu utilise les generation d'access pour enregistrer je te conseil d'utiliser un recordset
    (Si tu ne sais pas comment cela s'utilise je l'ai expliqué ici :
    http://www.developpez.net/forums/sho...d.php?t=199292
    Et ça doit aussi être expliqué dans le tuto :p)

  10. #10
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 219
    Points : 108
    Points
    108
    Par défaut
    Citation Envoyé par vador972
    Ou as-tu essayé avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    DoCmd.SetWarnings False
    Puis le repasser à True à la fin de ta sub ? (Je ne sais pas si ça marchera).
    Citation Envoyé par Junior_jef
    J'ai essayé le setwarning a false, mais il m'affiche quand meme un message access. ....

    Quelqu'un aurait une idée?

    malheureusement, ca fonctionne pas

  11. #11
    Membre régulier Avatar de vador972
    Profil pro
    Inscrit en
    Août 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 71
    Points : 81
    Points
    81
    Par défaut
    Et la proposition de Sethouille ? Si t'as un numéro d'erreur tu dois forcément pouvoir l'intercepter....
    Si ta parole n'est pas aussi sage que le silence alors tais-toi !

  12. #12
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 219
    Points : 108
    Points
    108
    Par défaut
    Citation Envoyé par vador972
    Et la proposition de Sethouille ? Si t'as un numéro d'erreur tu dois forcément pouvoir l'intercepter....
    Le numéro de l'erreur, c'est 0. Et je n'arrive pas à l'intercepter

  13. #13
    Membre régulier
    Inscrit en
    Août 2006
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 82
    Points : 81
    Points
    81
    Par défaut
    Peux-tu nous envoyer ta base ?
    Jveux bien regarder ça de plus prés

  14. #14
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 219
    Points : 108
    Points
    108
    Par défaut
    Okay, mais je t'envoie ca comment?

    en tout cas, c est tres gentil de te poser sur mon probleme

  15. #15
    Membre régulier
    Inscrit en
    Août 2006
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 82
    Points : 81
    Points
    81
    Par défaut
    Euh bah ya pas une option expré pour donner les fichiers ?
    Regarde quand tu poste, il y a une option pice jointe ( petit trombone)

  16. #16
    Membre régulier Avatar de vador972
    Profil pro
    Inscrit en
    Août 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 71
    Points : 81
    Points
    81
    Par défaut
    J'avoue que je n'ai jamais eu ce genre d'erreur... Mais tu veux dire que dans ton cas, même si tu lui mets un ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Select Case Err.Number
      Case 0
        Resume Next
     
    End Select
    ... ça ne marche pas ?

    Même un...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    On Error Resume Next
    ....en début de code ?
    Si ta parole n'est pas aussi sage que le silence alors tais-toi !

  17. #17
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 219
    Points : 108
    Points
    108
    Par défaut
    Citation Envoyé par vador972
    J'avoue que je n'ai jamais eu ce genre d'erreur... Mais tu veux dire que dans ton cas, même si tu lui mets un ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Select Case Err.Number
      Case 0
        Resume Next
     
    End Select
    ... ça ne marche pas ?

    ....en début de code ?
    non ca ne marche pas, j'y travaille, je fais encore des tests, je vous tiens au courant

  18. #18
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 219
    Points : 108
    Points
    108
    Par défaut
    En fait, je viens de voir que, l'erreur se générait, lorsque la liste déroulante était a blanc(normal vu qu'elle est reliée à une table) et que je cliquais sur soit un autre controle, soit sur le pied de formulaire.

    Mais comment faire pour gérer m'erreur qui se produit dans ce cas la, à la place du message d'access?

  19. #19
    Membre régulier
    Inscrit en
    Août 2006
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 82
    Points : 81
    Points
    81
    Par défaut
    N'utilise pas les erreures d'access, mais gere tout ceci avec du code

  20. #20
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 219
    Points : 108
    Points
    108
    Par défaut
    Citation Envoyé par Sethouille
    N'utilise pas les erreures d'access, mais gere tout ceci avec du code
    C'est justement ce que j'essaie de faire


    Essayer de trouver ou je dois mettre le code pour que quand l'utilisateur mettra la liste déroulante à blanc, je ne le laisse pas ajouter de fiche, et le prévient par une msgbox que la liste doit etre non vide(et surtout je voudrais que le message d'access n'aparaisse pas).

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 0
    Dernier message: 12/04/2014, 14h54
  2. message d'erreur quand un champs est vide
    Par VIRGINIE87 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 22/02/2007, 12h13
  3. [VBA] Erreur de type de champs
    Par ip203 dans le forum Access
    Réponses: 2
    Dernier message: 11/01/2007, 17h33
  4. Message erreur Type défini par l'utilisateur non défini
    Par Michel DELAVAL dans le forum Access
    Réponses: 2
    Dernier message: 27/06/2006, 16h37
  5. Réponses: 5
    Dernier message: 13/03/2006, 15h51

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