ACC2000: Как создать перекрестный запрос, включающий несколько значений полей

Переводы статьи Переводы статьи
Код статьи: 209143 - Vizualiza?i produsele pentru care se aplic? acest articol.
Версии Microsoft Access 2002 в данной статье содержатся в разделе304458.
Развернуть все | Свернуть все

Аннотация

Материал, изложенный в этой статье, требует знания программного интерфейса однопользовательского режима..

В перекрестном запросе Microsoft Access можно указать только одно поле или вычислений, в качестве значения. Часто можно отобразить в запросе более одного значения.

Например в следующем примере показано два столбца сведений для каждой компании, подсчет числа заказов и итоги заказов для каждого года.
   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
				
Этот тип запроса называется несколько значений полей запроса.

Примечание.: Вы увидите демонстрацию прием, который используется в данной статье, в образце файла Qrysmp00.exe. Дополнительные сведения о получении этого файла см. в следующей статье базы знаний Майкрософт::
207626ACC2000: Microsoft Access 2000 образцы запросов доступные в центре загрузки

Дополнительная информация

Для Создание перекрестного запроса несколько значений полей, необходимо создать отдельный перекрестного запроса для каждого значения, которые требуется вычислить. Эти запросы могут затем соединены, с помощью запроса на выборку для отображения требуемых результатов.

В этом примере образец базы данных Northwind.mdb используется для создания запроса, как в примере результаты отображаются в разделе «Аннотация» данной статьи. Для каждой компании показывает количество продаж и всего за каждый год.
  1. Откройте учебную базу данных Northwind.mdb и создайте следующий перекрестного запроса, на основе заказов, сведения О заказе и таблицы Customers:
       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. Создайте следующие перекрестный запрос, основанный на заказы и таблицы Customers:
       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. Создание запроса на основе всего заказа и количество заказов перекрестных запросов. Следует использовать «название», а также поля Общий заказ и количество заказов на годы, результаты которого нужно просмотреть. В следующем примере используется последние два года всего заказа и количество заказов в программе Microsoft 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
    					
При выполнении запроса нескольких значений приводит к таблице, выглядит следующим образом:
                         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
				
Примечание.: You need to add the table name to the expression if the field specified for the concatenation is a field in more than one of the tables joined in the query. For example, in Step 1 you would change:
   Year([OrderDate]) & " " & "Order Total"
				
Кому::
   Year([Orders].[OrderDate]) & " " & "Order Total"
				
If you add the table name to theTABLErow, you generate a syntax error. If you leave the table name out completely, you generate an ambiguous reference error.

Ссылки

For more information about crosstab queries, clickСправка по Microsoft Accessв менювызов справки.Тип менюcrosstab queriesв поле помощника Office или мастера ответов и нажмите кнопкупоиск LDAPЧтобы просмотреть найденные разделы.

Свойства

Код статьи: 209143 - Последний отзыв: 16 ноября 2010 г. - Revision: 2.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Access 2000 Standard Edition
Ключевые слова: 
kbhowto kbmt KB209143 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:209143

Отправить отзыв

 

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