ACC2000: Jak vytvořit křížový dotaz s více hodnot polí

Překlady článku Překlady článku
ID článku: 209143 - Produkty, které se vztahují k tomuto článku.
Aplikace Microsoft Access 2002 verzi tohoto článku naleznete 304458.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Souhrn

Začínajícího: Vyžaduje znalost uživatelského rozhraní v počítačích pro jednoho uživatele.

V křížovém dotazu dojde můžete zadat pouze jedno pole nebo výpočtu jako hodnotu. Chcete často, v dotazu zobrazit více než jednu hodnotu.

Například následující příklad ukazuje dva sloupce informací za společnosti počet počet objednávek, a pořadí součty pro každý rok:
   Company Name  1998 Orders  1998 Total  1999 Orders  1999 Total
   --------------------------------------------------------------
   ABC Company   12           $855.00     15           $1010.25
   XYZ Company   1017         $22045.57   1050         $25345.29
				
tento typ dotazu se někdy nazývá více hodnot polí dotazu.

Poznámka: je-li zobrazit ukázku technika se používá v tomto článku v ukázkovém souboru Qrysmp00.exe. Informace o získání ukázkový soubor naleznete v následujícím článku databáze Microsoft Knowledge Base:
207626ACC2000: Access 2000 Sample dotazy dostupné v Centru pro stahování

Další informace

Chcete-li vytvořit křížový dotaz více hodnot polí, musíte vytvořit samostatné křížového dotazu pro každou hodnotu chcete vypočítat. Tyto dotazy mohou pak být připojen, zobrazení požadované výsledky pomocí výběrového dotazu.

Následující příklad používá ukázkovou databázi Northwind.mdb vytvořit dotaz zobrazí výsledky podobně jako v příkladu v části "Shrnutí" dříve v tomto článku. Zobrazuje číslo prodeje a součtu pro každý rok pro každou společnost.
  1. Otevřete ukázkovou databázi Northwind.mdb a vytvořte následující křížový dotaz založený na objednávky a Rozpis tabulek Zákazníci:
       Query: Order Total
       ------------------
       Type: Crosstab Query
       Join: Customers.[CustomerID] <-> Orders.[CustomerID]
       Join: Orders.[OrderID] <-> Order Details.[OrderID]
    
       Field: CompanyName
          Table Name: Customers
          Total: Group By
          Crosstab: Row Heading
    
       Field: Expr1: Year([OrderDate]) & " " & "Order Total"
          Table Name:
          Total: Group By
          Crosstab: Column Heading
    
      Field: Expr2: Sum(CCur([UnitPrice]*[Quantity]*(1-[Discount])))
          Table Name:
          Total: Expression
          Crosstab: Value
    					
  2. Vytvořte následující křížový dotaz založený na tabulkách Zákazníci a objednávky:
       Query: Order Count
       ------------------
       Type: Crosstab Query
       Join: Customers.[CustomerID] <-> Orders.[CustomerID]
    
       Field: CompanyName
          Table Name: Customers
          Total:      Group By
          Crosstab:   Row Heading
    
       Field: Expr1: Year([OrderDate]) & " " & "Order Count"
          Table Name:
          Total: Group By
          Crosstab: Column Heading
    
       Field: OrderID
          Table Name: Orders
          Total:      Count
          Crosstab:   Value
    					
  3. Vytvoření dotazu na základě objednávky celkem a součtu objednávek křížové dotazy. Firma, stejně jako pole součtu objednávek a objednávek celkem použije pro roky, jehož výsledky chcete zobrazit. Následující příklad používá poslední dva roky objednávky celkem a součtu objednávek v aplikaci Access.
       Query: Multiple Values
       ----------------------
       Join: Order Total.[CompanyName] <-> Order Count.[CompanyName]
    
       Field: CompanyName
          Table Name: Order Count
    
       Field: 1997 Order Count
          Table Name: Order Count
    
       Field: 1997 Order Total
          Table Name: Order Total
    
       Field: 1998 Order Count
          Table Name: Order Count
    
       Field: 1998 Order Total
          Table Name: Order Total
    					
Spuštění dotazu více hodnot v tabulce vypadá následující výsledky:
                         1997 Order  1997 Order  1998 Order  1998 Order
   Company Name            Count       Total       Count       Total
   --------------------------------------------------------------------
   Alfred's Futterkiste        3      $2,022.50        3      $2,022.50
   Ana Trujillo                2        $799.75        1        $514.10
   Antonio Moreno              5      $5,960.78        1        $660.00
				
Poznámka: muset o název tabulky přidat do výrazu, pokud připojen zadané pro pole ve více tabulkách je zřetězením pole v dotazu. Například v kroku 1 by změníte:
   Year([OrderDate]) & " " & "Order Total"
				
k:
   Year([Orders].[OrderDate]) & " " & "Order Total"
				
Pokud přidáte název tabulky řádku Tabulka, generovat chybu syntaxe. Pokud ponecháte název tabulky zcela, generovat chybu dvojznačný odkaz.

Odkazy

Další informace o křížových dotazů v nabídce Nápověda klepněte na příkaz Nápověda pro Microsoft Access, zadejte křížové dotazy v Pomocníkovi Office nebo průvodce a klepněte na tlačítko Hledat zobrazte vrácená témata.

Vlastnosti

ID článku: 209143 - Poslední aktualizace: 14. července 2004 - Revize: 1.1
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Access 2000 Standard Edition
Klíčová slova: 
kbmt kbhowto KB209143 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:209143

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com