Scopo
Riesegue l'ultima query effettuata dal pannello, facendo tornare il pannello in stato DATA. E' l'equivalente del tasto F6-Aggiorna della toolbar del pannello.
Sintassi
// Riesegue la query
Pannello.RefreshQuery()
Pannello.RefreshQuery()
Argomenti
Questa procedura non ha argomenti.Esempio di codice
// *************************************
// Aumenta la scorta di tutti i prodotti
// *************************************
public void Prodotti2.BottoneAumenta()
{
// Aumento la scorta
update Prodotti
set Scorte := Scorte + ONE
//
// Aggiorno i dati a video
Prodotti.RefreshQuery()
}
// Aumenta la scorta di tutti i prodotti
// *************************************
public void Prodotti2.BottoneAumenta()
{
// Aumento la scorta
update Prodotti
set Scorte := Scorte + ONE
//
// Aggiorno i dati a video
Prodotti.RefreshQuery()
}
- Questa procedura può essere utilizzata per aggiornare i dati contenuti nel pannello se cambiano in maniera indipedente dai parametri della master query.
- Se il pannello è in stato QBE questo comando non ha effetto.
- Se la sorgente di dati del pannello è una query IMDB questo comando non ha effetto.
- Dopo aver rieseguito la query, viene notificato l'evento AfterFind.
- Se il pannello era stato portato in stato DATA utilizzando il comando InsertRow (o il tasto F7-Inserisci), il comando RefreshQuery causa lo svuotamento del pannello. Questo perchè il pannello ha sempre bisogno di un set di dati interno per lavorare e se viene dato il comando InsertRow quando esso è in stato QBE viene eseguita una query che sicuramente torna zero record aggiungendo un criterio di filtro "where 0=1". Il comando RefreshQuery, rieseguendo tale query, causa lo svuotamento dell pannello. Per evitarlo è necessario intercettare il comando RefreshQuery nell'evento OnCommand e sostituirlo con una ricerca mirata ai record appena inseriti che potranno essere trovati ad esempio per data di creazione o per campo contatore.
Ultima modifica: 23/03/2021 / Validità: da 6.5.2680