Estás trabajando sin conexión, espera a que vuelva la conexión a Internet

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

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
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).

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 DatabaseOption ExplicitSub FormatMessage()    Dim strMsgText As String    strMsgText = "Extremely Important@This is an invalid operation.@" & _                 "Refer to online help."    MsgBox strMsgTextEnd 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.
PRB

Advertencia: este artículo se tradujo automáticamente

Propiedades

Id. de artículo: 242889 - Última revisión: 02/11/2014 09:24:09 - Revisión: 3.0

Microsoft Access 2000 Standard Edition

  • kbnosurvey kbarchive kbmt kbprb KB242889 KbMtes
Comentarios