ACC2000: Функции MsgBox игнорирует В знак (@) формат

Переводы статьи Переводы статьи
Код статьи: 242889 - Vizualiza?i produsele pentru care se aplic? acest articol.
Средних: Требуется основные макрос, кодирования и навыков взаимодействия.

Данная статья относится к базам данных Microsoft Access (MDB-файлам) и проектам Microsoft Access (ADP-файлам)..

Развернуть все | Свернуть все

В этой статье

Проблема

В Microsoft Access 2000 знак (@) не обеспечивает специальное форматирование, при использовании сMsgBoxfunction:.

Причина

надписьюMsgBoxфункции, предоставляемые в редакторе Microsoft Visual Basic (Vbe6.dll) не поддерживает форматирование, предоставляемые знак (@).

Решение

Существует два возможных решения. Одним из решений является использованиеMsgBoxдействие в макросе. Другим решением является написание определяемую пользователем функцию, которая использует"Eval"функция вызватьMsgBoxfunction:.

Создание макроса, использующего действие MsgBox

  1. В окне базы данных нажмите кнопкуМакросы.Из спискаОбъектыи выберите командуСОЗДАТЬ..
  2. В окне макроса щелкните стрелку в полеуказанного действия.и выберите командуMsgBoxВ диалоговом окнеуказанного действия.LIST.
  3. Нажмите клавишу F6 для перемещения указателяMessageв группеАргументы действия.
  4. Введите сообщение вMessageполе:
    Неправильный кнопка!@эта кнопка не работает.@Нажмите другую.
  5. в менюФайл:выберите пунктСохранить каки выберите командуOk.для сохранения макроса с именем по умолчанию.
  6. в менюВыполнитьвыберите пунктВыполнить. Обратите внимание, что первая строка сообщения полужирным шрифтом.

Создание функции FormattedMsgBox

надписью"Eval"функция вызывает Visual Basic для приложений службы выражение для вычисленияMsgBoxфункция отдельно от редактора Visual Basic, поэтому он является возможность использовать преимущества в знак форматирования. В следующем примере пользовательская функция с именем FormattedMsgBox вместоMsgBoxfunction:. Чтобы создать функцию FormattedMsgBox, выполните следующие действия.
  1. Запустите Microsoft Access..
  2. Откройте учебную базу данных Борей.mdb..
  3. Создайте новый модуль.
  4. Добавьте в модуль следующую процедуру:
    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. Сохраните модуль с использованием имени по умолчанию, отображаемый вИмя модуля:поле.
  6. Если требуется использовать специальное форматирование, предоставляемые знак, вызовите функцию FormattedMsgBox вместо встроенныхMsgBoxfunction:. Например,:
    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
    					

Дополнительная информация

В более ранних версиях Microsoft Access, можно использовать знак формата части текста сообщенияMsgBoxfunction:. При использовании двух на знаки в текстеMsgBoxфункции, а текст, разделенных знаком разделены на три абзаца, в окне сообщения с первого абзаца с жирным шрифтом.

Эта функциональная возможность обеспечивается Visual Basic для библиотеки приложения (Vba332.dll) в Microsoft Access 97. Благодаря интеграции редактор Microsoft Visual Basic Microsoft Access 2000 больше не реализует Vba332.dll.

Действия для воспроизведения поведения:

  1. Запустите Microsoft Access..
  2. Откройте учебную базу данных Борей.mdb..
  3. Создайте новый модуль.
  4. Добавьте в модуль следующий код:
    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. Запустите эту процедуру в окне интерпретации.
Обратите внимание, что сообщение содержит строковый литерал "очень Important@This является недопустимым operation.@Refer онлайн-справку.» В Microsoft Access 95 и 97, это сообщение имеет формат на три отдельные абзацы с текстом "Крайне важно" в полужирный, подобную следующей:
Очень важно

Это является недопустимой операцией.

Обратитесь к интерактивной справке.

Свойства

Код статьи: 242889 - Последний отзыв: 18 ноября 2010 г. - Revision: 2.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Access 2000 Standard Edition
Ключевые слова: 
kbprb kbmt KB242889 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:242889

Отправить отзыв

 

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