ACC2000: ignore de fonction MsgBox À signe (@) la mise en forme

Traductions disponibles Traductions disponibles
Numéro d'article: 242889 - Voir les produits auxquels s'applique cet article
Cet article a été archivé. Il est proposé « en l'état » et ne sera plus mis à jour.
Modéré : nécessite macro base, codage et compétences de l'interopérabilité.

Cet article s'applique à une base de données Microsoft Access (.mdb) et à un projet Microsoft Access (.adp).

Agrandir tout | Réduire tout

Sommaire

Symptômes

Dans Microsoft Access 2000, l'arobase (@) ne fournit pas mise en forme spéciale lorsque vous l'utilisez avec la fonction MsgBox .

Cause

La fonction MsgBox fournie par Microsoft Visual Basic Editor (Vbe6.dll) ne prend pas en charge la mise en forme fournie par l'arobase (@).

Résolution

Il existe deux solutions possibles. Une solution consiste à utiliser l'action BoîteMsg dans une macro. L'autre solution consiste à écrire une fonction définie par l'utilisateur qui utilise la fonction Eval pour appeler la fonction MsgBox .

Création d'une macro qui utilise l'action BoîteMsg

  1. Dans la fenêtre base de données, cliquez sur macros sous objets , puis cliquez sur Nouveau .
  2. Dans la fenêtre Macro, cliquez sur la flèche sous action , puis cliquez sur MsgBox dans la liste Action .
  3. Appuyez sur F6 pour déplacer le pointeur vers la zone message sous arguments de l'action .
  4. Tapez le message suivant dans la boîte de message :
    Bouton incorrect button!@This ne work.@Try un autre.
  5. Dans le menu Fichier , cliquez sur Enregistrer sous , puis cliquez sur OK pour enregistrer la macro avec le nom par défaut.
  6. Dans le menu exécuter , cliquez sur Exécuter . Notez que la première ligne du message est en gras.

Création de la fonction FormattedMsgBox

La fonction Eval force le Visual Basic pour applications expression service pour évaluer la fonction MsgBox séparément à partir de Visual Basic Editor et il est donc possible de tirer parti à la mise en forme de signe. L'exemple suivant utilise une fonction définie par l'utilisateur nommée FormattedMsgBox au lieu de la fonction MsgBox . Pour créer la fonction FormattedMsgBox, procédez comme suit :
  1. Démarrez Microsoft Access.
  2. Ouvrez la base de données exemple Comptoir.mdb sera modifiée.
  3. Créer un nouveau module.
  4. Ajoutez la procédure suivante dans le module :
    Function FormattedMsgBox(Prompt As String, _
                             Optional Buttons As VbMsgBoxStyle = vbOKOnly, _
                             Optional Title As String = "Microsoft Access", _
                             Optional HelpFile As Variant, _
                             Optional Context As Variant) As VbMsgBoxResult
        Dim strMsg As String
        If IsMissing(HelpFile) Or IsMissing(Context) Then
           strMsg = "MsgBox(" & Chr(34) & Prompt & Chr(34) & ", " & Buttons & _
                     ", " & Chr(34) & Title & Chr(34) & ")"
        Else
           strMsg = "MsgBox(" & Chr(34) & Prompt & Chr(34) & ", " & Buttons & _
                     ", " & Chr(34) & Title & Chr(34) & ", " & Chr(34) & _
                          HelpFile & Chr(34) & ", " & Context & ")"
        End If
        FormattedMsgBox = Eval(strMsg)
    End Function
    					
  5. Enregistrez le module en utilisant le nom par défaut qui s'affiche dans la zone Nom du module .
  6. Lorsque vous souhaitez utiliser la mise en forme spéciale fournie par le signe, appelez la fonction FormattedMsgBox au lieu de la fonction MsgBox intégrée. Par exemple :
    Sub TestMsgBox()
        Dim lngResult As Long
        lngResult = FormattedMsgBox("Extremely Important@This is an invalid operation.@Refer to online help.", _
            vbCritical + vbOkOnly, "Microsoft Access")
    End Sub
    					

Plus d'informations

Dans les versions antérieures de Microsoft Access, vous pouvez utiliser le signe à des portions de format du texte du message dans une fonction MsgBox . Lorsque vous utilisez deux à signe dans le texte de la fonction MsgBox , le texte délimité par le signe est séparé en trois paragraphes dans la zone de message, par le premier paragraphe de texte en gras.

Cette fonctionnalité est fournie par le Visual Basic pour applications bibliothèque (Vba332.dll) dans Microsoft Access 97. Grâce à l'intégration de Microsoft Visual Basic Editor, Microsoft Access 2000 implémente plus Vba332.dll.

Procédure pour reproduire le problème

  1. Démarrez Microsoft Access.
  2. Ouvrez la base de données exemple Comptoir.mdb sera modifiée.
  3. Créer un nouveau module.
  4. Ajoutez le code suivant dans le module :
    Option Compare Database
    Option Explicit
    
    Sub FormatMessage()
        Dim strMsgText As String
        strMsgText = "Extremely Important@This is an invalid operation.@" & _
                     "Refer to online help."
        MsgBox strMsgText
    End Sub
    					
  5. Exécuter cette procédure dans la fenêtre Exécution.
Notez que le message contient la chaîne littérale « très Important@This est un operation.@Refer non valide à l'aide en ligne. » Dans Microsoft Access 95 et 97, ce message en formaté en trois paragraphes distincts avec le texte « très important » en gras, semblable au suivant :
très important

Ceci est une opération non valide.

Voir l'aide en ligne.

Propriétés

Numéro d'article: 242889 - Dernière mise à jour: jeudi 13 février 2014 - Version: 3.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Access 2000 Standard Edition
Mots-clés : 
kbnosurvey kbarchive kbmt kbprb KB242889 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: 242889
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.

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