| Si applica a |
Microsoft Office Access 2003 Microsoft Access 2000 e 2002 |
Spesso è necessario utilizzare informazioni che non sono direttamente disponibili in un campo del database in uso. Ad esempio, può essere necessario calcolare le imposte sulle vendite relative a un ordine o il totale stesso degli ordini. Altre volte si deve immettere una query o un filtro con criteri, ovvero informazioni che determinano i record con i quali si desidera lavorare, o ancora può essere utile impostare un valore predefinito per un campo o un controllo oppure una regola di convalida per un campo o una tabella. In tutti questi casi si dovrà utilizzare un'espressione.
In questo articolo verranno descritte le espressioni, ovvero cosa sono e quando e per quale motivo è opportuno utilizzarle. Verranno inoltre fornite informazioni sul Generatore di espressioni, uno strumento disponibile in Access che può essere utilizzato per facilitare la creazione di espressioni. Si apprenderà infine come creare un'espressione tramite il Generatore di espressioni o completamente da zero.
In questo articolo
Definizione di espressione
Perché utilizzare espressioni
Dove e come utilizzare espressioni
Utilizzo del Generatore di espressioni
Utilizzo di espressioni per scopi pratici
Tabella degli operatori
Definizione di espressione
In Access un'espressione è l'equivalente di una formula in Excel. Un'espressione è composta da un numero di possibili elementi utilizzati, da soli o in combinazione, per produrre un risultato. Gli elementi possono comprendere identificatori (i nomi di campi, controlli o proprietà), operatori come un + (segno di addizione) o un - (segno di sottrazione), funzioni, costanti e valori. Le espressioni vengono utilizzate per eseguire un calcolo, recuperare il valore di un controllo, fornire criteri per una query, definire regole, creare controlli calcolati e campi calcolati e definire un livello di raggruppamento per un report.
Di seguito sono riportate alcune espressioni di esempio.
| Espressione |
Scopo |
| =[DataRichiesta] - [DataSpedizione] |
Calcolare la differenza tra i valori di due controlli casella di testo in un report |
| Date() |
Impostare il valore predefinito per un campo di una tabella sulla data corrente |
| PrezzoComplessivo: CCur([Dettagli ordini].UnitPrice*[Quantità]*(1-[Sconto])/100)*100 |
Creare un campo calcolato in una query |
| Between #1/1/2005# And #31/12/2005# |
Immettere criteri per un campo Data/ora in una query |
| =[Sottomaschera Ordini].Form!SubtotaleOrdine |
Restituire il valore del controllo SubtotaleOrdine nella sottomaschera Ordini della maschera Ordini |
| > 0 |
Impostare una regola di convalida per un campo numerico di una tabella |
Come è possibile rilevare dagli esempi precedenti, un'espressione in Access non è semplicemente un calcolo. Le espressioni vengono infatti utilizzate per una varietà di scopi diversi.
Si noterà inoltre che le espressioni di esempio sono in qualche modo diverse tra di esse. Ad esempio, alcune iniziano con l'operatore =. Quando si calcola un valore per un controllo in una maschera o in un report, per iniziare l'espressione si utilizza l'operatore =, mentre in altri casi questo operatore non viene utilizzato. Se si immette, ad esempio, un'espressione in una query o nella proprietà Valore predefinito o Valido se di un campo o di un controllo, l'operatore = non viene utilizzato.
Identificatori
Un identificatore è il nome di un campo, di una proprietà o di un controllo. Gli identificatori vengono utilizzati nelle espressioni per fare riferimento al valore associato a un campo, una proprietà o un controllo. Si consideri, ad esempio, l'espressione =[DataRichiesta]-[DataSpedizione]. Con questa espressione viene sottratto il valore del campo o del controllo DataSpedizione dal valore del campo o del controllo DataRichiesta. In questa espressione sia DataRichiesta che DataSpedizione sono identificatori.
Operatori
In Access sono supportati vari tipi di operatori, inclusi gli operatori aritmetici previsti come +, -, * (moltiplica), / (dividi), oltre a operatori di confronto per confrontare valori, operatori di testo per concatenare testo, operatori logici per determinare un valore vero o falso e altri operatori specifici di Access. Per informazioni dettagliate sugli operatori, vedere la sezione Tabella degli operatori in questo articolo.
Funzioni
Le funzioni sono routine predefinite che è possibile utilizzare nelle espressioni. Consentono di eseguire calcoli, modificare testo e date, riepilogare dati ed effettuare numerose altre operazioni. Ad esempio, una delle funzioni più comunemente utilizzate è la funzione Date che restituisce la data corrente. È possibile utilizzarla in un'espressione per impostare il valore predefinito per un campo in una tabella. In questo modo ogni volta che si aggiunge un nuovo record, nel campo verrà impostata la data corrente.
Alcune funzioni richiedono l'utilizzo di argomenti. Un argomento è un valore che funge da input per la funzione. Se in una funzione sono richiesti più argomenti, questi devono essere separati da una virgola. Si consideri, ad esempio, la funzione Format nella seguente espressione:
=Format(Date(),"gg-mmm-aaaa")
In questo esempio vengono utilizzati due argomenti. Il primo è rappresentato dalla funzione Date. Spesso è possibile specificare il valore restituito da una funzione come argomento di un'altra funzione. In questo caso viene indicato come verrà restituita la data corrente dalla funzione Date. Il secondo argomento, separato dal primo con una virgola, è una stringa di testo che indica come dovrà essere formattata la data mediante la funzione Format. La stringa di testo, come si noterà, è racchiusa tra virgolette. Come regola generale, quando è necessario specificare testo, racchiuderlo tra virgolette.
Costanti
Una costante è un elemento denominato il cui valore rimane costante durante l'esecuzione di Access. Le costanti più frequentemente utilizzate nelle espressioni sono Vero, Falso e Null.
Nota Non è possibile utilizzare costanti di Microsoft Visual Basic nelle funzioni personalizzate incluse nelle espressioni. Ad esempio, in Visual Basic sono disponibili costanti per i giorni della settimana: vbSunday per rappresentare la domenica, vbMonday per rappresentare il lunedì e così via. A ciascuna costante corrisponde un valore numerico: il valore numerico per vbSunday è 1, quello per vbMonday è 2 e così via. Non è possibile utilizzare queste costanti in una funzione personalizzata chiamata dall'interno di un'espressione, ma è necessario utilizzare i relativi valori numerici.
Valori
Nelle espressioni è possibile utilizzare valori letterali. I valori numerici possono essere costituiti da una serie di cifre, inclusi un segno e una virgola decimale se necessari. In assenza di un segno, il valore viene considerato positivo. Per rendere negativo un valore, includere il segno di sottrazione (-). È inoltre possibile utilizzare una notazione scientifica, includendo a questo scopo una E o e oltre al segno dell'esponente (ad esempio 1,0E-6).
I valori stringa di testo dovranno essere racchiusi tra virgolette. In alcune circostanze verranno inserite automaticamente. Ad esempio, quando si digita testo in un'espressione per una regola di convalida o per i criteri di una query, le virgolette vengono aggiunte automaticamente.
Se ad esempio si digita il testo Parigi, nell'espressione verrà visualizzato "Parigi".
Se si desidera che l'espressione restituisca una stringa effettivamente racchiusa tra virgolette, è possibile racchiudere la stringa nidificata fra virgolette singole (') oppure fra tre gruppi di virgolette doppie ("). Le espressioni che seguono, ad esempio, sono equivalenti:
Forms![Contatti]![Città].DefaultValue = ' "Parigi" '
Forms![Contatti]![Città].DefaultValue = " " "Parigi" " "
I valori Data/ora dovranno essere racchiusi tra simboli di cancelletto (#). Ad esempio, #7-3-05#, #7-mar-05# e #mar-7-2005# sono tutti valori Data/ora validi. Quando in Access viene rilevato un valore Data/ora valido racchiuso tra caratteri #, questo viene considerato automaticamente come tipo di dati Data/ora.
Torna all'inizio
Perché utilizzare espressioni
In Access le espressioni vengono utilizzate spesso e per diversi motivi. Quando, ad esempio, si desidera calcolare un valore per un campo in una maschera, si utilizza un'espressione. Si supponga di voler calcolare l'importo totale per un articolo in una fattura. In genere il totale relativo all'articolo non viene memorizzato nel database. Al contrario, viene calcolato secondo le esigenze in base a due voci che dovrebbero essere memorizzate nel database: quantità e prezzo.
=CCur([Quantità]*[Prezzo])
Con questa espressione viene moltiplicata la quantità per il prezzo, quindi viene utilizzata la funzione CCur (conversione in valuta) per convertire il risultato nel tipo di dati Valuta.
Per contenere un valore calcolato si utilizza di solito un controllo casella di testo, tuttavia è possibile utilizzare un controllo qualsiasi purché disponga di una proprietà Origine controllo. Un controllo la cui origine è un'espressione è dettocontrollo calcolato. Se il controllo è una casella di testo, è possibile immettere l'espressione direttamente nella casella di testo. L'espressione può inoltre essere immessa nella proprietà Origine controllo nella finestra delle proprietà.

Oltre che per calcolare un valore necessario non memorizzato nel database, un'espressione viene spesso utilizzata per fornire informazioni a una query. Si supponga, ad esempio, di voler visualizzare le vendite di prodotti la cui spedizione è stata effettuata entro un determinato intervallo di tempo. È possibile immettere un'espressione criterio che utilizza l'operatore Between per definire l'intervallo di date. Verranno restituite solo le righe corrispondenti al criterio e con una data di spedizione inclusa nell'intervallo di date specificato:
Between #1/1/2004# And #31/12/2004#
È inoltre possibile scegliere di calcolare il totale relativo a un articolo nella query che fornisce i dati alla maschera o al report. Una colonna in una query risultante da tale calcolo è detta campo calcolato. Ad esempio, la seguente espressione in una query consente di calcolare i totali relativi a un articolo con uno sconto applicato:
PrezzoComplessivo: CCur([Dettagli ordini].[PrezzoUnitario]*[Quantità]*(1-[Sconto])/100)*100
Alla colonna risultante da questa espressione viene assegnato il nome PrezzoComplessivo.
Un'espressione viene inoltre utilizzata per fornire un valore predefinito per un campo in una tabella o per un controllo. Se, ad esempio, in un campo data si desidera immettere la data corrente per impostazione predefinita, è possibile digitare Date() nella casella della proprietà Valore predefinito relativa al campo. È inoltre possibile utilizzare un'espressione per impostare una regola di convalida. Ad esempio, è possibile utilizzare una regola di convalida che richieda l'immissione di una data maggiore o uguale alla data corrente. In questo caso il valore nella casella della proprietà Valido se verrà impostato su >= Date().
Torna all'inizio
Dove e come utilizzare espressioni
Un'espressione può essere utilizzata in molte posizioni. All'interno di tabelle, query, maschere, report e macro, ad esempio, sono presenti posizioni in cui è possibile utilizzare un'espressione. Inoltre, quando si scrive codice VBA per una routine evento o per una maschera, vengono spesso utilizzate espressioni analoghe a quelle utilizzate in un oggetto di Access, quale una tabella o una query.
Nelle espressioni i nomi dei campi e i nomi dei controlli devono essere racchiusi tra parentesi. Ad esempio, [Prezzo unitario]. Se si immette un nome che non include spazi o caratteri speciali, questo viene racchiuso automaticamente tra parentesi, se invece include spazi o caratteri speciali, le parentesi dovranno essere digitate manualmente.
È possibile assegnare un nome a un controllo calcolato mediante l'impostazione della proprietà Nome. Il nome deve essere univoco relativamente a tutti i nomi di controlli nella maschera o nel report. Deve inoltre essere diverso da qualsiasi nome di campo o di controllo utilizzato nell'espressione relativa a quel controllo e da qualsiasi nome di campo nella tabella o nella query sottostante. Questo nome può essere utilizzato quando si desidera fare riferimento al valore nel controllo in altre espressioni della maschera o del report.
Di seguito sono riportate le posizioni più comuni in cui si utilizzano espressioni:
In un controllo casella di testo di una maschera o di un report
Si utilizza un'espressione in un controllo casella di testo per creare un controllo calcolato. Si supponga ad esempio di voler creare un subtotale con la somma di tutti gli articoli presenti in una maschera ordini. Il subtotale potrebbe essere analogo al seguente.

Per calcolare il subtotale, è necessario inserire un controllo casella di testo nella maschera e impostare la seguente espressione per la proprietà Origine controllo della casella di testo:
=Somma([PrezzoComplessivo])
La funzione Somma calcola il totale per un insieme di valori estratti dall'origine record, in questo caso la colonna denominata PrezzoComplessivo.
Per immettere un'espressione in un controllo casella di testo
- Nella finestra del database selezionare Maschere nell'elenco Oggetti.
-
Fare clic sulla maschera, quindi fare clic su Struttura nella finestra del database.
- Fare clic sulla casella di testo per selezionarla.
- Scegliere Proprietà dal menu Visualizza per visualizzare la finestra delle proprietà relativa alla casella di testo.
Verrà visualizzata la finestra delle proprietà per la casella di testo.
- Modificare la proprietà Origine controllo della casella di testo in = seguito dall'espressione oppure scegliere il pulsante del Generatore di espressioni
a destra della casella della proprietà per creare un'espressione utilizzando il Generatore di espressioni. Per calcolare, ad esempio, il subtotale indicato sopra, digitare =Somma([PrezzoComplessivo]). La finestra delle proprietà sarà simile a quella illustrata di seguito.

- Chiudere la finestra delle proprietà.
Nella cella dei criteri nella griglia di struttura di una query
Si utilizza un'espressione per definire i criteri di una query. Verranno restituite solo le righe corrispondenti ai criteri specificati. Si supponga ad esempio di voler visualizzare tutti gli ordini la cui data di spedizione ricada nell'anno 2004. Per specificare i criteri, immettere le seguente espressione nella cella Criteri per la colonna DataSpedizione nella query:
Between #1/1/2004# And #31/12/2004#
La colonna DataSpedizione avrà un aspetto analogo a quella illustrata di seguito.

L'espressione viene utilizzata per determinare se la data di spedizione rientra nell'intervallo di date specificato. I valori data sono racchiusi tra simboli di cancelletto (#). In Access i valori racchiusi tra simboli di cancelletto vengono considerati automaticamente come tipo di dati Data/ora.
Per immettere i criteri nella griglia di struttura della query
- Nella finestra del database sotto Oggetti fare clic su Query.
-
Fare clic sulla query, quindi fare clic su Struttura nella finestra del database.
- Fare clic sulla cella dei criteri nella colonna per la quale si desidera immettere i criteri.
- Digitare l'espressione criterio o fare clic sul pulsante Genera
sulla barra degli strumenti per creare un'espressione tramite il Generatore di espressioni. Nota L'espressione non deve essere preceduta dall'operatore =.
Se si desidera un'area più estesa in cui immettere un'espressione, premere MAIUSC+F2 per visualizzare la finestra Zoom.

Nella cella di campo nella griglia di struttura di una query
Si utilizza un'espressione per creare un campo calcolato in una query. Si supponga, ad esempio, di voler visualizzare l'anno di spedizione di un ordine come parte di una query. Per creare il campo calcolato, immettere la seguente espressione nella cella di campo di una colonna vuota nella query:
Anno: Format([DataSpedizione],"yyyy")
Nell'espressione viene utilizzata la funzione Format per estrarre l'anno dal campo DataSpedizione e visualizzarlo nel formato a quattro cifre. Se si antepone Anno: all'espressione, alla colonna risultante verrà assegnato il nome Anno.

Per immettere un campo calcolato in visualizzazione Struttura della query
- Nella finestra del database sotto Oggetti fare clic su Query.
-
Fare clic sulla query, quindi fare clic su Struttura nella finestra del database.
- Fare clic sulla cella di campo nella colonna in cui si desidera creare il campo calcolato.
- Digitare l'espressione o fare clic sul pulsante Genera
sulla barra degli strumenti per creare un'espressione utilizzando il Generatore di espressioni. Iniziare l'espressione con un nome seguito da due punti (:). Ad esempio, digitare PrezzoComplessivo: per iniziare un'espressione che consenta di creare un campo calcolato denominato PrezzoComplessivo.
Nella proprietà Valido se di un campo in una tabella
Un'ulteriore posizione in cui è utile un'espressione è la proprietà Valido se di un campo in una tabella. Si supponga di voler imporre una regola che forzi un valore maggiore o uguale a zero nel campo [Q.tà in magazzino] della tabella di inventario. In altri termini, un inventario non potrà mai avere un valore negativo. Per ottenere questo risultato, utilizzare l'espressione riportata nella seguente illustrazione.

Per immettere una regola di convalida per un campo di una tabella
- Nella finestra del database scegliere Tabelle dall'elenco Oggetti.
-
Fare clic sulla tabella, quindi fare clic su Struttura nella finestra del database.
- Fare clic sul nome di campo del campo desiderato.
- Fare clic sulla casella della proprietà Valido se.
- Digitare l'espressione o fare clic sul pulsante del Generatore di espressioni
a destra della casella della proprietà per creare un'espressione utilizzando il Generatore di espressioni. Nota Non anteporre l'operatore = all'espressione quando si crea una regola di convalida.
È fondamentale ricordare che le espressioni con regole di convalida devono risolversi in True per consentire l'accettazione del valore. In questo esempio il valore di [Q.tà in magazzino] dovrà quindi essere >=0. In caso contrario verrà visualizzato il testo presente nella casella della proprietà Messaggio errore. Se nella casella della proprietà Messaggio errore non è stato immesso testo, verrà visualizzato un messaggio predefinito per indicare che il valore immesso non è consentito dalla regola di convalida impostata per il campo.
Nella proprietà Valido se di un controllo
La proprietà Valido se può essere impostata anche per un controllo. Si supponga, ad esempio, di voler utilizzare una maschera per l'immissione di un intervallo di date per un report e di voler avere la certezza che la data di inizio non sia anteriore a #1/1/2004#. È possibile impostare le proprietà Valido se e Messaggio errore per la casella di testo in cui si immette la data di inizio in modo analogo a quanto illustrato di seguito.
| Proprietà |
Impostazione |
| Valido se |
>=#1/1/2004# |
| Messaggio errore |
Non è possibile immettere una data anteriore a 1/1/2004. |
Se si tenta di immettere una data anteriore a #1/1/2004#, viene visualizzato un messaggio. Dopo aver scelto OK, si tornerà alla casella di testo.

Per immettere una regola di convalida per un controllo
- Nella finestra del database sotto Oggetti fare clic su Maschere o Report.
-
Fare clic sulla maschera o sul report, quindi scegliere Struttura nella finestra del database.
- Fare clic sul controllo per selezionarlo.
- Fare clic sul pulsante Proprietà sulla barra degli strumenti.
Verrà visualizzata la finestra delle proprietà del controllo.
- Fare clic sulla scheda Tutte, quindi fare clic sulla casella della proprietà Valido se.
- Digitare l'espressione o fare clic sul pulsante del Generatore di espressioni
a destra della casella della proprietà per creare un'espressione utilizzando il Generatore di espressioni. Nota Non anteporre l'operatore = all'espressione quando si crea una regola di convalida.
- La proprietà Messaggio errore può essere modificata, se lo si desidera.
- Chiudere la finestra delle proprietà.
Quando si immette un valore non consentito dalla regola di convalida, è possibile premere ESC mentre il punto di inserimento si trova all'interno del controllo per ripristinare il valore originale o predefinito e quindi immettere un valore che soddisfi tale regola.
Se la proprietà Origine controllo relativa al controllo è un campo in una tabella, in genere è preferibile impostare anche la proprietà Valido se del campo oltre a quella del controllo. In questo modo la regola verrà sempre imposta indipendentemente dalla maschera o dalla query utilizzata per aggiornare il campo.
Nella proprietà Valore predefinito per un campo in una tabella
È possibile utilizzare un'espressione per memorizzare un valore predefinito per un campo in una tabella. Si supponga, ad esempio, di voler inserire automaticamente la data e l'ora nel campo DataOrdine quando si aggiunge un nuovo record. Si potrà utilizzare un'espressione analoga alla seguente.

Nell'espressione viene utilizzata la funzione Now per inserire la data e l'ora nel campo DataOrdine.
Per immettere un valore predefinito per un campo in una tabella
- Nella finestra del database scegliere Tabelle dall'elenco Oggetti.
-
Fare clic sulla tabella, quindi fare clic su Struttura nella finestra del database.
- Fare clic sul nome del campo desiderato.
- Fare clic nella casella della proprietà Valore predefinito.
- Digitare l'espressione o fare clic sul pulsante del Generatore di espressioni
a destra della casella della proprietà per creare un'espressione utilizzando il Generatore di espressioni.
Se un controllo è associato a un campo in una tabella e nel campo è presente un valore predefinito, il valore predefinito del controllo avrà la precedenza.
Nella proprietà Valore predefinito in un controllo
Un'altra posizione comune in cui si utilizza un'espressione è la proprietà Valore predefinito di un controllo. Il comportamento della proprietà Valore predefinito di un controllo è analogo a quello della proprietà Valore predefinito di un campo in una tabella. Se si desidera, ad esempio, immettere la data corrente come valore predefinito per una casella di testo DataOrdine, è possibile utilizzare un'espressione simile alla seguente.

In questa espressione viene utilizzata la funzione Date per restituire la data ma non l'ora corrente. Se il controllo casella di testo è associato a un campo in una tabella e nel campo è presente un valore predefinito, il valore predefinito del controllo avrà la precedenza. È spesso preferibile impostare la proprietà Valore predefinito per il campo nella tabella, in quanto tale valore predefinito viene sempre applicato a meno che non venga sostituito da un controllo.
Per immettere un valore predefinito per un controllo
- Nella finestra del database sotto Oggetti fare clic su Maschere o Report.
-
Fare clic sulla maschera o sul report, quindi scegliere Struttura nella finestra del database.
- Fare clic sul controllo per selezionarlo.
- Fare clic sul pulsante Proprietà sulla barra degli strumenti.
Verrà visualizzata la finestra delle proprietà del controllo.
- Fare clic sulla scheda Tutte, quindi fare clic sulla casella della proprietà Valore predefinito.
- Digitare l'espressione o fare clic sul pulsante del Generatore di espressioni
a destra della casella della proprietà per creare un'espressione utilizzando il Generatore di espressioni.
- Chiudere la finestra delle proprietà.
Nella colonna Condizione in una macro
In alcuni casi è possibile eseguire un'azione o una serie di azioni in una macro solo se è vera una determinata condizione. Si supponga, ad esempio, di voler eseguire un'azione solo quando il valore della casella di testo Contatore corrisponde a 10. In questo caso si utilizza un'espressione per definire la condizione nella colonna Condizione della macro.

Per immettere una condizione per un'azione di macro
- Nella finestra del database sotto Oggetti fare clic su Macro.
-
Scegliere la macro, quindi fare clic su Struttura nella finestra del database.
- Fare clic sulla cella Condizione per l'azione della macro che si desidera selezionare.
Se la colonna Condizione non è visualizzata, scegliere Condizioni dal menu Visualizza.
- Digitare un'espressione condizionale.
- Chiudere la macro.
Come per la proprietà Valido se l'espressione della colonna Condizione è di tipo condizionale e deve essere risolta in Vero o Falso. L'azione viene eseguita solo quando la condizione è Vero.
Nella finestra Ordinamento e raggruppamento
Nella finestra Ordinamento e raggruppamento è possibile definire i livelli di raggruppamento e le opzioni di ordinamento per un report. Il raggruppamento può essere definito su un campo o su un'espressione. Si supponga, ad esempio, di voler raggruppare il report per paese e quindi per ID ordine. Se le informazioni relative ai nomi sono memorizzate in campi separati, Cognome e Nome, sarà necessario applicare il raggruppamento su un'espressione analoga a una di quelle riportate nella seguente illustrazione.

In questa espressione viene utilizzato l'operatore e commerciale (&) per combinare valori di testo, un'operazione definita spesso concatenazione di stringhe. Per ulteriori informazioni sulla combinazione di valori di testo, vedere la sezione Combinazione di valori di testo in questo articolo.
Per immettere un'espressione nella finestra Ordinamento e raggruppamento
- Nella finestra del database scegliere Report dall'elenco Oggetti.
-
Fare clic sul report, quindi fare clic su Struttura nella finestra del database.
- Aprire il report in visualizzazione Struttura.
- Scegliere Ordinamento e raggruppamento dal menu Visualizza.
- Fare clic su una cella nella colonna Campo o espressione.
- Digitare un'espressione preceduta dall'operatore =.
Torna all'inizio
Utilizzo del Generatore di espressioni
Il Generatore di espressioni consente di creare espressioni con maggiore facilità. Questo strumento può essere avviato da diverse posizioni in cui si immettono espressioni e consente di accedere facilmente ai nomi dei campi e dei controlli utilizzati nel database e a molte delle funzioni predefinite disponibili quando si creano espressioni. È possibile utilizzare il Generatore di espressioni per creare un'espressione da zero oppure è possibile selezionare una delle espressioni predefinite per la visualizzazione di numeri di pagina, della data corrente e della data e ora correnti.

Casella dell'espressione
Nella sezione superiore del generatore viene visualizzata una
casella dell'espressione nella quale si crea l'espressione. Utilizzare le tre colonne nella sezione inferiore del generatore per individuare gli elementi da incollare nella casella dell'espressione. È inoltre possibile digitare parti dell'espressione direttamente nell'apposita casella, in modo da creare un'espressione mediante la combinazione di elementi digitati e incollati.
Pulsanti degli operatori
Nella sezione intermedia del Generatore di espressioni sono presenti i pulsanti relativi agli operatori di uso comune. Per inserire un operatore nella casella dell'espressione, fare clic sul pulsante appropriato. Per visualizzare un elenco di operatori che è possibile utilizzare nelle espressioni, fare clic sulla cartella
Operatori nella colonna inferiore sinistra, quindi fare clic sulla categoria desiderata nella colonna centrale. Nella colonna destra verranno elencati tutti gli operatori disponibili nella categoria selezionata. Per inserire un operatore, fare doppio clic su di esso o selezionarlo e quindi scegliere
Incolla.
Elementi dell'espressione
Nella sezione inferiore sono disponibili tre colonne:
- Nella colonna sinistra sono presenti le cartelle che consentono di visualizzare l'elenco di tabelle, query, maschere e report del database, oltre alle funzioni predefinite e alle funzioni definite dall'utente, alle costanti, agli operazioni e alle espressioni comuni disponibili.
- Nella colonna centrale è presente un elenco di specifici elementi o categorie di elementi per la cartella selezionata nella colonna sinistra. Se, ad esempio, nella colonna sinistra si fa clic su Funzioni predefinite, nella colonna centrale verranno elencate le categorie delle funzioni.
- Nella colonna destra sono elencati i valori, se disponibili, per gli elementi selezionati nelle colonne sinistra e centrale. Se, ad esempio, nella colonna sinistra si fa clic su Funzioni predefinite e quindi si fa clic su una categoria di funzioni nella colonna centrale, nella colonna destra vengono elencate tutte le funzioni predefinite relative alla categoria selezionata.
Per creare l'espressione, digitare il testo nella casella dell'espressione e incollare elementi dalle altre aree del generatore. Ad esempio, è possibile fare clic nella colonna inferiore sinistra per visualizzare qualsiasi oggetto nel database, oltre alle funzioni, alle costanti, agli operatori e alle espressioni comuni. Quando si fa clic su un elemento nella colonna sinistra, il contenuto delle altre colonne viene modificato di conseguenza. Quando si fa clic, ad esempio, sul nome di una tabella nella colonna sinistra, nella colonna centrale vengono elencati i campi di quella tabella. Quando si fa doppio clic su Funzioni e quindi si fa clic su Funzioni predefinite, nella colonna centrale vengono elencate tutte le categorie di funzioni e nella colonna destra tutte le funzioni disponibili in quelle categorie. Quando si fa doppio clic per inserire una funzione nell'espressione, la funzione e il testo che indica gli argomenti richiesti per tale funzione vengono visualizzati sotto forma di testo segnaposto nella casella dell'espressione. Questo testo potrà essere sostituito con i valori degli argomenti corretti.
Quando si incolla un identificatore nell'espressione, vengono inserite automaticamente solo le parti dell'identificatore richieste nel contesto corrente. Se, ad esempio, si avvia il Generatore di espressioni dalla finestra delle proprietà della maschera Clienti, quindi si incolla nell'espressione un identificatore per la proprietà Visibile della maschera, nel Generatore di espressioni viene incollato soltanto il nome della proprietà, ovvero Visibile. Se questa espressione viene utilizzata al di fuori del contesto della maschera, è necessario includere l'identificatore completo: Forms![Clienti].Visibile.
Per avviare il Generatore di espressioni in una tabella, una maschera o un report
- Fare clic nella casella della proprietà o dell'argomento di azione che dovrà contenere l'espressione.
- Fare clic sul pulsante del Generatore di espressioni
accanto alla proprietà.
Per avviare il Generatore di espressioni in una query
- Fare clic sulla cella nella griglia di struttura che contiene l'espressione. Ad esempio, fare clic sulla cella Criteri della colonna in cui si desidera specificare criteri o sulla cella Campo della colonna in cui si desidera creare un campo calcolato.
- Fare clic sul pulsante Genera sulla barra degli strumenti
.
Il Generatore di espressioni può essere considerato un mezzo per cercare e inserire elementi che potrebbe non essere facile ricordare, quali i nomi di identificatori (ad esempio, campi, tabelle, maschere e query), i nomi di funzioni e gli argomenti.
Torna all'inizio
Utilizzo di espressioni per scopi pratici
In questa sezione vengono descritti alcuni dei modi in cui è possibile utilizzare espressioni per risolvere problemi e calcolare le informazioni necessarie per maschere, report e tabelle.
Impostazione di un indicatore con la data e l'ora correnti per un nuovo record
In alcune tabelle è importante tenere traccia, ovvero inserire un indicatore, della data e dell'ora in cui è stato aggiunto un record. Per consentire l'immissione automatica di tale valore, è possibile creare un campo con il tipo di dati Data/ora e impostare la proprietà Valore predefinito del campo su Date() o Now(). La funzione Date restituisce la data corrente in base all'orologio di sistema del computer, mentre la funzione Now restituisce la data e l'ora correnti.
Per aggiungere un campo indicatore di data e ora
- Nella finestra del database scegliere Tabelle dall'elenco Oggetti.
-
Fare clic sulla tabella, quindi fare clic su Struttura nella finestra del database.
- Fare clic nella prima riga vuota disponibile nella prima colonna Nome campo.
- Immettere il nome che si desidera assegnare al campo, ad esempio DataAggiunta.
- Fare clic nella colonna Tipo dati e selezionare Data/ora.
- Scegliere la scheda Generale, quindi fare clic nella casella della proprietà Valore predefinito.
- Digitare Now() o Date(), quindi premere TAB.
- Chiudere la tabella. Se viene chiesto di salvare le modifiche, scegliere Sì.
Ogni volta che si aggiungerà un nuovo record alla tabella, la data o la data e l'ora verranno inserite automaticamente nel campo DataAggiunta.
Combinazione di valori di testo
Quando si desidera combinare i valori di due o più campi di testo, è possibile utilizzare l'operatore e commerciale (&). Se, ad esempio, si dispone di una maschera Impiegati nella cui intestazione si desidera visualizzare il nome e cognome dei dipendenti, è possibile immettere questi dati nelle caselle di testo della sezione dei dettagli.
Per visualizzare il nome e il cognome di un dipendente, è possibile utilizzare la seguente espressione:
=[Nome] & " " & [Cognome]
Per combinare i valori di testo in due o più controlli, utilizzare l'operatore &. Qualsiasi elemento venga inserito tra i valori, ad esempio uno spazio vuoto, un segno di punteggiatura o testo fisso, dovrà essere racchiuso tra virgolette. In questo esempio la stringa " " consente di inserire uno spazio vuoto tra il nome e il cognome.
Per aggiungere una casella di testo con un'espressione per nome e cognome
- Nella finestra del database sotto Oggetti fare clic su Maschere o Report.
-
Fare clic sulla maschera o sul report, quindi scegliere Struttura nella finestra del database.
- Nella casella degli strumenti fare clic sullo strumento Casella di testo.
Nota Se la casella degli strumenti non è visualizzata, scegliere Casella degli strumenti dal menu Visualizza.
-
Trascinare il puntatore sulla maschera o sul report per creare la casella di testo.
- Fare clic sulla casella di testo per selezionarla.
- Scegliere Proprietà dal menu Visualizza, quindi fare clic sulla scheda Dati.
- Modificare la proprietà Origine controllo in =[Nome] & " " & [Cognome], quindi premere TAB.
- Chiudere la finestra delle proprietà.
È possibile che per alcuni record non sia presente un valore in uno dei campi che si desidera combinare. Questo valore assente è detto valore null. Quando si utilizza l'operatore & e nel campo non è presente alcun valore, per quel campo viene restituita una stringa di lunghezza zero. Se, ad esempio, nel record di un dipendente è presente solo un cognome, l'espressione riportata nell'esempio precedente restituirà una stringa di lunghezza zero per il campo Nome, un carattere spazio e il valore del campo Cognome.
Quando si combinano valori, è opportuno includere un valore, ad esempio una virgola, solo quando in un campo particolare è presente un valore. Si supponga, ad esempio, di utilizzare una tabella Clienti e di voler combinare i valori nei campi Città, Zona e CAP per un report. In alcuni record potrebbe non essere presente un valore nel campo Zona. In questo caso se si utilizza l'operatore & verrà visualizzata una virgola indesiderata prima del codice postale.
Per eliminare la virgola indesiderata, è possibile utilizzare l'operatore + come illustrato nella seguente espressione di esempio:
=([Città] & (", " + [Zona]) & " " & [CAP])
L'operatore + consente di combinare testo in modo analogo all'operatore &, tuttavia l'operatore + supporta anche quella che viene definita propagazione null. Ciò significa che se un componente qualsiasi di un'espressione ha un valore null, l'intera espressione sarà null. Si consideri la sezione (", " + [Zona]) nell'esempio precedente. Poiché si utilizza l'operatore +, l'espressione tra parentesi includerà una virgola solo se è presente un valore nel campo Zona. Se non è presente un valore, verrà applicata la propagazione null e l'intera espressione tra parentesi restituirà un valore null.
Creazione di controlli calcolati per l'esecuzione di calcoli aritmetici
È possibile utilizzare espressioni per aggiungere, sottrarre, moltiplicare e dividere i valori in due o più campi o controlli. Si supponga, ad esempio, di registrare la data in cui un cliente ha l'esigenza di ricevere un ordine e la data di spedizione dell'ordine. È possibile sapere di quanti giorni è stato anticipato o ritardato un ordine sottraendo il valore del campo DataSpedizione dal valore del campo DataRichiesta. Questa operazione è possibile in quanto Access è in grado di eseguire calcoli aritmetici sulle date.

Il risultato di un calcolo di data è definito intervallo. Questo valore include un componente giorni a sinistra della virgola decimale e un componente ore a destra della virgola. Se il valore restituito è un numero positivo, indica il numero di giorni di anticipo della spedizione, mentre se è un numero negativo, indica il numero di giorni di ritardo. Se il valore corrisponde a 0, significa che l'ordine è stato spedito puntualmente.
Per aggiungere una casella di testo con un'espressione per calcolare il numero di giorni di anticipo o di ritardo
- Nella finestra del database sotto Oggetti fare clic su Maschere o Report.
-
Fare clic sulla maschera o sul report, quindi scegliere Struttura nella finestra del database.
- Nella casella degli strumenti fare clic sullo strumento Casella di testo.
Nota Se la casella degli strumenti non è visualizzata, scegliere Casella degli strumenti dal menu Visualizza.
-
Trascinare il puntatore sulla maschera o sul report per creare la casella di testo.
- Fare clic sulla casella di testo per selezionarla.
- Scegliere Proprietà dal menu Visualizza, quindi fare clic sulla scheda Dati.
- Modificare la proprietà Origine controllo in =[DataRichiesta]-[DataSpedizione], quindi premere TAB.
- Chiudere la finestra delle proprietà.
Quando si utilizza l'operatore +, –, *, / o \ per eseguire un calcolo su due valori e uno di questi valori è null, ovvero non è stato immesso alcun valore, anche il valore dell'espressione sarà null. Ad esempio, se una delle date nella precedente espressione è null, anche il valore dell'intera espressione sarà null. In questo caso, nel report verrà visualizzato uno spazio vuoto. Per sostituire il valore null con 0, è possibile utilizzare la funzione Nz per convertire il valore null in zero. Ad esempio:
=Nz([DataRichiesta]-[DataSpedizione],0)
Nota È possibile progettare i campi nella tabella in modo che gli utenti non possano immettere valori null. A questo scopo quando si crea la tabella impostare la proprietà Richiesto per quel campo su Sì e impostare inoltre la proprietà Valore predefinito per lo stesso campo su un valore non null.
Aggiunta dei valori in due controlli
Può spesso risultare utile aggiungere i valori in due controlli. Ad esempio, per calcolare il costo totale di un ordine, aggiungere i valori nei controlli Subtotale e Trasporto come riportato nella seguente illustrazione.

Per calcolare il totale dell'ordine, creare una casella di testo nella sezione dei dettagli della maschera Ordini.
Per aggiungere una casella di testo con un'espressione per il calcolo di un totale
- Nella finestra del database sotto Oggetti fare clic su Maschere o Report.
-
Fare clic sul maschera o sul report, quindi scegliere Struttura nella finestra del database.
- Nella casella degli strumenti fare clic sullo strumento Casella di testo.
Nota Se la casella degli strumenti non è visualizzata, scegliere Casella degli strumenti dal menu Visualizza.
-
Trascinare il puntatore sulla maschera o sul report per creare la casella di testo.
- Fare clic sulla casella di testo per selezionarla.
- Scegliere Proprietà dal menu Visualizza, quindi fare clic sulla scheda Tutte.
- Impostare i valori delle proprietà come illustrato nella seguente tabella.
| Proprietà |
Impostazione |
| Nome elemento |
Totale |
| Origine controllo |
=[Subtotale]+[Trasporto] |
| Formato |
Valuta |
- Chiudere la finestra delle proprietà.
Moltiplicazione di due valori per calcolare l'imposta sulle vendite
Si supponga di dover calcolare l'imposta sulle vendite relativa a un ordine e che la percentuale d'imposta sia memorizzata nel controllo ImpostaSulleVendite. Per calcolare l'imposta, utilizzare il valore nel controllo Subtotale e moltiplicarlo per il valore nel controllo ImpostaSulleVendite.
Per calcolare l'imposta sulle vendite, creare una casella di testo nella sezione dei dettagli della maschera Ordini.
Per aggiungere una casella di testo con un'espressione per calcolare l'imposta sulle vendite
- Nella finestra del database sotto Oggetti fare clic su Maschere o Report.
-
Fare clic sulla maschera o sul report, quindi scegliere Struttura nella finestra del database.
- Nella casella degli strumenti fare clic sullo strumento Casella di testo.
Nota Se la casella degli strumenti non è visualizzata, scegliere Casella degli strumenti dal menu Visualizza.
-
Trascinare il puntatore sulla maschera o sul report per creare la casella di testo.
- Fare clic sulla casella di testo per selezionarla.
- Scegliere Proprietà dal menu Visualizza, quindi fare clic sulla scheda Tutte.
- Impostare i valori delle proprietà come illustrato nella seguente tabella.
| Proprietà |
Impostazione |
| Nome elemento |
ImpostaSulleVendite |
| Origine controllo |
=[Subtotale]*[%ImpostaVendite] |
| Formato |
Valuta |
- Chiudere la finestra delle proprietà.
Somma e conteggio
Spesso è necessario calcolare la somma dei valori memorizzati in un gruppo di record. Ad esempio, potrebbe essere necessario calcolare il totale di un gruppo per il piè di pagina di gruppo in un report oppure il subtotale di un ordine per gli articoli in una maschera. Altre volte può essere necessario conteggiare il numero di articoli, anziché sommarli. Per calcolare la somma per un gruppo di record, utilizzare la funzione Somma, mentre per effettuare il conteggio un gruppo di record utilizzare la funzione Conteggio.
Ad esempio, per effettuare il conteggio del numero di ordini in un report con ordini raggruppati per cliente, è possibile utilizzare la seguente espressione:
=Conteggio([IDOrdine])
Nell'espressione con argomenti per le funzioni Somma e Conteggio è possibile utilizzare nomi di campo, ma non nomi di controllo. I nomi di campo possono essere rilevati da una tabella o da una query, inoltre è possibile utilizzare il nome di un campo calcolato da una query. Quando tuttavia si desidera calcolare il totale dei valori in un controllo calcolato, è necessario ripetere l'espressione utilizzata nel controllo calcolato nella funzione.
Quando si desidera fare riferimento alla stessa espressione più volte in una maschera o se si prevede di utilizzare una funzione, ad esempio Somma, è opportuno considerare se è possibile includere l'espressione nella query sottostante della maschera. In questo modo il calcolo potrà essere eseguito nella query anziché nella maschera. L'esecuzione di un calcolo viene spesso effettuata più velocemente in una query.
Per ulteriori informazioni sulle operazioni di somma e di conteggio, vedere i seguenti articoli:
Calcolo del subtotale di un ordine in una sottomaschera
Quando si crea una maschera relativa agli ordini, si utilizzano spesso una maschera principale e una sottomaschera collegate da un campo comune, ad esempio IDOrdine. La maschera principale contiene i dettagli dell'ordine, come l'intestatario della fattura e il destinatario, mentre la sottomaschera contiene i dettagli relativi agli articoli ordinati, quali prodotto, quantità e prezzo unitario. Le informazioni nella maschera principale vengono fornite da una query che include la tabella Ordini, mentre quelle nella sottomaschera vengono fornite da una query che include la tabella Dettagli ordini.
Se la sottomaschera è basata su una query che include un campo calcolato per il calcolo del prezzo complessivo, è possibile sommare i valori nel campo PrezzoComplessivo per calcolare il subtotale. Per calcolare il subtotale dell'ordine, è necessario creare una casella di testo nel piè di pagina di maschera della sottomaschera Ordini.

Per aggiungere una casella di testo con un'espressione per il calcolo del subtotale dell'ordine in una sottomaschera
- Nella finestra del database selezionare Maschere nell'elenco Oggetti.
-
Fare clic sulla sottomaschera, quindi fare clic su Struttura nella finestra del database.
- Nella casella degli strumenti fare clic sullo strumento Casella di testo.
Nota Se la casella degli strumenti non è visualizzata, scegliere Casella degli strumenti dal menu Visualizza.
-
Trascinare il puntatore sulla maschera per creare la casella di testo.
- Fare clic sulla casella di testo per selezionarla.
- Scegliere Proprietà dal menu Visualizza, quindi fare clic sulla scheda Tutte.
- Impostare i valori delle proprietà come illustrato nella seguente tabella.
| Proprietà |
Impostazione |
| Nome elemento |
SubtotaleOrdine |
| Origine controllo |
=Somma([PrezzoComplessivo]) |
| Formato |
Valuta |
- Chiudere la finestra delle proprietà.
Anche se il calcolo del subtotale dell'ordine viene effettuato tramite la casella di testo nella sottomaschera, il valore viene visualizzato solo nella maschera principale. Per nascondere la casella di testo nella sottomaschera, inserirla nel piè di pagina di maschera della sottomaschera e impostare la proprietà VisualizzazionePredefinita della sottomaschera su Visualizzazione Foglio dati. In Access non viene visualizzata l'intestazione o il piè di pagina di una maschera in visualizzazione Foglio dati. Inserire infine la sottomaschera nella maschera principale.
Una sottomaschera non funziona di solito correttamente come maschera indipendente. Le sottomaschere sono infatti progettate come elementi dipendenti da un valore nella maschera principale. In Access la sottomaschera viene limitata ai record appropriati solo dopo che è stata inserita nella maschera principale e dopo che è stato stabilito il campo che collega le due maschere, quale IDOrdine. Quando si utilizza ad esempio una maschera Ordini con una sottomaschera, l'IDOrdine nella maschera principale limita i record nella sottomaschera ai soli record con lo stesso numero di IDOrdine.
Riferimento al subtotale dell'ordine in una maschera principale
I controlli contenuti in una maschera principale e in una sottomaschera possono fare riferimento reciprocamente. Per fare riferimento a un valore in una sottomaschera, utilizzare un'espressione come nella seguente illustrazione.

Il nome del controllo della sottomaschera nella maschera principale
La proprietà Maschera che consente l'accesso ai controlli e alle proprietà della sottomaschera
Il nome del controllo della casella di testo nella sottomaschera
Per visualizzare il subtotale dell'ordine, creare una casella di testo nella sezione dei dettagli della maschera Ordini.
Per visualizzare il subtotale da una sottomaschera in una casella di testo nella sezione dei dettagli della maschera Ordini
- Nella finestra del database selezionare Maschere nell'elenco Oggetti.
-
Fare clic sulla maschera Ordini, quindi fare clic su Struttura nella finestra del database.
- Nella casella degli strumenti fare clic sullo strumento Casella di testo.
Nota Se la casella degli strumenti non è visualizzata, scegliere Casella degli strumenti dal menu Visualizza.
-
Trascinare il puntatore nella sezione dei dettagli della maschera per creare la casella di testo.
- Fare clic sulla casella di testo per selezionarla.
- Scegliere Proprietà dal menu Visualizza, quindi fare clic sulla scheda Tutte.
- Impostare i valori delle proprietà come illustrato nella seguente tabella.
| Proprietà |
Impostazione |
| Nome elemento |
Subtotale |
| Origine controllo |
=[Sottomaschera Ordini].Form![SubtotaleOrdine] |
| Formato |
Valuta |
- Chiudere la finestra delle proprietà.
Ricerca di un valore in una tabella
Quando si progetta una maschera, può essere utile visualizzare un valore da una tabella o da una query diversa da quella a cui è associata la maschera. È possibile ad esempio avere una maschera Prodotti associata alla tabella Prodotti. Dopo aver creato la maschera, si decide tuttavia di visualizzare il nome del contatto del fornitore disponibile nella tabella Fornitori.
Per cercare e visualizzare un valore da un'altra tabella o un'altra query, utilizzare la funzione DLookup con tre argomenti:
- Il nome del campo di cui si desidera cercare il valore
- La tabella o la query in cui si trova il campo
- I criteri da utilizzare per individuare il record
Per aggiungere il contatto del fornitore, aprire la maschera Prodotti in visualizzazione Struttura, quindi aggiungere una casella di testo con l'etichetta Contatto. Di seguito è riportata l'espressione da utilizzare per questa casella di testo:
=DLookup("[Nome]","[Fornitori]","[IDFornitore]=" & Forms!Products!SupplierID)
Per aggiungere la casella di testo del contatto
- Nella finestra del database selezionare Maschere nell'elenco Oggetti.
-
Fare clic sulla maschera Ordini, quindi fare clic su Struttura nella finestra del database.
- Nella casella degli strumenti fare clic sullo strumento Casella di testo.
Nota Se la casella degli strumenti non è visualizzata, scegliere Casella degli strumenti dal menu Visualizza.
-
Trascinare il puntatore sulla maschera per creare la casella di testo.
- Fare clic sulla casella di testo per selezionarla.
- Scegliere Proprietà dal menu Visualizza, quindi fare clic sulla scheda Tutte.
- Impostare i valori delle proprietà come illustrato nella seguente tabella.
| Proprietà |
Impostazione |
| Etichetta |
Nome elemento |
| Origine controllo |
=DLookup("[Nome]","[Fornitori]","[IDFornitore]=" & Forms!Products!SupplierID) |
- Chiudere la finestra delle proprietà.
Con questa espressione viene effettuata la ricerca nella tabella Fornitori e viene restituito il nome del contatto del fornitore il cui ID fornitore corrisponde al valore nel controllo IDFornitore nella maschera Prodotti. Si noti l'utilizzo dell'operatore & per creare il terzo argomento. Evitare l'errore comune di racchiudere l'intero argomento tra virgolette anziché solo il testo prima dell'operatore &.
Nota In alternativa all'utilizzo della funzione DLookup, è possibile modificare la query sottostante in modo da includervi le informazioni necessarie. L'utilizzo di una query risulta spesso più efficiente.
Stampa della data visualizzata su un report
In molti casi potrebbe essere utile stampare la data in cui è stato generato il report. Per ottenere l'inserimento automatico della data, utilizzare la funzione Now o la funzione Date. La funzione Now restituisce la data e l'ora correnti in base all'orologio di sistema del computer, mentre la funzione Date restituisce solo la data corrente. Il risultato di queste due funzioni può essere visualizzato in uno dei formati di data e ora disponibili.
Si supponga di voler stampare un report Fattura e di voler visualizzare la data di stampa nel formato Data breve, ad esempio 31-dic-04. Digitare l'espressione =Date() nella proprietà Origine controllo della casella di testo o nella stessa casella di testo.
Per aggiungere la data di stampa a un report
- Nella finestra del database scegliere Report dall'elenco Oggetti.
-
Fare clic sul report, quindi fare clic su Struttura nella finestra del database.
- Nella casella degli strumenti fare clic sullo strumento Casella di testo.
Nota Se la casella degli strumenti non è visualizzata, scegliere Casella degli strumenti dal menu Visualizza.
-
Trascinare il puntatore nel report per creare la casella di testo.
Nota Se il piè di pagina della pagina non è visibile, scegliere Int./piè pagina pagina dal menu Visualizza.
- Fare clic sulla casella di testo per selezionarla.
- Scegliere Proprietà dal menu Visualizza, quindi fare clic sulla scheda Tutte.
- Impostare i valori delle proprietà come illustrato nella seguente tabella.
| Proprietà |
Impostazione |
| Nome |
DataStampata |
| Origine controllo |
=Date() |
| Formato |
Data breve |
- Chiudere la finestra delle proprietà.
Stampa del numero di pagina su un report
Quando si progetta un report formato da più pagine, potrebbe essere utile aggiungervi numeri di pagina. Questa operazione può essere effettuata mediante la proprietà Page che consente di aggiungere automaticamente numeri alle pagine quando si visualizza in anteprima o si stampa il report. La proprietà Page è disponibile solo quando il report viene visualizzato in anteprima o stampato, quindi non è presente nella finestra delle proprietà.
La proprietà Page viene utilizzata nella proprietà Origine controllo di una casella di testo esattamente come si utilizza una funzione, quale Now o Date. Inserire la casella di testo nell'intestazione o nel piè di pagina del report. Si noti che dopo la proprietà Page non vengono incluse parentesi.

È possibile creare un'espressione in cui venga utilizzata sia la proprietà Page che la proprietà Pages. La proprietà Pages restituisce il numero totale delle pagine nel report. Con la seguente espressione, ad esempio, si ottiene la numerazione delle pagine nel formato Pagina 1 di 10.
="Pagina " & [Page] &" di " & [Pages]
Per aggiungere lo stile precedente per la numerazione delle pagine a un report
- Nella finestra del database scegliere Report dall'elenco Oggetti.
-
Fare clic sul report, quindi fare clic su Struttura nella finestra del database.
- Nella casella degli strumenti fare clic sullo strumento Casella di testo.
Nota Se la casella degli strumenti non è visualizzata, scegliere Casella degli strumenti dal menu Visualizza.
-
Trascinare il puntatore nella sezione piè di pagina del report per creare la casella di testo.
Nota Se il piè di pagina della pagina non è visibile, scegliere Int./piè pagina pagina dal menu Visualizza.
- Fare clic sulla casella di testo per selezionarla.
- Scegliere Proprietà dal menu Visualizza, quindi fare clic sulla scheda Dati.
- Modificare il valore nella casella della proprietà Origine controllo in ="Pagina " & [Page] &" di " & [Pages].
- Chiudere la finestra delle proprietà.
Nota Nel Generatore di espressioni sono incluse alcune espressioni comuni che è possibile utilizzare per la numerazione delle pagine.
Stampa di parte di un valore in un report
Se i primi o gli ultimi caratteri di un campo hanno un significato speciale, è possibile organizzare un report basato su tali caratteri. Ad esempio, se i primi due caratteri nel codice di identificazione di un prodotto identificano il tipo di prodotto, è possibile raggruppare i prodotti in base ai primi due caratteri nel codice e quindi identificare ogni gruppo mediante la stampa dei caratteri in un'intestazione di gruppo.
Utilizzare la funzione Left per estrarre i primi n caratteri di un valore in un campo Testo e la funzione Right per estrarre gli ultimi n caratteri. In entrambi i casi il primo argomento è il nome del campo o l'espressione testuale, mentre il secondo argomento è il numero di caratteri che si desidera estrarre.
Nella seguente tabella sono riportate le espressioni in cui vengono utilizzate queste funzioni.
| Valore nell'ID parte |
Espressione |
Valore restituito |
| AA105 |
=Left([IDParte],2) |
AA |
| AA105 |
=Right([IDParte],3) |
105 |
Per ulteriori informazioni sulle funzioni Left e Right, vedere gli articoli Funzione Left (informazioni in lingua inglese) e Funzione Right (informazioni in lingua inglese).
Utilizzo di separatori di lettera in un elenco alfabetico
Per facilitare l'identificazione in un elenco di prodotti, è possibile raggrupparli in base alla prima lettera dei nomi e stampare tale lettera in un'intestazione di gruppo, come riportato nella seguente illustrazione.

Per iniziare un nuovo gruppo ogni volta che cambia la prima lettera del nome del prodotto e ordinare alfabeticamente i prodotti in ogni gruppo, impostare le proprietà nella finestra Ordinamento e raggruppamento come illustrato nella seguente tabella.
Campo o espressione |
Criterio ordinamento |
Intestazione (gruppo) |
Piè di pagina (gruppo) |
Raggruppa secondo |
Intervallo raggruppam. |
Stampa sezione unita |
| NomeProdotto |
Crescente |
Sì |
Sì |
Caratteri iniziali |
1 |
Gruppo intero |
| NomeProdotto |
Crescente |
No |
No |
Ogni valore |
1 |
No |
Per visualizzare la finestra Ordinamento e raggruppamento
- Aprire il report in visualizzazione Struttura.
- Scegliere Ordinamento e raggruppamento dal menu Visualizza oppure fare clic su Ordinamento e raggruppamento
sulla barra degli strumenti.
Per stampare solo la prima lettera del nome all'inizio di un nuovo gruppo, utilizzare questa espressione nella casella di testo nell'intestazione NomeProdotto:
=Left([NomeProdotto],1)
Stampa dell'equivalente numerico di una data
È possibile organizzare i record in un report in base ai valori numerici per un periodo di tempo, ad esempio un anno, un trimestre, un mese o una settimana. Un anno è suddiviso, ad esempio, in 53 settimane di calendario, dove la prima e l'ultima settimana sono spesso parziali. Il valore numerico per la settimana dal 18-dic-94 al 24-dic-94, ad esempio, è 52. Con questi valori numerici è possibile raggruppare gli ordini spediti in base alla settimana dell'anno.
Per trovare il valore numerico di una data, utilizzare la funzione DatePart. Il formato di questa funzione è il seguente:
DatePart(intervallo, data)
L'argomento intervallo è l'abbreviazione della parte della data che dovrà essere restituita, ad esempio "yyyy" per un anno a quattro cifre, "q" per un trimestre e "m" per un mese. L'argomento data è un nome di campo o una data letterale, ad esempio "1-lug-94".
Nota In alternativa è possibile aggiungere due argomenti alla funzione DatePart, uno per il primo giorno della settimana e l'altro per la prima settimana dell'anno. In questi argomenti è possibile accettare i valori impostati dalle opzioni di visualizzazione primogiornosett e primasett o specificare valori personalizzati.
Nella seguente tabella sono riportati esempi di risultati restituiti da un campo denominato "Vacanza" in cui possono essere memorizzati i giorni di vacanza festeggiati nei paesi in cui opera una società.
| Valore nel campo Vacanza |
Espressione |
Valore restituito |
| 1-gen-94 |
=DatePart("w",[Vacanza]) |
7 (giorno della settimana) |
| 31-dic-94 |
=DatePart("ww",[Vacanza]) |
53 (settimana dell'anno) |
| 31-dic-94 |
=DatePart("yyyy",[Vacanza]) |
1994 (anno a quattro cifre) |
Per ulteriori informazioni sulla funzione DatePart, vedere l'articolo Funzione DatePart (informazioni in lingua inglese).
Per ulteriori informazioni sulla creazione di report raggruppati, vedere l'articolo Creare un report con raggruppamenti o di riepilogo.
Confronto dei risultati di più anni
Se si desidera analizzare i risultati della vendita di uno o più anni, si consiglia di raggruppare i risultati in base a un periodo di tempo, ad esempio un trimestre o un mese. In questo modo sarà possibile verificare rapidamente le prestazioni relative a un periodo di tempo in un anno rispetto allo stesso periodo in un altro anno. Si supponga, ad esempio, di voler creare un report Riepilogo vendite per trimestre con il numero di ordini spediti e i totali delle vendite.

Per creare le intestazioni e i piè di pagina del gruppo e specificare il tipo di ordinamento per questo report, impostare le proprietà nella finestra Ordinamento e raggruppamento come illustrato nella seguente tabella. Viene utilizzata un'espressione per raggruppare gli ordini in base al trimestre in cui sono stati spediti.
Campo o espressione |
Criterio ordinamento |
Intestazione (gruppo) |
Piè di pagina (gruppo) |
Raggruppa secondo |
Intervallo raggruppam. |
Stampa sezione unita |
=DatePart("q", [DataSpedizione]) |
Crescente |
Sì |
Sì |
Ogni valore |
1 |
Sì |
| DataSpedizione |
Crescente |
No |
Sì |
Anno |
1 |
No |
| DataSpedizione |
Crescente |
No |
No |
Ogni valore |
1 |
No |
| IDOrdine |
Crescente |
No |
No |
Ogni valore |
1 |
No |
Per visualizzare la finestra Ordinamento e raggruppamento
- Aprire il report in visualizzazione Struttura.
- Scegliere Ordinamento e raggruppamento dal menu Visualizza oppure fare clic su Ordinamento e raggruppamento
sulla barra degli strumenti.
Per stampare il numero del trimestre all'inizio di un nuovo gruppo, inserire una casella di testo nell'intestazione del gruppo utilizzando la stessa espressione immessa nella finestra Ordinamento e raggruppamento:
=DatePart("q", [DataSpedizione])
Calcolo dei totali relativi agli articoli
Si supponga di voler creare un report Fattura con le informazioni relative a un ordine. È necessario calcolare il prezzo complessivo degli articoli, ovvero le vendite totali per ogni prodotto. Creare innanzitutto una query per fornire i dati per il report, includendo nella query tutti i campi richiesti da tutte le tabelle necessarie, ad esempio le tabelle Ordini, Dettagli ordini e Clienti. Sarà quindi possibile creare un campo calcolato nella griglia di struttura della query per calcolare il prezzo complessivo per ogni prodotto nella fattura.
Per creare un campo calcolato
- Nella finestra del database sotto Oggetti fare clic su Query.
-
Fare clic sulla query, quindi fare clic su Struttura nella finestra del database.
- Fare clic sulla riga Campo di una colonna vuota nella griglia di struttura della query.
- Digitare un nome seguito da due punti (:), quindi un'espressione nella cella Campo. Per calcolare il prezzo complessivo, è possibile utilizzare un'espressione come la seguente:
PrezzoComplessivo: CCur([Dettagli ordini].UnitPrice*[Quantità]*(1-[Sconto])/100)*100
Quando si crea un campo calcolato nella griglia di struttura della query, non anteporre l'operatore = all'espressione.
Identificazione di ordini spediti in ritardo
Nelle migliori circostanze gli ordini vengono spediti puntualmente. È tuttavia possibile che occasionalmente alcuni ordini vengano evasi dopo la data richiesta e che si desideri identificarli in un report. Per contrassegnare tutti gli ordini spediti in ritardo in un report con la registrazione delle spedizioni, è possibile stampare un segno di spunta in una casella di controllo con l'etichetta Spedito in ritardo. Poiché quasi tutti gli ordini vengono spediti puntualmente, sarà più facile individuare il segno di spunta, piuttosto che il testo Puntuale o In ritardo.
L'espressione per questo report consente di confrontare il valore nel campo Data spedizione con il valore nel campo Data richiesta. Se il valore del campo Data spedizione è maggiore (corrisponde a una data successiva) del valore nel campo Data richiesta, verrà restituito il valore True e nel report la casella di controllo conterrà un segno di spunta. Se invece il valore restituito è False, la casella di controllo nel report rimarrà vuota.
Per aggiungere la casella di controllo SpeditoInRitardo a un report
- Nella finestra del database scegliere Report dall'elenco Oggetti.
-
Fare clic sul report, quindi fare clic su Struttura nella finestra del database.
- Nella casella degli strumenti fare clic sullo strumento Casella di controllo.
Nota Se la casella degli strumenti non è visualizzata, scegliere Casella degli strumenti dal menu Visualizza.
-
Trascinare il puntatore nella sezione dei dettagli del report per creare la casella di controllo.
- Fare clic sulla casella di controllo per selezionarla.
- Scegliere Proprietà dal menu Visualizza, quindi fare clic sulla scheda Tutte.
- Impostare le proprietà per la casella di controllo come illustrato nella seguente tabella.
| Proprietà |
Impostazione |
| Nome elemento |
SpeditoInRitardo |
| Origine controllo |
=[Data spedizione]>[Data richiesta] |
| Visibile |
Sì |
- Chiudere la finestra delle proprietà.
Torna all'inizio
Tabella degli operatori
In Access sono supportati vari tipi di operatori, inclusi gli operatori aritmetici come +, -, * (segno di moltiplicazione) e / (segno di divisione), oltre a operatori di confronto per confrontare valori, operatori di testo per concatenare il testo, operatori logici per determinare un valore vero o falso e altri operatori specifici di Access. Per informazioni dettagliate sull'utilizzo di questi operatori, vedere le sezioni seguenti:
Operatori aritmetici
Gli operatori aritmetici vengono utilizzati per calcolare un valore da uno o più numeri o per modificare il segno di un numero da positivo a negativo.
| Operatore |
Scopo |
Esempio |
| + |
Sommare due numeri. |
[Subtotale]+[ImpostaSulleVendite] |
| - |
Trovare la differenza tra due numeri o indicare il valore negativo di un numero. |
[Prezzo]-[Sconto] |
| * |
Moltiplicare due numeri. |
[Quantità]*[Prezzo] |
| / |
Dividere il primo numero per il secondo. |
[Totale]/[ConteggioArticoli] |
| \ |
Arrotondare entrambi i numeri in interi, quindi dividere il primo numero per il secondo e troncare il risultato a un intero. |
[Registrato]\[Stanze] |
| Mod |
Dividere il primo numero per il secondo e restituire solo il resto. |
[Registrato] Mod [Stanze] |
| ^ |
Elevare un numero alla potenza di un esponente. |
Numero ^ Esponente |
Operatori di confronto
Gli operatori di confronto vengono utilizzati per confrontare valori e restituire un risultato vero, falso o null.
| Operatore |
Scopo |
| < |
Determinare se il primo valore è minore del secondo. |
| <= |
Determinare se il primo valore è minore o uguale al secondo. |
| > |
Determinare se il primo valore è maggiore del secondo. |
| >= |
Determinare se il primo valore è maggiore o uguale al secondo. |
| = |
Determinare se il primo valore è uguale al secondo. |
| <> |
Determinare se il primo valore è diverso dal secondo. |
In tutti i casi, se il primo o il secondo valore è null, anche il risultato sarà null. Poiché null rappresenta un valore sconosciuto, anche il risultato di qualsiasi confronto con null sarà sconosciuto.
Operatori logici
Gli operatori logici vengono utilizzati per combinare due valori e restituire un risultato vero, falso o null. Gli operatori logici vengono anche detti operatori booleani.
| Operatore |
Uso |
Descrizione |
| AND |
Espr1 AND Espr2 |
Vero se Espr1 ed Espr2 sono vere. |
| OR |
Espr1 OR Espr2 |
Vero se Espr1 o Espr2 è vera. |
| Eqv |
Espr1 Eqv Espr2 |
Vero se Espr1 ed Espr2 sono entrambe vere o entrambe false. |
| NOT |
NOT Espr |
Vero se Espr non è vera. |
| Xor |
Espr1 Xor Espr2 |
Vero se Espr1 è vera o se Espr2 è vera, ma non entrambe. |
Operatori di concatenazione
Gli operatori di concatenazione vengono utilizzati per combinare due valori di testo in uno solo.
| Operatore |
Uso |
Descrizione |
| & |
stringa1 & stringa2 |
Combina due stringhe per formarne una. |
| + |
stringa1 + stringa2 |
Combina due stringe per formarne una e propaga valori null. |
Operatori speciali
Gli operatori speciali vengono utilizzati come descritto nella seguente tabella.
| Operatore |
Descrizione |
Per ulteriori informazioni |
| Is (Not) Null |
Determina se un valore è Null o Not Null. |
|
| Like "modello" |
Trova la corrispondenza tra valori stringa utilizzando operatori con caratteri jolly ? e *. |
Operatore Like |
| Between val1 And val2 |
Determina se un valore numerico o un valore data rientra in un intervallo. |
Operatore Between...And |
| In(stringa1,stringa2...) |
Determina se un valore stringa rientra in un set di valori stringa. |
Operatore In |
Torna all'inizio