Sujet: INFO: Le format du Message MsgBox en Access 2000
(Parution initiale, le 9/30/99)
Sous Access 97, la fonction MsgBox possède une syntaxe documentée permettant d'utiliser des formats à même le message de par l'utilisation du caractère arobas, @, ou qui fera appel au compagnon d'Office si celui-ci est activable. Par exemple, directement du fichier d'aide d'Access 97: MsgBox "Wrong button!@This button doesn't work.@Try another.", _
vbOKOnly + vbExclamation
Sous Access 2000 (qui intègre VBE, le Visual Basic Editor), le dialogue du MsgBox de VBA ne fait pas appel à celui d'Access pour effectuer son travail et vous perdez tant le format que la possibilité d'utiliser automatiquement le compagnon d'Office pour présenter vos messages. Mais il y a une façon de rétablir la situation!
Simplement en utilisant la fonction Eval, votre appel sera acheminé de par le service d'évaluation (Expression Service), qui permet d'interfacer Access avec Jet, et la version VBA d'Access du MsgBox sera utilisée, récupérant ainsi les fonctionnalités d'Access 97:
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
Voici la différence, je vous laisse seul juge:
MsgBox "Wrong button!@This button doesn't work.@Try Another.",
vbOKOnly + vbExclamation, "My Application"
FormattedMsgBox "Wrong button!@This button doesn't work.@Try Another.",
vbOKOnly + vbExclamation, "My Application"