ACC2000: Funkce MsgBox ignoruje At Sign (@) formátování

Překlady článku Překlady článku
ID článku: 242889 - Produkty, které se vztahují k tomuto článku.
Tento článek byl archivován. Je nabízen v takovém stavu, v jakém je, a nebude již nadále aktualizován.
Střední: Vyžaduje základní dovednosti v oblasti maker, kódování a práce v různých prostředích.

Tento článek se týká databází aplikace Microsoft Access (MDB) a projektů aplikace Microsoft Access (ADP).

Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Příznaky

V aplikaci Access 2000 zavináč (@) neposkytuje speciální formátování při použití s funkce MsgBox.

Příčina

Funkce MsgBox poskytované službou Microsoft Visual Basic Editor (Vbe6.dll) nepodporuje formátování poskytované zavináč (@).

Řešení

Existují dvě možná řešení. Řešením je použít v makru akci OknoSeZprávou. Jiné řešení je zapisovat uživatelem definované funkce, které používá funkci Eval volání funkce MsgBox.

Vytvoření makra akce OknoSeZprávou používá

  1. V okně databáze v oblasti objekty klepněte na tlačítko makra a poté klepněte na tlačítko Nový.
  2. V okně Makro klepněte na šipku ve skupinovém rámečku Akce a potom v seznamu klepněte na tlačítko Msgbox.
  3. Stisknutím klávesy F6 přesuňte ukazatel myši do pole zpráva v části Argumenty akce.
  4. Do pole zpráva zadejte následující zpráva:
    Nesprávné tlačítko!@toto tlačítko není tlačítko jiný.
  5. V nabídce soubor klepněte na příkaz Uložit jako a potom klepněte na tlačítko OK Uložit makro s výchozí název.
  6. V nabídce Spustit klepnutím na tlačítko Spustit. Poznámka: první řádek zprávy je tučný.

Vytváření funkce FormattedMsgBox

Funkci Eval vynutí Visual Basic for Applications výraz služba vyhodnotit funkce MsgBox samostatně z editoru Visual Basic a proto je možné využít při formátování znaménko. Následující příklad používá uživatelem definované funkce s názvem FormattedMsgBox namísto funkce MsgBox. Funkci FormattedMsgBox vytvoříte takto:
  1. Spusťte aplikaci Microsoft Access.
  2. Otevřete ukázkovou databázi Northwind.mdb.
  3. Vytvořte nový modul.
  4. Přidání do modulu následující postup:
    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. Uložte modul pomocí výchozí název, který se zobrazí v poli Název modulu.
  6. Pokud chcete použít speciální formátování poskytované znak, volání funkce FormattedMsgBox namísto vestavěné funkce MsgBox. Například:
    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
    					

Další informace

V dřívějších verzích aplikace Microsoft Access můžete použít znak formátu části textu zprávy v funkce MsgBox. Při použití dvou na znaky v textu funkce MsgBox odděleny text znakem rozdělena do tři odstavce v poli zpráv s první odstavec tučného textu.

Tato funkce poskytované Visual Basic pro Applications knihovnu (Vba332.dll) v aplikaci Microsoft Access 97. Integrace programu Visual Basic Editor Microsoft Access 2000 již implementuje Vba332.dll.

Kroky pro reprodukci chování

  1. Spusťte aplikaci Microsoft Access.
  2. Otevřete ukázkovou databázi Northwind.mdb.
  3. Vytvořte nový modul.
  4. Do modulu přidejte následující kód:
    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. Tuto proceduru spustit v okně Immediate.
Poznámka: zpráva obsahuje řetězcový literál "velmi important@This je neplatný operation.@Refer k online nápovědě." V Microsoft Access 95 a 97 je formátován tuto zprávu do tři samostatné odstavce s textem "Velmi důležitý" v tučné, podobná následující:
Velmi důležitý

Toto je neplatná operace.

Naleznete v nápovědě online.

Vlastnosti

ID článku: 242889 - Poslední aktualizace: 23. ledna 2014 - Revize: 3.0
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Access 2000 Standard Edition
Klíčová slova: 
kbnosurvey kbarchive kbmt kbprb KB242889 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:242889

Dejte nám zpětnou vazbu

 

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