---Soumis par Michael Kaplan---
En Access 97, la fonction MsgBox possède une syntaxe documentée pour créer des messages formatés en utilisant l'arobas, @ , et qui utilise l'assistant d'Office, si ce dernier est actif. Par exemple, la ligne
Msgbox "Bold Line@Plain Line@Another Plain Line", _ vbInformation+vbOKOnly, _ "Formatting sample"produit une première ligne en caractères gras.
Access 2000 (qui intègre VBE, le Visual Basic Editor), la fonction VBA MsgBox n'appelle pas Access pour effectuer ce travail et on perd ainsi ces fonctionnalités, mais il y a une façon de contourner le problème!
En utilisant la fonction Eval, l'appel utilise le Expression Service qui s'interface avec Access et Jet pour desservir la fonction MsgBox et ainsi, utilisera la version d'Access au lieu de la version de VBA. On peut donc utiliser la fonction suivante pour récupérer les fonctionnalités d'Access 97:
' *********** Code Start ********** Function FormattedMsgBox( _ Prompt As String, _ Optional Buttons As VbMsgBoxStyle = vbOKOnly, _ Optional Title As String = vbNullString, _ Optional HelpFile As Variant, _ Optional Context As Variant) _ As VbMsgBoxResult If IsMissing(HelpFile) Or IsMissing(Context) Then FormattedMsgBox = Eval("MsgBox(""" & Prompt & _ """, " & Buttons & ", """ & Title & """)") Else FormattedMsgBox = Eval("MsgBox(""" & Prompt & _ """, " & Buttons & ", """ & Title & """, """ & _ HelpFile & """, " & Context & ")") End If End Function ' *********** Code End **********Si votre application compte beaucoup sur la présentation du genre de celle de Access 97, vous pouvez toujours fabriquer vos propres boîtes de dialogue, en remplacement. Un tel exemple est fourni par Arvin Meyer.
Data Strategies
(Repérer, dans la section Downloads, Custom MsgBox Creator.)