LOOKUPBOX, INPUTBOX, COMBOBOX

Top  Previous  Next

Seznam témat:

řešení

 

Řešení

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