Sie sind zurzeit offline. Es wird auf die erneute Herstellung einer Internetverbindung gewartet.

Erstellen:Kreuztabellenabfrage mit mehreren Feldern des Typs Wert

Dieser Artikel wurde zuvor veröffentlicht unter D39430
Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
209143 ACC2000: Creating a Crosstab Query with Multiple Value Fields
Zusammenfassung
Anfänger: Erfordert Kenntnisse der Benutzeroberfläche auf Computern mit nur einem Benutzer.

In einer Microsoft Access-Kreuztabellenabfrage können Sie nur ein Feld oder eine Berechnung als "Wert" angeben. In vielen Fällen möchten Sie jedoch vielleicht mehr als einen Wert in der Abfrage anzeigen lassen.

In dem folgenden Beispiel sehen Sie zwei Spalten mit Informationen pro Firma (Company): die Anzahl der Bestellungen (Orders) und das Gesamtvolumen aller Bestellungen (Total) pro Jahr:
   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
Diesen Typ einer Abfrage könnte man als Abfrage mit mehreren Feldern des Typs "Wert" bezeichnen.
Weitere Informationen
Um eine Kreuztabellenabfrage mit mehreren Wert-Feldern zu erstellen, müssen Sie für jeden Wert, den Sie berechnen möchten, eine separate Kreuztabellenabfrage erstellen. Sie können dann diese Abfragen über eine Auswahlabfrage miteinander verknüpfen, um die gewünschten Ergebnisse anzeigen zu lassen.

In dem folgenden Beispiel wird die Beispieldatenbank Nordwind.mdb verwendet, um eine Abfrage zu erstellen, durch die ähnliche Ergebnisse angezeigt werden, wie in dem Beispiel aus dem vorstehenden Abschnitt "Zusammenfassung". In diesem Fall werden die Anzahl der Verkäufe sowie deren Gesamtvolumen pro Jahr und Firma angezeigt.
  1. Öffnen Sie die Beispieldatenbank Nordwind.mdb und erstellen Sie die folgende Kreuztabellenabfrage auf der Basis der Tabellen "Orders" (Bestellungen), "Order Details" (Bestelldetails) und "Customers" (Kunden):
       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. Erstellen Sie die folgende Kreuztabellenabfrage auf der Basis der Tabellen "Orders" (Bestellungen) und "Customers" (Kunden):
   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. Erstellen Sie eine Auswahlabfrage auf der Basis der Kreuztabellenabfragen "Order Total" (Bestellsumme) und "Order Count" (Anzahl der Bestellungen). Verwenden Sie hierbei die Felder "CompanyName" (Firmenname), "Order Total" und "Order Count" für die Jahre, für die Sie sich die Ergebnisse anzeigen lassen möchten. In dem folgenden Beispiel werden die letzten zwei Jahre von "Order Total" und "Order Count" in Microsoft Access zugrunde gelegt.
   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
Das Ausführen der Abfrage "Multiple Values" führt zu einer Tabelle, die wie folgt aussieht:
                         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
HINWEIS: Sie müssen dem Ausdruck den Tabellennamen hinzufügen, wenn das für die Verkettung angegebene Feld in mehr als einer der Tabellen vorhanden ist, die miteinander verknüpft werden. So müßten Sie zum Beispiel in Schritt 1 den Ausdruck:
   Year([OrderDate]) & " " & "Order Total"
ändern in:
   Year([Orders].[OrderDate]) & " " & "Order Total"
Wenn Sie der Zeile "Tabelle" den Tabellennamen hinzufügen, generieren Sie einen Syntaxfehler. Wenn Sie den Tabellennamen ganz weglassen, verursachen Sie einen Fehler in Form eines mehrdeutigen Verweises.
Verweise
Für weitere Informationen über Kreuztabellenabfragen klicken Sie im Hilfemenü auf MICROSOFT ACCESS-HILFE. Geben Sie "Kreuztabellenabfragen" in den Office-Assistenten oder den Hilfe-Assistenten ein und klicken Sie dann auf SUCHEN, um die entsprechenden Themen einzusehen.

Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, daß nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.

kbdta
Eigenschaften

Artikelnummer: 209143 – Letzte Überarbeitung: 09/05/2003 12:16:00 – Revision: 1.0

  • Microsoft Access 2000 Standard Edition
  • kbdta KB209143
Feedback