PDA

Vollständige Version anzeigen : Bedingung in Kreuztabellenabfrage


Stefan77
05.01.2002, 16:34
Hallo,

vielleicht kann mir jemand weiterhelfen:
Ich habe eine Kreuztabellenabfrage, die auf 2 Tabellen zugreift: "Monate" und "TB-Stunden".
Die Tabelle Monate hat nur eine Spalte, in der Datumswerte stehen (jeweils der 1. eines Monats).
In TB-Stunden stehen verschiedene AuftrNr., Namen und Datumswerte. Die Fkt. Jahreszahl() gibt eine bestimmte Jahreszahl zurück.

Die Abfrage sie wie folgt aus:

TRANSFORM Sum([TB-Stunden].Stunden) AS [Der Wert]
SELECT [TB-Stunden].AuftrNr, [TB-Stunden].Nachname, Sum([TB-Stunden].Stunden) AS [Gesamtsumme von Stunden]
FROM Monate LEFT JOIN [TB-Stunden] ON Monate.Monat = [TB-Stunden].Datum
WHERE ((([TB-Stunden].KoStelle) Like Abteilung() Or ([TB-Stunden].KoStelle) Is Null))
GROUP BY [TB-Stunden].AuftrNr, [TB-Stunden].Nachname
PIVOT IIf(Year([Monat])=Jahreszahl(),Month([Monate].[Monat]));

Das klappt auch ohne Probleme, jetzt möchte ich jedoch nur die Datensätz anzeigen, bei denen die Jahreszahl vom größten Datum mit der Jahreszahl von der Fkt. Jahreszahl() übereinstimmt, ungefähr:
((YEAR(Max([TB-Stunden].Datum)))=Jahreszahl())

Wenn ich das aber in die where-Klausel mit reinschreibe bekomme ich eine Fehlermeldung:
"Aggregatfunktion in where-Klausel nicht möglich!"

Also wie kann ich die Bedingung in der Abfrage unterbringen?

Danke im voraus.

Manuela Kulpa
05.01.2002, 17:47
<font face="Verdana" size="2">Hallo Stefan!

Stell in der Spalte deiner Bedingung als Funktionswert: Ausdruck ein!

vg</font>