ACC2000: Omite MsgBox (función) en el signo (@) formato

Seleccione idioma Seleccione idioma
Id. de artículo: 242889 - Ver los productos a los que se aplica este artículo
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Moderada: Requiere macro básico, codificación y las capacidades de interoperabilidad.

Este artículo hace referencia a una base de datos de Microsoft Access (.mdb) y a un proyecto de Microsoft Access (.adp).

Expandir todo | Contraer todo

En esta página

Síntomas

En Microsoft Access 2000, la arroba (@) no proporciona un formato especial cuando se utiliza con la función MsgBox .

Causa

La función MsgBox proporcionada por el Editor de Visual Basic de Microsoft (Vbe6.dll) no admite el formato proporcionado por la arroba (@).

Solución

Hay dos soluciones posibles. Una solución es usar la acción MsgBox en una macro. La otra solución consiste en escribir una función definida por el usuario que utiliza la función Eval para llamar a la función MsgBox .

Crear una macro que utiliza la acción CuadroMsj

  1. En la ventana base de datos, haga clic en macros bajo objetos y, a continuación, haga clic en nuevo .
  2. En la ventana Macro, haga clic en la flecha situada debajo de acción y, a continuación, haga clic en MsgBox en la lista acción .
  3. Presione F6 para mover el puntero en el cuadro de mensaje en Argumentos de acción .
  4. Escriba el mensaje siguiente en el cuadro de mensaje :
    Botón button!@This incorrecto no work.@Try otro.
  5. En el menú archivo , haga clic en Guardar como y, a continuación, haga clic en Aceptar para guardar la macro con el nombre predeterminado.
  6. En el menú Ejecutar , haga clic en Ejecutar . Tenga en cuenta que la primera línea del mensaje es negrita.

Crear la función FormattedMsgBox

La función Eval fuerza el Visual Basic para aplicaciones de servicio de expresión para evaluar la función MsgBox por separado desde el Editor de Visual Basic y, por lo tanto, es posible aprovechar en formato de inicio de sesión. En el ejemplo siguiente se utiliza una función de definido por el usuario denominada FormattedMsgBox en lugar de la función MsgBox . Para crear la función FormattedMsgBox, siga estos pasos:
  1. Inicie Microsoft Access.
  2. Abra la base de datos de ejemplo Neptuno.mdb.
  3. Cree un nuevo módulo.
  4. Agregue el procedimiento siguiente al módulo:
    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. Guarde el módulo con el nombre predeterminado que aparece en el cuadro Nombre .
  6. Cuando desea utilizar el formato especial proporcionado por la arroba, llamar a la función de FormattedMsgBox en lugar de la función MsgBox integrada. Por ejemplo:
    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
    					

Más información

En versiones anteriores de Microsoft Access, puede utilizar la arroba a partes de formato del texto del mensaje en una función MsgBox . Al utilizar dos en signos de dos en el texto de la función MsgBox , el texto delimitado por el símbolo se divide en tres párrafos en el cuadro de mensaje con el primer párrafo en negrita.

Esta funcionalidad se proporciona con Visual Basic para aplicaciones de biblioteca (Vba332.dll) en Microsoft Access 97. Con la integración del Editor de Visual Basic de Microsoft, Microsoft Access 2000 ya no implementa Vba332.dll.

Pasos para reproducir este comportamiento

  1. Inicie Microsoft Access.
  2. Abra la base de datos de ejemplo Neptuno.mdb.
  3. Cree un nuevo módulo.
  4. Agregue el código siguiente al módulo:
    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. Ejecutar este procedimiento en la ventana Inmediato.
Observe que el mensaje contiene la cadena literal "extremadamente Important@This es un operation.@Refer no válido para la Ayuda en pantalla." En Microsoft Access 95 y 97, este mensaje tiene formato en tres párrafos independientes con el texto "Extremadamente importante" en negrita, similar al siguiente:
muy importante

Ésta es una operación no válida.

Consulte la Ayuda en línea.

Propiedades

Id. de artículo: 242889 - Última revisión: martes, 11 de febrero de 2014 - Versión: 3.0
La información de este artículo se refiere a:
  • Microsoft Access 2000 Standard Edition
Palabras clave: 
kbnosurvey kbarchive kbmt kbprb KB242889 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 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