In sintesi
In questa lezione vediamo come utilizzare i campi delle tabelle IMDB mono-riga come filtri di selezione in query parametriche.
Nota: questo video corso è stato realizzato con la versione 4 di Instant Developer. Anche se i contenuti sono ancora attuali e sono utili per imparare ad utilizzare Instant Developer, alcune affermazioni sono di fatto superate. Per i dettagli e le ultime novità sulle funzionalità illustrate vi rimandiamo alla sezione di reference che viene tenuta aggiornata giornalmente.
Nella lezione precedente abbiamo visto come utilizzare le tabelle IMDB mono-riga nel codice. In questa lezione vediamo come utilizzare i campi delle tabelle IMDB mono-riga come filtri di selezione in query parametriche.
Creiamo una nuova form per la visualizzazione dei dati contenuti nella tabella Prodotti e creiamo la voce di menu per aprire la form.
Ora tiriamo il campo ID Prodotto della tabella IMDB sulla Query del pannello Prodotti premendo il tasto SHIFT. Viene aggiunta una nuova condizione di filtro alla query del pannello che rende la query parametrica. Il campo ID Prodotto della tabella IMDB è un parametro che può essere modificato nel codice. Quando questo avviene Instant Developer ricalcola automaticamente la query del pannello. Proviamo, infatti, a creare una button bar nella form con un bottone mediante il quale incrementiamo il campo ID Prodotto. Vedremo che i dati del pannello verranno automaticamente filtrati.
Occorre ricordare che un campo di una tabella IMDB è sempre Nullable e viene inizializzato con valore Null. Pertanto prima di utilizzarlo inizializziamolo nell'evento di Load della form.
Compiliamo e verifichiamo.
Come vediamo solo un prodotto è selezionato, quello con ID uguale a 1. Se premiamo il bottone viene incrementato il campo ID Prodotto della tabella IMDB mono-riga. La query del pannello dipende dal campo della tabella IMDB ed il sistema, che sente la modifica, riesegue automaticamente la query del pannello selezionando il prodotto richiesto.
Nella lezione sui pannelli abbiamo già visto come creare un pannello di tipo Master-Detail. Vediamo la form Categorie. Questa contiene proprio due pannelli Master-Detail. Quando selezioniamo una categoria dal pannello superiore vengono automaticamente mostrati i relativi prodotti.
Questo è possibile in quanto la query del pannello Prodotti dipende dall'ID della categoria attualmente selezionata. Come già detto nella lezione sui pannelli, ogni pannello possiede una tabella IMDB mono-riga interna ove viene conservato il record correntemente selezionato. La clausola where del pannello Prodotti è, in realtà, un riferimento al campo della tabella IMDB mono-riga del pannello Categorie. Quando cambiamo riga nel pannello Master il sistema modifica i dati della tabella IMDB mono-riga sottesa al pannello e questa modifica fa sì che il sistema ricalcoli automaticamente la query parametrica del pannello Detail.