Función formato

Se aplica a
Access para Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Devuelve un tipo de dato Variant (String) que contiene una expresión con formato conforme a las indicaciones incluidas en una expresión de formato.

Advertencia Hay un problema con el uso de esta función. El último lunes de algunos años naturales se puede devolver como semana 53 cuando debería ser la semana 1. Para obtener más información y una solución alternativa, consulte Formato o ParcFecha Las funciones pueden devolver un número de semana incorrecto para el último lunes del año.

Ver algunos ejemplos

Sintaxis

Format( *expression [, format ] [, firstdayofweek ] [, firstweekofyear ] )

La sintaxis de la función Formato consta de los siguientes argumentos:

Argumento Descripción
expresión Obligatorio. Cualquier expresión válida.
formato Opcional. Una expresión de formato válida con nombre o definida por el usuario.
primer_día_semana Opcional. Constante que especifica el primer día de la semana.
primera_semana_año Opcional. Constante que especifica la primera semana del año.

    

Configuración

El argumento de formato puede usar diversas opciones de configuración, según el tipo de datos del argumento de expresión. Consulte los artículos enumerados en la tabla siguiente para obtener más información sobre expresiones de formato válidas.

Para las expresiones que usan este tipo de datos... Ver el artículo
Cualquier tipo Format (propiedad)
Fecha y hora Aplicar formato a un campo de fecha y hora
Numérico Aplicar formato a un campo de moneda o número
Texto y memorando Aplicar formato a un campo de texto
Sí/No Format (propiedad) - Tipo de datos Sí/No

    

El argumento firstdayofweek tiene estas opciones de configuración:

Constante Valor Descripción
vbUseSystem 0 Utilice la configuración de API de NLS.
Domingo de VBW 1 Domingo (predeterminado)
vbMonday 2 Lunes
vbTuesday 3 Martes
vbWednesday 4 Miércoles
vbThursday 5 Jueves
vbFriday 6 Viernes
vbSaturday 7 Sábado

    

El argumento firstweekofyear tiene estas configuraciones:

Constante Valor Descripción
vbUseSystem 0 Utilice la configuración de API de NLS.
vbFirstJan1 1 Empiece con la semana en la que se produce el 1 de enero (predeterminado).
vbFirstFourDays 2 Comience con la primera semana que tenga al menos cuatro días en el año.
vbFirstFullWeek 3 Comience con la primera semana completa del año.

    

Observaciones

Para dar formato Haz esto
Números Use formatos numéricos con nombre predefinidos o cree formatos numéricos definidos por el usuario.
Fechas y horas Use formatos de fecha y hora predefinidos o cree formatos de fecha y hora definidos por el usuario.
Números de serie de fecha y hora Utilice formatos de fecha y hora o formatos numéricos.
Cadenas Cree sus propios formatos de cadena definidos por el usuario.

    

Si intenta dar formato a un número sin especificar el formato, el formato proporciona una funcionalidad similar a la función Cad , aunque sea compatible internacionalmente. Sin embargo, los números positivos con formato de cadenas mediante formato no incluyen un espacio inicial reservado para el signo del valor; los convertidos con Str conservan el espacio inicial.

Si va a aplicar formato a una cadena numérica no localizada, debe usar un formato numérico definido por el usuario para asegurarse de obtener el aspecto que desea.

Nota

Si el valor de la propiedad Calendar es gregoriano y el formato especifica el formato de fecha, la expresión proporcionada debe ser gregoriana. Si el valor de la propiedad de Visual Basic Calendar es Hijri, la expresión proporcionada debe ser Hijri.

Si el calendario es gregoriano, el significado de los símbolos de expresiones de formato no cambia. Si el calendario es Hijri, todos los símbolos de formato de fecha (por ejemplo, dddd, mmmm, aaaa) tienen el mismo significado, pero se aplican al calendario Hijri. Los símbolos de formato permanecen en inglés; Los símbolos que hacen que se muestre texto (por ejemplo, a. m. y p. m.) muestran la cadena (inglés o árabe) asociada a ese símbolo. El rango de ciertos símbolos cambia cuando el calendario es Hijri.

Símbolo Rango
d 1-30
dd 1-30
ww 1-51
mmm Muestra los nombres de los meses completos (los nombres de los meses de Hijri no tienen abreviaturas).
y 1-355
yyyy 100-9666

Ejemplos

Usar la función Formato en una expresión Puede usar Formato siempre que pueda usar expresiones. Por ejemplo, puede usarlo en una consulta como parte de un alias de campo, o bien en la propiedad Origen del control de un cuadro de texto en un formulario o informe. En los ejemplos siguientes se muestra una expresión que podría usar en la propiedad Filter de un informe para limitar la salida a los registros de la semana anterior.

Format([Date],"ww")=Format(Now(),"ww")-1

En este ejemplo, el origen de registros del informe tiene un campo denominado Fecha, que contiene la fecha en que se modificó cada registro en particular y que se utiliza en el informe. Al ejecutar el informe, los resultados se filtran para mostrar solo aquellos registros en los que la semana del valor del campo Fecha (Formato([Fecha],"ww")) es igual a la semana anterior (Formato(Ahora(),"ww")-1).

Usar la función Formato en código VBA 

Nota

Los ejemplos siguientes muestran el uso de esta función en un módulo de Visual Basic para Aplicaciones (VBA). Para obtener más información sobre cómo trabajar con VBA, seleccione referencia para desarrolladores en la lista desplegable situada junto a búsqueda y escriba uno o varios términos en el cuadro de búsqueda.

En este ejemplo se muestran varios usos de la función Formato para dar formato a valores utilizando formatos con nombre y formatos definidos por el usuario. Para el separador de fecha (/), el separador de hora (:) y el literal AM/PM, la salida con formato real que muestra el sistema depende de la configuración regional del equipo en el que se ejecuta el código. Cuando las horas y las fechas se muestran en el entorno de desarrollo, se usan el formato de hora corta y el formato de fecha corta de la configuración regional del código. Cuando se muestra mediante la ejecución de código, se usa el formato de hora corta y el formato de fecha corta de la configuración regional del sistema, que puede diferir de la configuración regional del código. En este ejemplo, se asume la configuración regional en inglés de EE. UU.

MyTime y MyDate se muestran en el entorno de desarrollo utilizando la configuración de tiempo corto y la configuración de fecha corta del sistema actual.

Dim MyTime, MyDate, MyStr
MyTime = #17:04:23#
MyDate = #January 27, 1993#
' Returns current system time in the system-defined long time format.
MyStr = Format(Time, "Long Time")
' Returns current system date in the system-defined long date format.
MyStr = Format(Date, "Long Date")
MyStr = Format(MyTime, "h:m:s")    ' Returns "17:4:23".
MyStr = Format(MyTime, "hh:mm:ss AMPM")    ' Returns "05:04:23 PM".
MyStr = Format(MyDate, "dddd, mmm d yyyy")    ' Returns "Wednesday,
    ' Jan 27 1993".
' If format is not supplied, a string is returned.
MyStr = Format(23)    ' Returns "23".
' User-defined formats.
MyStr = Format(5459.4, "##,##0.00")    ' Returns "5,459.40".
MyStr = Format(334.9, "###0.00")    ' Returns "334.90".
MyStr = Format(5, "0.00%")    ' Returns "500.00%".
MyStr = Format("HELLO", "<")    ' Returns "hello".
MyStr = Format("This is it", ">")    ' Returns "THIS IS IT".

      

Uso de formato con cadenas de longitud cero

En la versión 2.0 de Microsoft Access y anteriores, podía usar la función Formato para devolver un valor para una cadena de longitud cero y otro para un valor. Por ejemplo, podría usar una expresión de formato como la siguiente con la función Formato para devolver el valor de cadena adecuado del código:

Dim varX As Variant
Dim varStrX As Variant
' Assign some value to varStrX and pass to Format function.
varX = Format(varStrX, "@;ZLS;Null")

En las versiones 97 y posteriores de Microsoft Access, debe probar por separado el caso nulo y, después, devolver el valor apropiado en función del resultado. Por ejemplo, podría usar la función SiInm en una expresión con la función Formato , como se muestra a continuación:

varX = IIf(IsNull(varStrX),"Null", Format(varStrX, "@;ZLS"))

Este cambio solo se aplica cuando se usa la función Formato para dar formato a una cadena en función de si se trata de una cadena de longitud cero o de un valor nulo. Otras expresiones de formato usadas con la función Formato siguen funcionando igual que en versiones anteriores.

Si convierte una base de datos de Microsoft Access versión 2.0 y anteriores a Microsoft Access 2002 o posterior, debe cambiar el código para probar por separado el caso nulo.

Funciones de cadena y cómo usarlas