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:

[Città] IN ('Roma', 'Milano', 'Napoli')

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:

[Oggetto] LIKE '*prodotto*' [Oggetto] LIKE '*prodotto' [Oggetto] LIKE 'prodotto*'

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)