Artikel-ID: 155489 - Geändert am: Freitag, 19. Januar 2007 - Version: 2.3

ACC: Wie Code zum Ändern von Spaltenüberschriften in der Kreuztabellenabfrage

SystemtippDieser Artikel bezieht sich auf ein anderes Betriebssystem als das von Ihnen verwendete. Für Sie möglicherweise nicht relevante Artikelinhalte wurden deaktiviert.
Moderat: Erfordert grundlegende Kenntnisse in den Bereichen Makros, Programmierung und Interoperabilität.
Alles erweitern | Alles schließen

Zusammenfassung

Dieser Artikel veranschaulicht Visual Basic für Applikationen verwenden, um die Spaltenüberschriften in einer Kreuztabellenabfrage zu ändern.

Dieser Artikel setzt voraus, dass Sie mit Visual Basic für Applikationen und mit dem Erstellen von Microsoft Access-Anwendungen mit Hilfe der in Microsoft Access enthaltenen Programmiertools vertraut sind. Weitere Informationen zu Visual Basic für Applikationen finden Sie in Ihrer Version des Handbuchs "Building Applications with Microsoft Access" (Erstellen von Anwendungen mit Microsoft Access).

Hinweis: Visual Basic für Applikationen wird Access Basic in Microsoft Access, Version 2.0 bezeichnet. Weitere Informationen zu Access Basic finden Sie im Handbuch "Building Applications" (Anwendungen erstellen).

Hinweis: Eine Demonstration der in diesem Artikel verwendeten Technik kann in der Beispieldatei Qrysmp97.exe eingesehen werden. Informationen dazu, wie Sie dies Beispieldatei beziehen können, finden Sie im folgenden Artikel der Microsoft Knowledge Base:
182568  (http://support.microsoft.com/kb/182568/EN-US/ ) ACC97: Microsoft Access 97 Beispiel Abfragen verfügbar im Download Center

Weitere Informationen

Die einzige Möglichkeit Sie programmgesteuert ändern können, die Spaltenüberschriften in einer Kreuztabellenabfrage besteht die PIVOT-Klausel der SQL-Eigenschaft der Abfrage ändern.

Das folgende Beispiel veranschaulicht die in Microsoft Access eine Kreuztabellenabfrage erstellen. Dann veranschaulicht es Sie Spaltenüberschriften für die Abfrage mithilfe von Visual Basic für Applikationen so ändern Sie die PIVOT-Klausel der SQL-Eigenschaft der Abfrage ändern. In diesem Beispiel wird die Beispiel-Datenbank Nordwind.mdb (oder Nwind.mdb in 2.0) verwendet.
  1. Öffnen Sie die Beispiel-Datenbank Northwind.mdb (oder Nwind.mdb in 2.0).
  2. Erstellen Sie eine neue Abfrage in der Entwurfsansicht und fügen Sie die Tabellen Customers und Orders.
  3. Klicken Sie im Menü Abfrage auf Kreuztabelle.
  4. Fügen Sie im Abfragebereich, die folgenden Felder:
           Field: Country
              Total: Group By
              Crosstab: Row Heading
              Sort: Ascending
           Field: Country Total: OrderID (or Order ID in version 2.0)
              Total: Count
              Crosstab: Row Heading
           Field: CompanyName (or Company Name in version 2.0)
              Total: Group By
              Crosstab: Column Heading
           Field: OrderID (or Order ID in version 2.0)
              Total: Count
              Crosstab: Value
  5. Klicken Sie auf im Menü Abfrage auf Ausführen. Die Abfrage zählt jedes Kundenbestellungen und gruppiert Sie nach Land. Beachten Sie, dass Namen des Kunden als Spaltenüberschrift angezeigt wird.
  6. Klicken Sie im Menü Ansicht auf SQL. Beachten Sie, dass die PIVOT-Klausel am Ende der SQL-Anweisung "PIVOT Customers.CompanyName;" liest (oder "PIVOT Kunden. [Firmenname];" in Version 2.0).
  7. Speichern Sie die Abfrage als QryOrdersByCountry, und schließen Sie es dann.
  8. Erstellen Sie ein Modul und geben Sie die folgende Zeile im Deklarationsbereich ein, falls sie dort nicht bereits vorhanden ist:
    Option Explicit
  9. Geben Sie folgende Prozedur ein.

    In Microsoft Access 7.0 und 97:
     Function ChangeColumnHeadings()
          Dim db As DATABASE
          Dim qd As QueryDef
          Dim strSQL as string
          Set db = CurrentDb()
          Set qd = db.QueryDefs("qryOrdersByCountry")
          strSQL = "TRANSFORM Count(Orders.[OrderID]) AS [CountOfOrder ID] "
          strSQL = strSQL & "SELECT Customers.Country, "
          strSQL = strSQL & "Count(Orders.[OrderID]) AS [Country Total] "
          strSQL = strSQL & "FROM Customers INNER JOIN Orders ON "
          strSQL = strSQL & "Customers.[CustomerID] = Orders.[CustomerID] "
          strSQL = strSQL & "GROUP BY Customers.Country ORDER BY "
          strSQL = strSQL & "Customers.Country PIVOT "
          strSQL = strSQL & "IIf(Customers.[CompanyName] Like 'A*', "
          strSQL = strSQL & "'A', 'B-Z');"
          qd.SQL = strSQL
          End Function
    						
    In Microsoft Access 2.0:
          Function ChangeColumnHeadings()
          Dim db As DATABASE
          Dim qd As QueryDef
          Dim strSQL as string
          Set db = CurrentDb()
          Set qd = db.QueryDefs("qryOrdersByCountry")
          strSQL = "TRANSFORM Count(Orders.[Order ID]) AS [CountOfOrder ID] "
          strSQL = strSQL & "SELECT Customers.Country, "
          strSQL = strSQL & "Count(Orders.[Order ID]) AS [Country Total] "
          strSQL = strSQL & "FROM Customers INNER JOIN Orders ON "
          strSQL = strSQL & "Customers.[Customer ID] = Orders.[Customer ID] "
          strSQL = strSQL & "GROUP BY Customers.Country ORDER BY "
          strSQL = strSQL & "Customers.Country PIVOT "
          strSQL = strSQL & "IIf(Customers.[Company Name] Like 'A*', "
          strSQL = strSQL & "'A', 'B-Z');"
          qd.SQL = strSQL
          End Function
    
    						
  10. Um diese Funktion zu testen, geben Sie die folgende Zeile in das Debugfenster (oder im Direktfenster in Version 2.0) und drücken Sie anschließend die [EINGABETASTE].
    ? ChangeColumnHeadings()
  11. Führen Sie die QryOrdersByCountry-Abfrage. Beachten Sie, dass zwei Spaltenüberschriften sind. Eine Spaltenüberschrift wird "A" die zählt, die Bestellungen für Firmennamen beginnend mit dem Buchstaben A aufgerufen; eine heißt "B-Z," die zählt, die Aufträge für Firmennamen, die mit Buchstaben B bis Z beginnen.
  12. Klicken Sie im Menü Ansicht auf SQL. Beachten Sie, dass nur die Formulierung der PIVOT-Klausel von SQL in der ursprünglichen Abfrage geändert hat.

Informationsquellen

Weitere Informationen über die SQL-Eigenschaft eines QueryDef-Objekts durchsuchen Sie der Hilfe-Index auf die Wortgruppe "SQL-Eigenschaft" und dann zuzeigen Sie an "SQL-Eigenschaft", oder Fragen Sie den Microsoft Access 97 Office-Assistenten.

Weitere Informationen über die Funktion IIf() Durchsuchen Sie den Hilfeindex "IIf-Funktion" oder Fragen Sie den Microsoft Access 97 Office-Assistenten.

Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Access 2.0 Standard Edition
  • Microsoft Access 95 Standard Edition
  • Microsoft Access 97 Standard Edition
Keywords: 
kbmt kbhowto kbprogramming kbusage KB155489 KbMtde
Maschinell übersetzter ArtikelMaschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 155489  (http://support.microsoft.com/kb/155489/en-us/ )
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.
Retired KB ArticleDisclaimer zu nicht mehr gepflegten KB-Inhalten
Dieser Artikel wurde für Produkte verfasst, für die Microsoft keinen Support mehr anbietet. Der Artikel wird deshalb in der vorliegenden Form bereitgestellt und nicht mehr weiter aktualisiert.