ACC2000: De functie MsgBox negeert apen staartje (@) opmaak

Vertaalde artikelen Vertaalde artikelen
Artikel ID: 242889 - Bekijk de producten waarop dit artikel van toepassing is.
Matig: Basic macro, codering en interoperabiliteit vaardigheden vereist.

Dit artikel heeft betrekking op een Microsoft Access-database (. mdb) en een Microsoft Access-project (. adp).

Alles uitklappen | Alles samenvouwen

Op deze pagina

Symptomen

In Microsoft Access 2000, het apen staartje (@) biedt geen speciale opmaak bij gebruik in combinatie met deMsgBoxfunctie.

Oorzaak

HetMsgBoxfunctie die door de Microsoft Visual Basic Editor (Vbe6. dll) biedt geen ondersteuning voor de opmaak van het apen staartje (@).

Oplossing

Er zijn twee mogelijke oplossingen. Eén oplossing is het gebruik van deMsgBoxactie in een macro. De andere oplossing is voor het schrijven van een door de gebruiker gedefinieerde functie die gebruikmaakt van deEvalaan te roepen functie deMsgBoxfunctie.

Een Macro maken die gebruikmaakt van de actie bericht venster

  1. Klik in het data base vensterMacro'sonderObjecten, en klik vervolgens opNieuwe.
  2. Klik in het Macro venster op de pijl onderActie, en klik vervolgens opMsgBoxin deActielijst.
  3. Druk op F6 om de aanwijzer naar deBerichtonder hetActie argumenten.
  4. Typ het volgende bericht in deBerichtvak:
    Verkeerde toets knop functie niet een andere.
  5. Op deBestandmenu, klikt u opOpslaan als, en klik vervolgens opOKde macro opslaan met de standaard naam.
  6. Op deUitvoerenmenu, klikt u opUitvoeren. Houd er rekening mee dat de eerste regel van het bericht vet is.

De FormattedMsgBox functie maken

HetEvalfunctie zorgt ervoor dat het Visual Basic for Applications expressieservice voor het evalueren van deMsgBoxfunctioneren onafhankelijk van Visual Basic-Editor, en daarom is het mogelijk om te profiteren van op teken opmaak. Het volgende voorbeeld wordt een gebruiker gedefinieerde functie met de naam FormattedMsgBox in plaats van deMsgBoxfunctie. De functie FormattedMsgBox maken, gaat u als volgt te werk:
  1. Start Microsoft Access.
  2. Open de voorbeeld data base Noordenwind. mdb.
  3. Maak een nieuwe module.
  4. De volgende procedure toevoegen aan de module:
    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. Sla de module met behulp van de standaard naam die wordt weer gegeven in deModulenaamvak.
  6. Wanneer u wilt gebruiken de speciale opmaak van het teken, roept de functie FormattedMsgBox in plaats van de ingebouwdeMsgBoxfunctie. Bijvoorbeeld:
    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
    					

Meer informatie

In eerdere versies van Microsoft Access, kunt u het teken op indeling delen van de tekst van het bericht in eenMsgBoxfunctie. Wanneer u twee tekens in de tekst van deMsgBoxfunctie en de tekst gescheiden door het teken is onderverdeeld in drie alinea's van het berichtvenster met de eerste alinea vet.

Deze functionaliteit wordt geleverd door Visual Basic for Applications library (Vba332. dll) in Microsoft Access 97. Met de integratie van Microsoft Visual Basic Editor in Microsoft Access 2000 niet meer Vba332. dll wordt geïmplementeerd.

Stappen om het gedrag te reproduceren

  1. Start Microsoft Access.
  2. Open de voorbeeld data base Noordenwind. mdb.
  3. Maak een nieuwe module.
  4. Voeg de volgende code in de module:
    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. Deze procedure uitvoeren in het venster Direct.
Opmerking dat het bericht de letterlijke teken reeks bevat "zeer Important@This is een ongeldig operation.@Refer on line Help." In Microsoft Access 95 en 97 wordt dit bericht is ingedeeld in drie afzonderlijke alinea's met de tekst "Zeer belangrijk" vet, vergelijkbaar met het volgende:
Zeer belangrijk

Dit is een ongeldige bewerking.

Raadpleeg de on line help.

Eigenschappen

Artikel ID: 242889 - Laatste beoordeling: dinsdag 1 maart 2011 - Wijziging: 2.0
De informatie in dit artikel is van toepassing op:
  • Microsoft Access 2000 Standard Edition
Trefwoorden: 
kbprb kbmt KB242889 KbMtnl
Automatisch vertaald artikel
BELANGRIJK: Dit artikel is vertaald door de vertaalmachine software van Microsoft in plaats van door een professionele vertaler. Microsoft biedt u professioneel vertaalde artikelen en artikelen vertaald door de vertaalmachine, zodat u toegang heeft tot al onze knowledge base artikelen in uw eigen taal. Artikelen vertaald door de vertaalmachine zijn niet altijd perfect vertaald. Deze artikelen kunnen fouten bevatten in de vocabulaire, zinsopbouw en grammatica en kunnen lijken op hoe een anderstalige de taal spreekt en schrijft. Microsoft is niet verantwoordelijk voor onnauwkeurigheden, fouten en schade ontstaan door een incorrecte vertaling van de content of het gebruik ervan door onze klanten. Microsoft past continue de kwaliteit van de vertaalmachine software aan door deze te updaten.
De Engelstalige versie van dit artikel is de volgende:242889

Geef ons feedback

 

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