Guida alla Formula
La Formula
La formula serve per eseguire un calcolo e restituire un valore utilizzando i valori di una o più colonne di uno stesso record.
Per esempio: data una tabella con due colonne "Nome prodotto" e "Costo", possiamo aggiungere una terza colonna Formula che restituirà il valore della colonna "Costo" comprensivo di IVA.
Come usare i valori delle colonne nella formula
Puoi usare il valore delle colonne scrivendo nella formula il nome della colonna racchiuso tra parentesi.
Esempio:
[Nome] + [Cognome]
Se una delle colonne usate nella formula non è compilata, la formula non restituisce un risultato. Per avere comunque un risultato è possibile fare uso della funzione ISNULL() per restituire un valore di default scelto secondo le esigenze. Nell'esempio sotto la funzione ISNULL() restituisce un testo vuoto se la colonna non è compilata: ISNULL([Nome], '') + ISNULL([Cognome], '')
Come scrivere nella formula i valori testo, numeri, data e si/no
Testo
I valori testo devono essere scritti tra apici. Se gli apici sono usati nel testo questi devono essere preceduti dal carattere apice.
Esempio:
[Nome] + ' Rossi'
Numerici
I valori numerici devono usare il carattere "." per separare i decimali.
Esempio:
[Costo] + 5.25
Data
I valori data devono essere racchiusi nel carattere "#", espressi in formato UTC e con la seguente formattazione: mese/giorno/anno.
Esempio:
[Data di nascita] < #1/31/1982#
Si/No
I valori si/no devono essere scritti nella forma true o false.
Esempio:
[Valido] = true
Usare i valori nulli
I valori nulli possono essere identificati in una formula con la parola NULL.
Esempio:
[Nome] = NULL
Usare gli operatori nella formula
In una formula è possibile usare i seguenti operatori:
+ (addizione)
- (sottrazione)
* (moltiplicazione)
/ (divisione)
% (modulo)
< (minori di)
> (maggiore di)
<= (minore o uguale)
>= (maggiore o uguale)
<> (diverso da)
= (uguale a)
IN (è nell'elenco)
LIKE (contiene)
AND (e)
OR (oppure)
Usare l'operatore "IN"
L'operatore IN controlla se un valore testuale, numerico o data è presente in una tabella.
Esempio:
Caratteri Jolly da usare nel testo
I caratteri "*" e "%" possono essere usati come caratteri jolly nelle comparazioni usando l’operatore LIKE. Se il testo contiene già questi caratteri, allora devono essere racchiusi da parantesi quadre (esempio: [*] oppure [%]). Se le parentesi quadre sono già presenti nel testo allora esse devono essere racchiuse da parentesi quadre(per esempio [[] oppure []]). I carratteri Jolly sono consentiti solo all’inizio e alla fine del testo. Non sono ammessi i caratteri jolly in mezzo al testo.
Esempi:
Funzioni
Nella formula sono supportate le seguenti funzioni:
LEN
Restituisce il numero di caratteri di un testo.
Esempio:
LEN('test')
IIF
Restituisce un valore su due in base al risultato di una espressione.
Esempio:
IIF([Costo] > 50, true, false)
ISNULL
Restituisce un valore definito se una determinata espressione è nulla.
Esempio:
ISNULL([Costo], 20)
TRIM
Rimuove in un testo i segenti caratteri: \r, \n, \t, ' '.
Esempio:
TRIM('testo ')
SUBSTRING
Restituisce una parte di testo di lunghezza specificata ad iniziare da uno specifico punto.
Esempio:
SUBSTRING('testo di esempio', 1, 5)
DAY
Restituisce il giorno del mese di una Data.
Esempio:
DAY([data])
MONTH
Restituisce il numero del mese di una Data.
Esempio:
MONTH([data])
YEAR
Restituisce l'anno di una Data.
Esempio:
YEAR([data])
DATEDIF
Restituisce la differenza in numero di giorni tra due date.
Esempio:
DATEDIF([data1],[data2])
TIMEDIF
Restituisce la differenza in minuti tra due date e ore. Per ottenere le ore dividere il risultato per 60.
Esempio:
TIMEDIF([date1],[date2])
TIMEDIF([date1],[date2]) / 60
ADDDAYS
Restituisce una nuova Data aumentata di un numero specificato di giorni. Puoi anche sottrarre un numero di giorni specificando un valore negativo.
Esempio:
ADDDAYS([data],3)
ADDMONTHS
Restituisce una nuova Data aumentata di un numero specificato di mesi. Puoi anche sottrarre un numero di mesi specificando un valore negativo.
Esempio:
ADDMONTHS([data],3)
ADDYEARS
Restituisce una nuova Data aumentata di un numero specificato di anni. Puoi anche sottrarre un numero di mesi specificando un valore negativo.
Esempio:
ADDYEARS([data],3)