Scopo
Questa procedura comunica al report che prima di effettuare la prossima stampa la query dovrà essere rieseguita. Il report, infatti, dopo essere stato stampato conserva in memoria i record della query per una eventuale ristampa, e questo fino al momento in cui la videata viene chiusa.
Questa procedura è utile nel caso in cui i dati sul database cambino e si voglia rappresentare nel book, e quindi nel report in esso contenuto, i dati aggiornati.
Sintassi
// Riesegue la query
Book.Report.RefreshQuery()
Book.Report.RefreshQuery()
Argomenti
Questa procedura non ha argomenti.Esempio di codice
// Se la riga corrente è selezionata
if Categorie.IsRowSelected(riga)
{
// Aggiorno il valore del parametro della query del report
Filtro.Idcategoria := Prodotto.IDCategoria
// // Chiedo al sistema di rieseguire la query durante la stampa // Devo farlo poiché ho cambiato il valore del parametro!
BookProdottiCategoria.Prodotti.RefreshQuery()
// // Stampo il book
BookProdottiCategoria.Print(ONE, C-1)
}
if Categorie.IsRowSelected(riga)
{
// Aggiorno il valore del parametro della query del report
Filtro.Idcategoria := Prodotto.IDCategoria
// // Chiedo al sistema di rieseguire la query durante la stampa // Devo farlo poiché ho cambiato il valore del parametro!
BookProdottiCategoria.Prodotti.RefreshQuery()
// // Stampo il book
BookProdottiCategoria.Print(ONE, C-1)
}
- Questa procedura può essere utile qualora i dati su database cambino e sia necessario aggiornare un report contenuto in un book mostrato a video in una videata.
- Il metodo Refresh Query del book chiama il metodo RefreshQuery di ognuno dei report in esso contenuti.
- Se il book che contiene il report è contenuto in una videata o mostrato in anteprima, la RefreshQuery, determina anche la ristampa del book fino a ritornare alla pagina attualmente mostrata.
-
Se la query del report contiene parametri IMDB il sistema aggiorna i valori dei parametri prima di rieseguire la query. Quindi la procedura RefreshQuery può essere utile anche quando cambiano i valori dei parametri della query parametrica e si desideri ristampare lo stesso book con i nuovi valori dei parametri.
Se il book che contiene il report è mostrato in anteprima in una videata non è necessario chiamare questa procedura perchè il sistema se ne accorge durante il ciclo di aggiornamento dell'interfaccia utente. Se invece il book non è mostrato in una videata ma viene, per esempio, stampato su PDF ed è necessario ristampare il book dopo aver modificato il valore dei parametri, occorre chiamare la procedura RefreshQuery prima di chiamare il metodo Print, altrimenti il report riutilizzerà i record caricati in precedenza.
Ultima modifica: 23/03/2021 / Validità: da 6.7.2900