Primer s upitom
Primer s upitima i čitanjem podataka iz prozora
Napravili smo kopiju ispisa 147, koji je u programu u meniju Roba | Zaliha | Pregled trenutne zalihe sa pojednostavljenim datasetom, da će sadržati samo podatke iz tabele idenata i obe klasifikacije. Uslov za upit ćemo pročitati iz tekstualnih komponenti u prozoru u PANTHEON-u.
Prvi ispis 147 otvorimo i napravimo kopiju, na kojoj ćemo raditi. Na panelu Data stavimo objekat za upit i unesemo SQL upit na donjoj slici.
Na panelu Page1 postavimo osobinu bendu Detail na DlDBQuery1 i na njega stavimo sledeća polja:
acIdent, acName, acCode, acClasif in acClasif2.
U filteru za upit ćemo iz prozora u PANTHEON-u pomoću funkcije GetFormValue pročitati uslove za ident i primarnu klasifikaciju.

Slika - Panel Data sa objektom za upit i upisanim upitom SQL
Najpre postavimo osobinu objekta za upit Filtered na True . Zatim u kodu na ispisu dopišemo:
var
cIdent, cKlasif: String;
...
begin
cIdent := GetFormValue('PrometIzpisTrenZaloga.fIdent');
cKlasif := GetFormValue('PrometIzpisTrenZaloga.fKlasif');
DlDBQuery1.Filter := '(1=1)';
if cIdent <> '' then
DlDBQuery1.Filter := DlDBQuery11.Filter + ' AND acIdent = ''' + cIdent + '''';
if cKlasif <> '' then
DlDBQuery1.Filter := DlDBQuery1.Filter + ' AND acClasif = ''' + cKlasif + '''';
end.
Nije potrebno proveravati da li je uslov prvi i zato je potrebno pre njega pisati 'AND', te na početku filtera smo zapisali uslov koji je ispunjen.