W Accessie 97 jest przyjemna możliwość formatowania stringów w oknie MsgBox.
Przykładowo jeśli napiszemy
MsgBox "Bardzo ważny komunikat!@Ta operacja nie jest dozwolona.@Zajrzyj do instrukcji."
- otrzymamu ładnie sformatowany, poniższy tekst:
Niestety Access 2000 ignoruje formatujące znaczenie znaków @ występujących w funkcji MsgBox
i ten sam tekst wyświetli tak:
Bardzo ważny komunikat!@Ta operacja nie jest dozwolona.@Zajrzyj do instrukcji.
Czy jest jakiś sposób, żeby sobie z tym poradzić?
MsgBox ("Tekst 1@Tekst 2@Tekst 3",36,"Tytuł")Eval ("MsgBox ('Tekst 1@Tekst 2@Tekst 3',36,'Tytuł')")
Bardziej kompleksowy przykład znalazłem w MSDM Library. Proponują tam napisanie własnej funkcji, której bedziemy używać w Accessie 2000, zamiast standardowego MsgBox. Oto ta funkcja:
Function FMsgBox(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('" & Prompt & "', " & Buttons & ", '" & Title & "')"
Else
strMsg = "MsgBox('" & Prompt & "', " & Buttons & ", '" & Title & _
"', '" & HelpFile & "', " & Context & ")"
End If
FMsgBox = Eval(strMsg)
End Function
'Wywołanie funkcji
FMsgBox ("Tekst 1@Tekst 2@Tekst 3",36,"Tytuł")