Uživatelské nástroje

Nástroje pro tento web


reports:tisk_z_sql

Tisk z SQL

Tisk z jednoduchého SQL dotazu

Pokud chceme vytisknou výsledek jednoduchého SQL dotazu, máme k dispozici tři základní bandy, a to: top_jmeno, body_jmeno a sum_jmeno. Jmeno je jméno tabulky, z které spouštíme SQL dotaz. Máme-li tedy například dotaz v tabulce Partnerů select~*~from~partneri_partneri, jsou k dispozici bandy top_partneri_partneri, body_partneri_partneri a sum_partneri_partneri.

Do bandu body_jmeno se tiskne výsledek SQL dotazu. Můžeme zde tisknou všechny hodnoty vypsané za příkazem select v SQL dotazu. Pokud máme dotaz select~*~from~partneri_partneri, můžeme v tomto bandu tisknou všechny hodnoty z tabulky Partneri.

Tisk ze složených SQL dotazů (<queryitem>)

U složených dotazů jsou názvy bandů odvozeny od jmen, která vyplňujeme v počáteční závorce každého SQL dotazu. Mějme následující složený dotaz:

<queryitem name="jmeno1"><sql>
SELEct idpartner, firma from partneri_partneri
where #i:#
</sql>

<queryitem name="jmeno2"><sql>
select * from partneri_akce akce
where akce.idpartner=:idpartner and iddruh = 'kon'
</sql></queryitem>
</queryitem>

V tiskové sestavě můžeme využít bandy top_jmeno1, body_jmeno1, sum_jmeno1, top_jmeno2, body_jmeno2 a sum_jmeno2.

Hodnoty, které se tisknou v jednotlivých bandech a pořadí tisku jednotlivých bandů můžeme zjistit v Sanitce, kterou vyvoláme kliknutím pravého tlačítka myši na ikoně náhledu.

Několik tipů k tisku z SQL

Tisk časového rozmezí v hlavičce reportu

Pokud chceme na tiskových sestavách tisknou časové rozmezí, na které se nás SQL dotaz zeptá, můžeme tento požadavek vyřešit tak, že za příkaz select dáme dotaz na datum.

Příklad: FIXME select Popis, "#q:od data;co:;s:0#" as datumod, "#q:do data;cd:;s:1#" as datumdo from prost_prost

Na tiskové sestavě pak v bandu top_prost_prost budeme tisknou fieldy datumod a datumdo.

reports/tisk_z_sql.txt · Poslední úprava: 2007/01/04 11:54 autor: Karel Petrů