Zrušení tisku při nepřítomnosti záznamů v sestavě

Ve výchozím nastavení můžete vytisknout sestavy, které neobsahují žádné záznamy. Tento problém můžete vyřešit tak, že makro nebo kód jazyka VBA (Microsoft Visual Basic for Applications) zjistíte, že v sestavě chybí záznamy, a zrušíte operaci tisku. Oba postupy jsou vysvětlené v tomto článku.

V tomto článku

Pokud sestava neobsahuje žádné záznamy, asi budete chtít tisk sestavy zrušit. Pokud třeba začínáte prodávat nový produkt, bude asi nějaké období, ve kterém jste ještě žádné prodeje zaregistrovali. Měli byste proto zvážit možnost, že některé z vašich sestav nemusí obsahovat žádné podrobné záznamy a že agregační funkce, jako je třeba funkce Count, nemusí spočítat nic. Pokud chcete s takovým výskytem pracovat elegantně, můžete vytvořit makro, které tiskovou úlohu zruší. Můžete také přidat několik řádků pečlivě umístěného kódu VBA, abyste mohli udělat to samé. VBA je programovací jazyk, který Access jazyk.

Přidejte buď makro, nebo kód jazyka VBA do procedury události On No Data sestavy. Access spustí událost Při žádných datech, kdykoli spustíte sestavu, která nemá žádné záznamy. Makro a kód jazyka VBA popsané v tomto článku zobrazí příslušnou zprávu a zruší tisk sestavy, když tato sestava neobsahuje žádná data. Když přidáte makro nebo kód jazyka VBA do procedury události Při bez dat, makro nebo kód jazyka VBA se spustí pokaždé, když otevřete sestavu, která neobsahuje žádné záznamy. Po kliknutí na OK zavřete upozornění, makro také zavře prázdnou sestavu. Když do sestavy přidáte makro nebo kód jazyka VBA, při pokusu o zobrazení sestavy nebo v zobrazení rozložení se neotevře prázdná sestava, ale můžete ji otevřít v návrhovém zobrazení.

Zrušení tisku pomocí makra

Makro popsané v této části zobrazí při pokusu o tisk prázdné sestavy upozornění. Po kliknutí na OK zavřete okno se zprávou, makro automaticky zruší operaci tisku. Pokud upozornění nezadáte, bude vypadat, jako by se při pokusu o tisk sestavy nic neděje – něco, co by pravděpodobně zmást uživatele sestavy.

Vytvoření makra

  1. V navigačním podokně klikněte pravým tlačítkem myši na sestavu, kterou chcete změnit, a klikněte na návrhové zobrazení.

  2. Na kartě Návrh ve skupině Zobrazit nebo skrýt klikněte na Seznam vlastností.

    – nebo –

    V závislosti na vašem nastavení oblasti a jazyka poklikejte na pole v levém horním nebo pravém rohu sestavy.

  3. Klikněte na kartu Událost a v poli vlastnosti Při bez dat klikněte na Tlačítko Tvůrce .

    Zobrazí se dialogové okno Zvolit tvůrce.

  4. Klikněte na Tvůrce maker apotom na OK.

    Návrhář makra se spustí a zobrazí prázdné makro.

  5. V rozevíracím seznamu akcí makra v okně pro návrh makra vyberte v seznamu Okno zpráv.

  6. do pole Zpráva zadejte text upozornění.

    Můžete například zadat toto: Nejsou žádné záznamy, které by bylo možné vyhlásit.

  7. Volitelně můžete změňte hodnotu argumentu v poli Zvukový signál z Ano na Ne a v seznamu Typ vyberte typ ikony, která se má zobrazit ve zprávě upozornění.

  8. Do pole Název zadejte název chybové zprávy.

    Mohli byste například zadat Žádné záznamy.

  9. Vyberte rozevírací seznam akcí makra pod akcí MessageBox (Okno zprávy) a pak vyberte CancelEvent (ZrušitUdálost).

  10. Na kartě Návrh klikněte ve skupině Zavřít na Tlačítko Uložit.

  11. Na kartě Návrh, ve skupině Zavřít, klikněte na příkaz Zavřít. Pokud se zobrazí upozornění s dotazem, jestli chcete uložit změny makra a vlastnosti sestavy, klikněte na Ano,zavřete sestavu, pokud se zobrazí výzva, uložte změny a pokračujte dalším postupem, který můžete otestovat.

Otestování makra

  • V navigačním podokně klikněte pravým tlačítkem myši na sestavu obsahující makro a klikněte na příkaz Tisk. V závislosti na možnostech, které jste zvolili, Access zobrazí upozornění.

    Po kliknutí na OK zavřete zprávu, zruší akce ZrušitUdálost operaci tisku. Vzhledem k tomu, že jste zadali jinou událost (například otevření sestavy pro zobrazení), zavře se sestava.

Začátek stránky

Zrušení tisku pomocí kódu jazyka VBA

Kód VBA, který tady popisujeme, funguje podobně jako makro popsané v předchozí části – zobrazí upozornění při otevření prázdné sestavy a při zavření upozornění zruší operaci tisku.

Přidání kódu jazyka VBA

  1. V navigačním podokně klikněte pravým tlačítkem myši na sestavu, kterou chcete změnit, a klikněte na návrhové zobrazení.

    Poznámka: K provedení tohoto postupu použijte sestavu, která neobsahuje žádné záznamy.

  2. Na kartě Návrh ve skupině Zobrazit nebo skrýt klikněte na Seznam vlastností.

    – nebo –

    V závislosti na vašem nastavení oblasti a jazyka poklikejte na pole v levém horním nebo pravém rohu sestavy.

  3. Klikněte na kartu Událost a v poli vlastnosti Při bez dat klikněte na Tlačítko Tvůrce .

    Zobrazí se dialogové okno Zvolit tvůrce.

  4. Klikněte na Tvůrce kódu apotom na OK.

    Spustí se Visual Basic Editor a zobrazí prázdnou obslužnou proceduru události.

  5. Zadejte do Visual Basic Editoru následující kód, aby se Report_NoData po jeho zadání vypadat přesně takto:

    Private Sub Report_NoData (Cancel As Integer)
    MsgBox "There are no records to report", vbExclamation, "No Records"
    Cancel = True
    End Sub
  6. Po dokončení klikněte na Soubor apotom na Uložit.

  7. Klikněte na Soubora potom na Zavřít a Vrátit se do Microsoft Accessu.

  8. Zavřete otevřenou sestavu a kliknutím na Ano potvrďte uložení.

  9. V navigačním podokně klikněte pravým tlačítkem myši na sestavu, kterou jste právě změnili, a klikněte na příkaz Tisk. V závislosti na možnostech, které jste zvolili, Access zobrazí upozornění.

Tento Report_NoData používá funkci MsgBox k zobrazení zprávy Nejsou žádné záznamy pro nahlášení zprávy a tlačítko OK. Po kliknutí na OKse na řádek Zrušit=Pravda v postupu zobrazí pokyn Accessu, aby sestavu zrušil. Cancel je argument, který se automaticky předá proceduře události a access ji vždy kontroluje po dokončení procedury události.

Začátek stránky

Potřebujete další pomoc?

Rozšiřte své dovednosti s Office
Projít školení
Získejte nové funkce jako první
Připojte se k účastníkům programu Office Insiders

Byly tyto informace užitečné?

Děkujeme vám za zpětnou vazbu.

Děkujeme vám za váš názor! Pravděpodobně bude užitečné, když vás spojíme s některým z našich agentů podpory Office.

×