150 likes | 259 Views
MS ACCESS parametrický dotaz. Roman Danel. Příprava: tabulky. Vytvořte tabulku ODBERATELE s poli: ID_ODBERATEL (automatické číslo) NAZEV (text) ICO (číslo) ADRESA (text) Vytvořte tabulku PRODEJ s poli: ID_PRODEJ (automatické číslo) ID_ODBERATEL (číslo) NAZEV_ZBOZI (text) DATUM (datum)
E N D
MS ACCESSparametrický dotaz Roman Danel
Příprava: tabulky • Vytvořte tabulku ODBERATELE s poli: • ID_ODBERATEL (automatické číslo) • NAZEV (text) • ICO (číslo) • ADRESA (text) • Vytvořte tabulku PRODEJ s poli: • ID_PRODEJ (automatické číslo) • ID_ODBERATEL (číslo) • NAZEV_ZBOZI (text) • DATUM (datum) • KUSY (číslo)
Příprava: vytvoření relace a vložení dat • Vytvořte relaci 1:N mezi oběma tabulkami přes ID_ODBERATEL • Do tabulek vložte testovací data tak, aby v tabulce PRODEJ bylo několik záznamů s různými datumy (aspoň dva starší 1.10.2010 a několik s datumem vyšším)
Vytvoření dotazu - návrh • Vytvořit – Návrh dotazu • Vložte tabulky ODBERATEL a PRODEJE • Do dotazu přidejte pole: • Název odběratele • Adresa • Název zboží • Datum • kusy
Uložení dotazu • Dotaz uložte pod jménem „Prodej za období“
Definování kritéria • V položce „Datum“ zvolte „kritéria“ a v tomto poli klikněte pravým tlačítkem myši • Otevře se nabídka, ze které zvolte „Sestavit“ • Zobrazí se „Tvůrce výrazů“ • V něm zadejte between 1.10.2010 and31.12.2010 • Dotaz uložte a zobrazte data
Resume • Dotaz není funguje jako jednoduchý filtr – výstupem je „tabulka“, která zobrazuje pouze zvolené sloupce a vyfiltrovaná data načtená z reálných tabulek Poznámka: V databázových systémech se pro tento objekt používá termín VIEW.
Úprava na parametrický dotaz • Otevřete dotaz v návrhovém zobrazení • V poli „kritéria“ pro sloupec datum otevřete Tvůrce výrazů • Text „between 1.10.2010 and 31.12.2010 změňte na „between [Počáteční datum:] and [Koncové datum:] • Změny v dotazu uložte
Příklad č.2 Dotaz realizující výpočet funkce (bez tabulek)
Zadání • Vytvořte dotaz, který vypočítá funkci (sin(x) * cos(x)) / (1 – sin(y))
Vytvoření dotazu • Zvolte „Vytvořit“ a „Návrh dotazu“ • Průvodce se seznamem tabulek zavřete tlačítkem „Zavřít“ bez vložení tabulky do dotazu • V prvním sloupci v řádku „Pole“ klikněte pravým tlačítkem myši, zvolte „Sestavit“ – zobrazí se Tvůrce výrazů
Definice funkce V tvůrci výrazů definujte pomocí „Funkce“ Sin([«angle»])*Cos([«angle»])/(1-Cos([«angle»])) Dotaz uložte jako „Výpočet funkce“ a vyzkoušejte zda funguje. Poznámka: bude mít nyní pouze jeden parametr – angle
Parametrizace dotazu • Otevřete znovu Tvůrce výrazů (v návrhovém zobrazení dotazu) • Změňte parametry ve výrazu takto: Sin([Hodnota x])*Cos([Hodnota x])/(1-Cos([Hodnota y])) • Dotaz uložte a vyzkoušejte