Funzione Format

Si applica a
Access per Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Restituisce un valore Variant (String) contenente un'espressione formattata secondo le istruzioni contenute in un'espressione di formato.

Avviso Si è verificato un problema con l'uso di questa funzione. L'ultimo lunedì di alcuni anni di calendario può essere restituito come settimana 53 quando dovrebbe essere la settimana 1. Per altre informazioni e una soluzione alternativa, vedere Le funzioni Format o DatePart possono restituire un numero errato della settimana per il lunedì scorso in anno.

Vedere alcuni esempi

Sintassi

Format( *espressione [, formato ] [, primogiornosettimana ] [, primasettimanaanno ] )

La sintassi della funzione Format ha gli argomenti seguenti:

Argomento Descrizione
espressione Obbligatorio. Qualsiasi espressione valida.
formato Facoltativo. Espressione di formato valida denominata o definita dall'utente.
primogiornosett Facoltativo. Costante che specifica il primo giorno della settimana.
primasettanno Facoltativo. Una costante che specifica la prima settimana dell'anno.

    

Impostazioni

L'argomento formato può usare diverse impostazioni, a seconda del tipo di dati dell'argomento espressione . Vedere gli articoli elencati nella tabella seguente per altre informazioni sulle espressioni di formato valide.

Per le espressioni che usano questo tipo di dati... Vedere l'articolo
Qualsiasi tipo Proprietà .Formato
Data/ora Formattare un campo di data e ora
Numerico Formattare un campo numerico o di valuta
Testo e memo Formattare un campo di testo
Sì/No Proprietà .Formato - Tipo di dati Sì/No

    

L'argomento primogiornosett ha le impostazioni seguenti:

Costante valore Descrizione
vbUseSystem 0 Viene usata l'impostazione di NLS API.
VbSunday 1 Domenica (impostazione predefinita)
vbMonday 2 Lunedì
vbTuesday 3 Martedì
vbWednesday 4 Mercoledì
vbThursday 5 Giovedì
vbFriday 6 Venerdì
vbSaturday 7 Sabato

    

L'argomento primasettanno ha le impostazioni seguenti:

Costante valore Descrizione
vbUseSystem 0 Viene usata l'impostazione di NLS API.
vbFirstJan1 1 La prima settimana è quella in cui cade l'1 gennaio (impostazione predefinita).
vbFirstFourDays 2 La prima settimana corrisponde alla prima che contiene almeno quattro giorni nell'anno.
vbFirstFullWeek 3 La prima settimana corrisponde alla prima settimana completa dell'anno.

    

Osservazioni

Elemento da formattare Operazione da eseguire
Numeri Usare formati numerici denominati predefiniti o creare formati numerici definiti dall'utente.
Date e ore Usare formati di data/ora denominati predefiniti o creare formati di data/ora definiti dall'utente.
Numeri seriali di data e ora Usare formati di data e ora o formati numerici.
Stringhe Creare formati di stringa personalizzati definiti dall'utente.

    

Se si prova a formattare un numero senza specificare formato, Format offre funzionalità simili a quelle della funzione Str, ma con supporto a livello internazionale. I numeri positivi formattati come stringhe usando Format non includono tuttavia uno spazio iniziale riservato per il segno del valore, mentre quelli convertiti con Str mantengono lo spazio iniziale.

Se si sta formattando una stringa numerica non localizzata, usare un formato numerico definito dall'utente per assicurarsi di ottenere l'aspetto desiderato.

Nota

Se la proprietà Calendario è impostata su Gregoriano e formato specifica la formattazione della data, il valore di espressione fornito deve essere Gregoriano. Se l'impostazione della proprietà Calendario di Visual Basic è Hijri, il valore di espressione fornito deve essere Hijri.

Se il calendario è gregoriano, il significato del formato dei simboli di espressione rimane invariato. Se il calendario è Hijri, tutti i simboli del formato data, ad esempio gggg, mmmm, aaaa, hanno lo stesso significato, ma si applicano al calendario Hijri. I simboli di formato rimangono in inglese; I simboli che determinano la visualizzazione del testo, ad esempio AM e PM, visualizzano la stringa (inglese o arabo) associata a tale simbolo. L'intervallo di determinati simboli cambia quando il calendario è Hijri.

Simbolo Intervallo
d 1-30
dd 1-30
ww 1-51
mmm Mostra i nomi dei mesi completi (i nomi dei mesi Hijri non hanno abbreviazioni).
y 1-355
yyyy 100-9666

Esempi

Usare la funzione Format in un'espressione È possibile usare Format ovunque sia possibile usare espressioni. È ad esempio possibile usare questa funzione in una query come parte di un alias di campo o nella Origine controllo di una casella di testo in una maschera o un report. Gli esempi seguenti mostrano un'espressione che è possibile usare nella proprietà Filtro di un report per limitare l'output ai record della settimana precedente.

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

In questo esempio l'origine record del report ha un campo denominato Date, che contiene la data di modifica di ogni record specifico e che viene usato nel report. Quando si esegue il report, i risultati vengono filtrati per mostrare solo i record in cui la settimana per il valore nel campo Date (Format([Date],"ww")) equivale alla settimana precedente (Format(Now(),"ww")-1).

Usare la funzione Format nel codice VBA 

Nota

Gli esempi seguenti illustrano l'uso di questa funzione in un modulo di Visual Basic, Applications Edition (VBA). Per altre informazioni sull'uso di VBA, selezionare Riferimenti per sviluppatori nell'elenco a discesa accanto a Cerca e immettere uno o più termini nella casella di ricerca.

Questo esempio mostra diversi usi della funzione Format per formattare i valori usando sia formati denominati che formati definiti dall'utente. Per il separatore di data (/), il separatore dell'ora (:) e il valore letterale AM/ PM, l'output formattato effettivo visualizzato dal sistema dipende dalle impostazioni locali del computer in cui è in esecuzione il codice. Quando le ore e le date vengono visualizzate nell'ambiente di sviluppo, vengono usati il formato di ora breve e il formato di data breve delle impostazioni locali del codice. Quando le ore e le date vengono visualizzate dal codice in esecuzione, vengono usati il formato di ora breve e il formato di data breve delle impostazioni locali del sistema, che possono essere diverse dalle impostazioni locali del codice. Questo esempio presuppone l'uso delle impostazioni locali Inglese (stati Uniti).

MyTime e MyDate vengono visualizzate nell'ambiente di sviluppo utilizzando l'impostazione di tempo breve del sistema corrente e l'impostazione di data breve.

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 di Format con stringhe di lunghezza zero

In Microsoft Access versione 2.0 e versioni precedenti è possibile usare la funzione Format per restituire un valore per una stringa di lunghezza zero e un altro per un valore. È ad esempio possibile usare un'espressione di formato come la seguente con la funzione Format per restituire il valore di stringa appropriato dal codice:

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

In Microsoft Access 97 e versioni successive è necessario testare separatamente il caso Null e quindi restituire il valore appropriato in base al risultato. È ad esempio possibile usare la funzione IIf in un'espressione con la funzione Format come illustrato di seguito:

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

Questa modifica si applica solo quando si usa la funzione Format per formattare una stringa in base al fatto che sia una stringa di lunghezza zero o un valore Null. Altre espressioni di formato usate con la funzione Format continuano a funzionare come nelle versioni precedenti.

Se si converte un database da Microsoft Access 2.0 e versioni precedenti a Microsoft Access 2002 o versioni successive, è necessario modificare il codice per testare separatamente il caso Null.

Funzioni stringa e come usarle