Scenario: abbiamo un report con N pagine e, in ciascun report, vogliamo visualizzare, all'interno di una textbox, la data (gg/mm/aaaa hh:mm:ss) di esecuzione.
In realtà vogliamo che il valore della textbox sia identico su ognuna delle pagine.
La difficoltà della nostra soluzione sta nel fatto che, ogni volta che apriamo (sfogliamo) una nuova pagina, il valore della textbox (definito come espressione sulla funzione now()), viene ricalcolato. Ovvero: ci mostra il momento attuale di visualizzazione della pagina, non il momento in cui abbiamo aperto il report (la pagina numero 1).
I reporting services 2008 introducono un nuovo oggetto, che può tornare utile in scenari come questo: le variabili.
Ovvero sono in grado di creare una variabile, di associare il suo valore all'espressione fino ad ora utilizzata nel footer del report e legare la textbox (del footer) alla variabile stessa.
Per riferirci alle nostre variabili andremo ad utilizzare la stessa sintassi che utilizziamo per oggetti globali, ovvero:
=Variables!nomeDellaMiaVariabile.Value
Per gestire le variabili è sufficiente aprire le proprietà del report, come mostrato in figura:
Unica nota dolente: ad oggi, all'interno della finestra di Expression, all'interno delle varie categorie (constants, globals, parameters, ...) non ci sono ancora le variabili (e quindi devo ricordarmi e scrivere a mano).
Speriamo di averle prima della RTM :-)