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

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

Access můžete použít jako front-end aplikaci a pak propojit tabulky na back-end serveru, jako je SQL Server. Ve výchozím nastavení většina dotazů běží místně v databázovém stroji Access ACE. V některých případech může Access spustit dotaz vzdáleně na SQL Serveru v závislosti na syntaxi SQL a dalších faktorech. Další informace najdete v tématu "Databázový stroj JET verze 3.0: Připojení ODBC" v dokumentech White Paper pro znovuobjevenédatabázové stroje JET a ODBC .

Často ale chcete explicitně spustit dotaz na databázovém serveru. Můžete to udělat, abyste zlepšili výkon: databázové servery mají větší výpočetní výkon než stolní počítač a můžete vrátit menší podmnožinu dat přes síťové připojení. 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 Serveru pomocí připojovacího řetězce ODBC. Můžete například předat příkaz SELECT a vrátit data do datového listu, formuláře, sestavy nebo ovládacího prvku seznamu, spustit ekvivalent akčních dotazů (příkazy jazyka DML (Data Manipulation Language), volat uložené procedury a provádět úkoly správy (příkazy jazyka DDL (Data Definition Language).

Poznámka    Výsledky předávkovací dotazu jsou jen pro čtení. Pokud chcete přímo upravovat data v datovém listu nebo formuláři, vytvořte propojenou tabulku s indexované zobrazení. Další informace najdete v tématu Vytvoření indexovaných zobrazení.

  1. Připojte se k serverové databázi.

    Další informace o propojení s SQL Serverem najdete v tématu Import nebo propojení dat v databázi SQL Serveru a Propojení nebo import dat z databáze Azure SQL Serveru.

  2. Vyberte Vytvořit návrh > dotazu.

  3. V případě potřeby zavřete dialogové okno Přidat tabulky (Zobrazit tabulku vAccess 2013.

  4. Vyberte Návrh >Předávk.

    Access skryje návrhovou mřížku dotazu a zobrazí zobrazení SQL.

  5. Pokud se seznam vlastností dotazu nezobrazí, zobrazte ho stisknutím klávesy F4.

  6. V seznamu vlastností klikněte na pole vlastnosti ODBC Connect Str a pak proveďte jednu z těchto 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 do pole Připojovací řetězec.

    1. Vyberte Vytvořit Tlačítko Tvůrce .

    2. Podle pokynů vytvořte soubor DSN, který obsahuje informace o připojovacím řetězci. Podrobné kroky najdete v tématu Import nebo propojení dat v databázi SQL Serveru a Propojení nebo import dat z databáze Azure SQL Serveru.

    Po vytvoření připojení k souboru DSN se připojovací řetězec ODBC interně uloží do databáze Accessu. Tady je trik, jak získat kopii tohoto řetězce:

    1. Vyhledejte název propojené tabulky v navigačním podokně pomocí připojení ODBC, které chcete použít.

    2. Stiskněte Ctrl+G. otevřete okno Vba Immediate .

    3. Zadejte: následující kód:

      ?CurrentDb.TableDefs("<table name>").Connect

      Ale nahraďte název <tabulky> název propojené tabulky z kroku a.

    4. Zkopírujte řetězec vrácený do vlastnosti ODBC Connect Str.

  7. Zadejte dotaz do zobrazení SQL.

    Poznámka   Mezi sql sql a SQL Serverem TSQL jsou důležité rozdíly, hlavně u syntaxe, názvů funkcí a argumentů funkce. Další informace najdete v článku Porovnání Accessového SQL s SQL Serverem TSQL.

    Tip    Nejdřív vytvořte dotaz TSQL v SQL Serveru Management Studio a pak zkopírujte a vložte SQL do zobrazení SQL. Tím zajistíte, že dotaz má správnou syntaxi. Pokud nemáte pohodlný přístup k databázi SQL Serveru, zvažte instalaci edice Microsoft SQL Server Express na plochu, která podporuje až 10 GB a je to bezplatný a jednodušší způsob, jak projít a zkontrolovat migraci.

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

    • Vrátí záznamy.     Některé příkazy SQL vracejí záznamy, například SELECT, a některé ne, například UPDATE. Pokud dotaz vrátí záznamy, nastavte tuto vlastnost na Ano; Pokud dotaz nevrátí záznamy, nastavte tuto vlastnost na Ne.

      Poznámka    Předávkovací dotazy vracejí 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ů, použijte vytyčící dotaz, jak ukazuje následující příklad:

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

      Hvězdičku (*) musíte použít, protože každá sada výsledků může mít různé sloupce. Každá sada výsledků se uloží do samostatné tabulky a čísla se odpovídajícím způsobem připojí k názvům místní tabulky. Pokud jsou například vráceny tři sady výsledků, budou názvy tabulek <následující: 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í v tabulce zpráv Accessu vracet zprávy z databáze SQL. 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 od 00.

    • Časový limit ODBC    Zadejte počet sekund, po které se má čekat, než dojde k chybě časového limitu při spuštění dotazu. Ve výchozím nastavení je tato hodnota 60 sekund Může dojít ke zpoždění kvůli síťovému provozu nebo velkému používání databázového serveru.

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

  9. Po zadání dotazu vyberte Návrh a > Spustit. Dotaz se odesílá na databázový server ke zpracování.

Viz také

Transact-SQL Reference

Dotazování pomocí jazyka Transact-SQL

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.

×