Vytvoření předávacího dotazu

Platí pro
Access pro Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Access můžete používat jako front-end aplikaci a potom odkazovat na tabulky na back-end serveru, jako je třeba SQL Server. Ve výchozím nastavení se většina dotazů spouští místně v databázovém stroji Access ACE. V některých případech může Access spustit dotaz vzdáleně na serveru SQL Server v závislosti na syntaxi SQL a dalších faktorech. Další informace najdete v části Databázový stroj JET verze 3.0: Připojení ODBC v nově objevených dokumentech white paper JET a ODBC.

Často však chcete explicitně spustit dotaz na databázovém serveru. Uděláte to kvůli zvýšení výkonu: databázové servery mají větší výpočetní výkon než stolní počítače a přes síťové připojení můžete vracet menší podmnožinu dat. Pokud chcete spustit dotaz na databázovém serveru, použijte předávací dotaz, což je příkaz Transact SQL (TSQL), který se připojuje k SQL Server pomocí připojovací řetězec ODBC. Můžete například předat příkaz SELECT, který vrátí data do datového listu, formuláře, sestavy nebo ovládacího prvku seznamu, spustí ekvivalent akčních dotazů (příkazy jazyka DML (Data Manipulation Language)), zavolá uložené procedury a provede úlohy správy (příkazy DDL (Data Definition Language).

Poznámka Výsledky předávacího dotazu jsou jen pro čtení. Chcete-li přímo upravovat data v datovém listu nebo formuláři, vytvořte propojenou tabulku s indexovaným zobrazením. Další informace naleznete v tématu Vytváření indexovaných zobrazení.

  1. Připojte se k databázi na serveru.
    Další informace o propojení s SQL Server najdete v tématech Import nebo propojení dat v databázi SQL Server a Propojení nebo import dat z databáze Azure SQL Server.
  2. Vyberte Vytvořit>návrh dotazu.
  3. V případě potřeby zavřete dialogové okno Přidat tabulky (Zobrazení tabulky v Accessu.
  4. Vyberte Navrhnout>průchozí.
    Access skryje návrhovou mřížku dotazu a zobrazí Zobrazení SQL.
  5. Pokud se nezobrazí seznam vlastností dotazu, zobrazte ho stisknutím klávesy F4.
  6. V seznamu vlastností klikněte na pole vlastnosti ODBC Connect Str a proveďte jednu z následujících akcí:

Získání připojovacího řetězce:

  1. V navigačním podokně klikněte pravým tlačítkem myši na tabulku propojenou s požadovaným zdrojem dat a vyberte Správce propojených tabulek.
  2. V dialogovém okně Správce propojených tabulek zaškrtněte políčko zdroje dat a pak vyberte Upravit.
  3. V dialogovém okně Upravit odkaz zkopírujte text v poli Připojovací řetězec .
  1. Zadejte dotaz v zobrazení SQL.
    Poznámka: Mezi jazykem Access SQL a SQL Server TSQL jsou důležité rozdíly, zejména pokud jde o syntaxi, názvy funkcí a argumenty funkcí. Další informace najdete v článku Porovnání Accessového SQL s SQL Serverem TSQL.
    Tip Nejdřív sestavte dotaz TSQL v aplikaci SQL Server Management Studio a pak zkopírujte a vložte tento dotaz do zobrazení SQL. Tím zajistíte správnou syntaxi dotazu. Pokud nemáte pohodlný přístup k databázi serveru SQL Server, zvažte instalaci edice Microsoft SQL Server Express na stolní počítač. Tato možnost podporuje až 10 GB a představuje bezplatný a snadnější způsob provádění a kontroly migrace.

  2. Zvažte nastavení dalších souvisejících vlastností:

    • Vrátí záznamy . Některé příkazy SQL vracejí záznamy (třeba SELECT) a jiné ne, třeba UPDATE. Pokud dotaz vrací záznamy, nastavte tuto vlastnost na Ano; Pokud dotaz nevrátí záznamy, nastavte tuto vlastnost na Ne.
      Poznámka Předávací dotazy můžou vrátit více sad výsledků, ale v datovém listu, formuláři, sestavě nebo proměnné sady záznamů se použije jenom první sada výsledků. Pokud chcete načíst více sad výsledků dotazu, použijte vytvářecí dotaz , jak je znázorněno v následujícím příkladu:

      SELECT <pass-through query name>.*
      INTO <local table name>
      FROM < pass-through query name >
      

      Je nutné použít hvězdičku (*), protože každá sada výsledků může obsahovat různé sloupce. Každá sada výsledků je uložená v samostatné tabulce a čísla se příslušným způsobem přidávají k názvům místních tabulek. Pokud by se například vrátily tři sady výsledků dotazu, názvy tabulky by byly: <název> místní tabulky, <název>místní tabulky 1, <název místní tabulky>2.

    • Protokolovat zprávy Určete, jestli se mají vracet zprávy z databáze SQL v tabulce zpráv Accessu. Název tabulky má formát, uživatelské jméno – nn, kde uživatelské_jméno je přihlašovací jméno aktuálního uživatele a nn je číslo začínající hodnotou 00.

    • Časový limit rozhraní ODBC Zadejte dobu čekání v sekundách, než dojde k chybě vypršení časového limitu při spuštění dotazu. Ve výchozím nastavení je tato hodnota 60 sekund Zpoždění může docházet kvůli síťovému provozu nebo velkému využití databázového serveru.

    • Maximální počet záznamů Zadejte maximální počet záznamů, které se mají vrátit. Možná máte omezené systémové prostředky nebo chcete výsledky otestovat jenom s malým množstvím dat.

  3. Po dokončení zadávání dotazu vyberte Návrhové>spuštění. Váš dotaz je odeslán na databázový server ke zpracování.

Viz také

Referenční informace k Transact-SQL

Dotazování s Transact-SQL