Devuelve un tipo de datos Variant (String) que contiene un expresión con formato según las instrucciones de una expresión de formato.
Advertencia Hay un problema con el uso de esta función. El último lunes en algunos años calendario se puede devolver como semana 53, cuando debería ser la semana 1. Para obtener más información y una solución alternativa, vea Las funciones Formato o ParcFecha pueden devolver un número de semana incorrecto para el lunes pasado en Año. |
Sintaxis
Format( expresión [, formato ] [, primer_día_semana ] [, primera_semana_año ] )
La sintaxis de la función Formato tiene estos argumentos:
Argumento |
Descripción |
expresión |
Requerido. Cualquier expresión válida. |
formato |
Opcional. Una expresión de formato válida definida por el usuario o con nombre. |
primer_día_semana |
Opcional. Una 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 formato puede usar una variedad de configuraciones, según el tipo de datos del argumento expresión . Consulte los artículos enumerados en la tabla siguiente para obtener más información sobre expresiones de formato válidas.
Para expresiones que usan este tipo de datos... |
Consulte el artículo |
Cualquier tipo |
|
Fecha y hora |
|
Numérico |
|
Texto y memorando |
|
Sí/No |
El argumento primer_día_semana tiene esta configuración:
Constante |
Valor |
Descripción |
vbUseSystem |
0 |
Use la configuración de la API NLS. |
VbSunday |
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 primera_semana_año tiene esta configuración:
Constante |
Valor |
Descripción |
vbUseSystem |
0 |
Use la configuración de la API NLS. |
vbFirstJan1 |
1 |
Comience 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 |
Realice este procedimiento |
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 con nombre o cree formatos de fecha y hora definidos por el usuario. |
Números de serie de fecha y hora |
Use 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 formato, Formato proporciona una funcionalidad similar a la función Str , aunque es consciente a nivel internacional. Sin embargo, los números positivos con formato de cadena que usan Formato no incluyen un espacio inicial reservado para el signo del valor; los convertidos usando Str conservan el espacio inicial.
Si va a dar formato a una cadena numérica no localizada, debe usar un formato numérico definido por el usuario para asegurarse de que obtiene el aspecto que desea.
Nota: Si el valor de la propiedad Calendario es gregoriano y el formato especifica el formato de fecha, la expresión suministrada debe ser gregoriana. Si el valor de la propiedad Calendario de Visual Basic es Hijri, la expresión suministrada debe ser Hijri.
Si el calendario es gregoriano, el significado de los símbolos de expresión 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 dan como resultado la visualización de texto (por ejemplo, AM y PM) muestran la cadena (inglés o árabe) asociada con ese símbolo. El rango de determinados 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 mes completos (los nombres de meses 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 usarla en una consulta como parte de un alias de campo o en la propiedad Origen del control de un cuadro de texto de un formulario o informe. En los ejemplos siguientes se muestra una expresión que puede usar en la propiedad Filter de un informe para limitar el resultado 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 concreto y que se usa en el informe. Al ejecutar el informe, sus 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 los valores mediante 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 la que se ejecuta el código. Cuando las horas y 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 código en ejecución, se usan el formato de hora corta y el formato de fecha corta de la configuración regional del sistema, que pueden diferir de la configuración regional del código. En este ejemplo, se supone que la configuración regional del inglés de Estados Unidos.
MyTime y MyDate se muestran en el entorno de desarrollo usando la configuración de tiempo corto del sistema actual y la configuración de fecha corta.
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".
Usar formato con cadenas de longitud cero
En la versión 2.0 y anteriores de Microsoft Access, podría usar la función Formato para devolver un valor para un 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 apropiado 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 para el caso Null y, a continuación, devolver el valor adecuado en función del resultado. Por ejemplo, podría usar la función SiInm en una expresión con la función Formato , como la siguiente:
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 que depende de si es una cadena de longitud cero o un valor Null. Otras expresiones de formato usadas con la función Formato siguen funcionando como 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 para el caso Null.