DetailPage-MSS-KB

知識庫

文章編號: 242889 - 上次校閱: 2004年6月24日 - 版次: 3.0

 
中級使用者: 需要基本巨集]、 [程式碼撰寫,] 以及 [交互操作性技巧。

本文可套用於 [Microsoft Access 資料庫 (.mdb) 和 Microsoft Access 專案 (.adp)。

在此頁中

徵狀

在 Microsoft Access 2000 中 「 at 符號 (@),並不提供特殊的格式當您使用時 MsgBox 函式。

發生的原因

MsgBox 函式提供由 Microsoft Visual Basic 編輯器 (Vbe6.dll) 不支援格式所提供的 「 at 符號 (@)。

解決方案

有兩個可能的解決方案。一個解決方案是在巨集中使用 MsgBox 巨集 指令。其他解決方法是撰寫使用者定義函式,使用 Eval 函數來呼叫 MsgBox 函式。

建立巨集使用 MsgBox 巨集指令

  1. 在 [資料庫] 視窗中按一下 [物件,] 下的 [巨集],然後按一下 [新增]
  2. 在 [巨集] 視窗中按一下 動作,] 之下的箭號,然後再按一下 [動作] 清單中的 [Msgbox
  3. 按 F6,將指標移至 指令引數] 下的 [訊息] 方塊。
  4. 在 [訊息] 方塊中輸入下列訊息:
    錯誤 button!@This 按鈕不會 work.@Try 另一個。
  5. 在 [檔案] 功能表上按一下 [另存新檔,然後按一下 [確定] 以預設名稱儲存巨集]。
  6. 在 [執行] 功能表上按一下 [執行]。請注意訊息的第一列是粗體。

建立 FormattedMsgBox 函式

Eval 函數會強制應用程式運算式服務的 Visual Basic 來評估 MsgBox 函式分別從 Visual Basic 編輯器,因此能夠善加利用在正負號的格式設定。下列範例會使用使用者定義的函數名 FormattedMsgBox 為 MsgBox 函式代替。若要建立 FormattedMsgBox 函式,請依照下列步驟執行:
  1. 啟動 Microsoft Access。
  2. 開啟範例資料庫 Northwind.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. 當您要使用特殊格式所提供的 「 at 符號,呼叫 FormattedMsgBox 函式,而非內建的 MsgBox 函式。例如:
    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,您可以使用格式部分的訊息文字 MsgBox 函式中的符號。當您在 MsgBox 函式的文字中使用兩個在符號時,以分隔文字在 at 符號分隔成 [訊息] 方塊] 中以粗體文字的第一個段落的三個段落。

這項功能是由 Visual Basic 所提供,Microsoft Access 97 中的應用程式庫 (Vba332.dll)。Microsoft Visual Basic 編輯器的整合與 Microsoft Access 2000 不會再實作 Vba332.dll。

重製行為的步驟

  1. 啟動 Microsoft Access。
  2. 開啟範例資料庫 Northwind.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 中,格式化成三個個別的段落與文字 「 奇重要 」 在粗體,如下所示:
非常重要

這是無效的作業。

請參閱線上說明。

這篇文章中的資訊適用於:
  • Microsoft Access 2000 Standard Edition
關鍵字: 
kbmt kbprb KB242889 KbMtzh
機器翻譯機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:242889  (http://support.microsoft.com/kb/242889/en-us/ )
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。
共用
其他支援選項
Microsoft Community 支援論壇
直接與我們連絡
尋找 Microsoft 認證合作夥伴
Microsoft 市集