Fehler im Kreuztabellen-Assistenten von Access 7Ich benutze den Abfrageassistenten von Access 7.0 für die Definition von Kreuztabellen. Leider sind die Ergebnisse nicht immer zufriedenstellend. Beispielsweise zeigt Access bei einer Sortierung nach Monaten in der Kreuztabelle keine Daten für den Monat März an. Es müßten aber welche existieren. Handelt es sich dabei um einen Bug von Access oder mache ich etwas falsch? Die Ursache für das beschriebene Verhalten ist tatsächlich ein kleiner Fehler des Kreuztabellen-Assistenten. Dieser erzeugt aus den im Dialog erfragten Informationen prinzipiell eine SQL-Anweisung. Dabei wählt der Assistent jedoch eine falsche Bezeichnung für die Spalte des Monats März und kann deshalb natürlich dort keine Daten anzeigen. Um diesen Fehler auszugleichen, müssen Sie nach dem Erzeugen der Abfrage per Assistent von Hand eine Änderung an der SQL-Anweisung vornehmen. PIVOT Ausdruck IN SpaltenüberschriftenDiese Anweisung berechnet für jeden Datensatz zunächst den angegebenen Ausdruck. Anhand dieses Wertes erfolgt dann die Zuordnung zu einer mit der Klausel IN definierten Spalte. Für die Sortierung nach Monaten erzeugt der Assistent einen Ausdruck, der eine drei Buchstaben lange Monatsbezeichnung ermittelt: Format([Termin],“mmm“). Diese Funktion gibt für den Monat März das Kürzel Mrz zurück. Der Assistent hat aber in der Klausel IN die Spalte für März mit Mär bezeichnet. Da Access somit keine Übereinstimmung von Wert und Spaltenname finden kann, fallen die Daten für März in der Kreuztabelle unter den Tisch – die Spalte Mär bleibt zwangsläufig leer. Wenn Sie also in der Klausel IN die Bezeichnung für die dritte Spalte von Mär in Mrz ändern und die Anweisung erneut ausführen, erhalten Sie das korrekte Ergebnis. |