Avevo necessità che l'utente potesse in qualche modo parametrizzare tutto o in parte in nome di una tabella sulla quale far girare il report. Nel caso specifico sul lavor creiamo delle tabelle giornaliere che hanno un nome formato come segue:
DataBase.Piattaforma _090324Quindi il problema era passare la data al report in modo che l'utente potesse con un singolo report, e senza create procedure particolari al livello di db, interrogare più di una tabella a secondo del giorno di interesse.
La cosa più ovvia era che la parte variabile venisse passata tramite un parametro al report e quindi gioco forza il primo tentativo è stato quello di provare la seguente sintassi, dove il parametro veniva passato come stringa:
SELECT * FROM DataBase.Piattaforma _$P{DataTabella}Ovviamente l'esperimento ha prodotto un errore, ma devo dire che la soluzione era a portata di mano. Il trucco sta nell'aggiungere un "!" dopo $P:
SELECT * FROM DataBase.Piattaforma _$P!{DataTabella}Così facendo il tutto funziona perchè il motore effettua la sostituzione del parametro con il suo valore inserito dall'utente prima di inviare la query.
Spero di avervi aiutato anche questa volta.
Wsc