LOOKUPBOX, INPUTBOX, COMBOBOX |
Top Previous Next |
Seznam témat:
LOOKUPBOX - použijeme v případě, kdy chceme aby uživatel před tiskem určil nějaký další parametr z některé tabulky. Např. pokud potřebujeme dostat do proměnné ičo, můžeme takto jednoduše nabídnout uživateli možnost výběru přímo z tabulky gfrimy
V sestavě do scriptu pred tiskem je treba vlozit napr. toto:
SET VARICO=LOOKUPBOX('Vyberte odběratele','id_ico','SELECT nazev1, id_ico FROM dba.gfirmy ORDER BY nazev1') SETQUERYPARAM('dotaz1','ico',varico) REFRESH('dotaz1')
/ promenna=LOOKUPBOX('Text pred vyberem','pozadovana hodnota','dotaz SQL') - podle dotazu se budou zobrazovat fieldy, takze je lze i seřadit apod. / dostrka ziskanou hodnotu do dotazu
Pozor ! : LOOKUPBOX umí vybírat i více polí, což může být někdy velmi šikovné
SET vdeal= LOOKUPBOX('Vyberte garanta','id_ico;id_multi','SELECT nazev1, id_ico, id_multi FROM dba.gfirmy WHERE dealer=1') SET dico=STRPARSE(vdeal, 1, ';') SET dmulti=STRTOINT(STRPARSE(vdeal, 2, ';'))
- funkci STRPARSE vyberete konkrétní pole ze seznamu
INPUTBOX - používáme v případě kdy požadujeme získat určitou hodnotu proměnné před tiskem, ale nelze ji získat z dotazu Př.: (Potrebuji na frm vypsat dvě hodnoty, textový důvod a částku) SETVAR('duvod','') SETVAR('odpocet','')
INPUTBOX('Důvod','Zadejte důvod odpočtu částky k úhradě','duvod') SET varduvod=GETVAR('duvod') INPUTBOX('Odpočet','Zadejte výše odečítané částky','odpocet') SET varodpocet=GETVAR('odpocet')
// SETVAR(nastav hodnotu promenne, na '') - POZOR, zde je nutné definovat prvotní proměnnou z inputboxu, jinak se bude takto vyplněná hodnota přednabízet i při dalším tisku. // INPUTBOX('nazevboxu','Text v nadpisu okna','promenna1') // SET promenna2=GETVAR('promenna1') - ve vlastním form. se odkazujete na promennou2
!Upozornění : pokud budete chtít získat číselnou hodnotu, musíte ji pak převézt ze stringu na integer funkcí STRTONUM(varodpocet)
COMBOBOX - pro výběr z několika pevných možností, bez dotazu z databáze // hodnoty proměnných se číslují od 0, na konci můžeme určit která z možností se bude přednabízet.
SET var1=COMBOBOX('Ureete typ výbiru','Všechny skupiny;Výběr skupiny',0)
// hodnota -1 nastane při stornu, takto ji ošetřujeme IF(var1=-1) SET var1=0 ENDIF IF (var1=0) SET skupina='%%' SETQUERYPARAM('dotaz1','skupina',skupina) REFRESH('dotaz1') ENDIF
IF (var1=1) SET skupina = LOOKUPBOX('Vyberte skupinu','id_skupina','SELECT id_skupina FROM DBA.omskup') SETQUERYPARAM('dotaz1','skupina',skupina) REFRESH('dotaz1') ENDIF
Související témata |