ACC : Comment faire pour remplacer le message d'erreur de masque de saisie par défaut

Traductions disponibles Traductions disponibles
Numéro d'article: 120567 - Voir les produits auxquels s'applique cet article
Avancé : La nécessité de codage expert, l'interopérabilité et compétences multi-utilisateur.

Agrandir tout | Réduire tout

Résumé

Cet article vous montre comment substituer votre propre message personnalisé pour le message d'erreur générique qui se produit lorsque vous violez un masque de saisie. Le générique message d'erreur pour violation du masque de saisie est :
La valeur que vous avez entré n'est pas appropriée au masque de saisie '! \(999")" 000\-0000; _ ' spécifiée pour ce champ.
Cet article suppose que vous êtes familiarisé avec Visual Basic pour applications et la création d'applications de Microsoft Access à l'aide des outils de programmation fournis avec Microsoft Access. Pour plus d'informations sur Visual Basic pour applications, reportez-vous à votre version du manuel «Création d'applications avec Microsoft Access».

Remarque : Visual Basic pour applications est appelé Access Basic dans Microsoft Access version 2.0. Pour plus d'informations sur Access Basic, reportez-vous au manuel «Création d'applications».

Plus d'informations

Vous pouvez intercepter les violations de masque de saisie et remplacer votre message d'erreur personnalisé pour le message d'erreur générique dans l'événement d'erreur du formulaire. L'exemple de code Visual Basic suivant illustre cette méthode :

Dans Microsoft Access 7.0 et 97 :
   Private Sub Form_Error (DataErr As Integer, Response As Integer)
      Const INPUTMASK_VIOLATION = 2279
      If DataErr = INPUTMASK_VIOLATION Then
         MsgBox "There was an input mask violation!"
         Response = acDataErrContinue
      End If
   End Sub
				
dans Access 2.0 :
   Sub Form_Error (DataErr As Integer, Response As Integer)
      Const INPUTMASK_VIOLATION = 2279
      If DataErr = INPUTMASK_VIOLATION Then
         MsgBox "There was an input mask violation!"
         Response = DATA_ERRCONTINUE
      End If
   End Sub
				
définition le paramètre Response sur acDataErrContinue (ou DATA_ERRCONTINUE dans la version 2.0) vous permet de vous ignorer l'erreur et continue sans afficher le message d'erreur par défaut. Vous pouvez ensuite fournir un message d'erreur personnalisé in place of la valeur par défaut.

Si vous avez plusieurs contrôles sur votre formulaire avec différents masques de saisie, vous pouvez utiliser Screen.ActiveControl.Name pour obtenir le nom du contrôle à l'origine de l'erreur. L'exemple de code suivant illustre cette méthode pour un formulaire avec numéro de téléphone, le numéro de sécurité sociale et les champs code postal :

Dans Microsoft Access 7.0 et 97 :
   Private Sub Form_Error (DataErr As Integer, Response As Integer)
      Const INPUTMASK_VIOLATION = 2279
      Dim Msg As String
      If DataErr = INPUTMASK_VIOLATION Then
         Select Case Screen.ActiveControl.Name
            Case "Phone"
               Beep
               MsgBox "The phone number you entered is invalid!"
            Case "SSN"
               Beep
               MsgBox "The SSN you entered is invalid!"
            Case "Zip"
               Beep
               MsgBox "The ZIP code you entered is invalid!"
            Case Else
               Beep
               Msg = "An input mask violation occurred in control "
               Msg = Msg & Screen.ActiveControl.Name & "!"
         End Select
         Response = acDataErrContinue
      End If
   End Sub
				
dans Microsoft Access 2.0 :
   Sub Form_Error (DataErr As Integer, Response As Integer)
      Const INPUTMASK_VIOLATION = 2279
      Dim Msg As String
      If DataErr = INPUTMASK_VIOLATION Then
         Select Case Screen.ActiveControl.Name
            Case "Phone"
               Beep
               MsgBox "The phone number you entered is invalid!"
            Case "SSN"
               Beep
               MsgBox "The SSN you entered is invalid!"
            Case "Zip"
               Beep
               MsgBox "The ZIP code you entered is invalid!"
            Case Else
               Beep
               Msg = "An input mask violation occurred in control "
               Msg = Msg & Screen.ActiveControl.Name & "!"
         End Select
         Response = DATA_ERRCONTINUE
      End If
   End Sub
				

Références

Pour plus d'informations sur la procédure événementielle Error, recherchez l'index de l'aide de «Erreur».

Pour plus d'informations sur l'objet Screen, recherchez l'index de l'aide de «Écran».

Propriétés

Numéro d'article: 120567 - Dernière mise à jour: vendredi 19 janvier 2007 - Version: 2.4
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Access 2.0 Standard
  • Microsoft Access 95 Standard
  • Microsoft Access 97 Standard
Mots-clés : 
kbmt kberrmsg kbhowto kbprogramming kbusage KB120567 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 120567
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.
Exclusion de responsabilité concernant les contenus obsolètes dans la Base de connaissances
Cet article concerne des produits pour lesquels Microsoft n'offre plus de support. Il est par conséquent fourni « en l'état » et ne sera plus mis à jour.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com