Scopo
La procedura SQLWhereClause aggiunge il testo fornito come parametro al testo della query del report così come definito a design-time.
Normalmente questa procedura viene utilizzata per stampare un book utilizzando gli stessi dati mostrati in un pannello che abbia una query simile. La funzione WhereClause del pannello, permette di recuperare il testo SQL utilizzato attualmente dal pannello. Il testo SQL restituito dalla funzione contiene anche gli eventuali criteri di ricerca digitati dall'utente dopo aver portato il pannello in ricerca. Il risultato della funzione WhereClause potrebbe essere fornito come parametro alla procedura SQLWhereClause per far sì che il book stampi gli stessi records mostrati nel pannello.
Sintassi
Argomenti
Where Clause | E' una stringa che rappresenta il testo SQL da aggiungere alla query del report. |
Order By | E' una stringa opzionale che rappresenta il testo SQL da aggiungere alla query del report. Se non viene fornito il sistema non modifica la porzione della query che riguarda gli ordinamenti. Questo parametro è stato aggiunto a partire dalla versione 7.5 di Instant Developer. |
Esempio di codice
// Stampo il book utilizzando i criteri di ricerca impostati nel pannello
// **********************************************************************
public void Clienti.StampaBook()
{
string sql = "" //
//
// Estraggo i criteri di ricerca utilizzati dal pannello
sql := Clienti.SQLWhereClause()
//
// E li fornisco al report... in questo modo il book conterrà solo i records
// mostrati dal pannello
ClientiBook.NewReport.SQLWhereClause(sql)
//
ClientiBook.RefreshQuery()
ClientiBook.Print(ONE, C-1)
EsempiLB.OpenDocument(ClientiBook.WebFileName(), ??, ??)
}
- Attenzione: Il comando SQLWhereClause del report ha effetto solo se la query del report è su database.
- Il sistema, dopo aver aggiornato il testo della query del report, chiama la procedura RefreshQuery del report per comunicare al report stesso che se il book viene ristampato la query deve essere rieseguita.
- Se il valore fornito alla procedura è Empty String il sistema ripristina la query del report allo stato definito a design-time.
- La chiamata alla procedura SQLWhereClause applica le modifiche al testo della query definito a design time. Quindi chiamate successive alla procedura SQLWhereClause non vengono cumulate.
- La procedura viene utilizzata in automatico dal sistema quando il book è collegato al pannello. Per collegarli è sufficiente tirare il book sul pannello. In questo modo il sistema presenta l'icona di stampa sulla toolbar del pannello. Alla pressione dell'icona di stampa il sistema notifica l'evento di OnPrint. Se il parametro SetWhereClause dell'evento è valorizzato a True il sistema preleva dal pannello il testo SQL delle clausole Where e le fornisce al report mediante la procedura SQLWhereClause e stampa il book.
- Attenzione: Se la procedura viene utilizzata per copiare i criteri di ricerca da un pannello al report, occorre che le query del pannello e del report siano simili. In particolare è necessario che gli alias delle tabelle presenti in entrambe le query siano gli stessi. Inoltre la query del report deve contenere tutte le tabelle utilizzate nella query del pannello i cui campi siano presenti a video e siano utilizzabili come criteri di ricerca.
Ultima modifica: 23/03/2021 / Validità: da 6.5.2680