Ich habe folgendes Problem: Ich würde gerne in einer Abfrage immer
automatisch das aktuelle Jahr sowie die letzten 3 Jahre als Alias-Name für
die Felder haben (nach dem Prinzip "year(date())" und "year(date()) -1" usw.).
Ist so etwas möglich, ohne dass ich die Abfrage jedes Jahr aktualisieren
muss ???
Für Hilfe im voraus vielen Dank
Viele Grüße
Andreas Gauer
PS: Access 2000
Andreas Gauer:
> Ich habe folgendes Problem: Ich würde gerne in einer Abfrage immer
> automatisch das aktuelle Jahr sowie die letzten 3 Jahre als Alias-Name für
> die Felder haben
nein, das geht imho nicht (bzw. nur mit dynamisch generiertem SQL).
Warum moechtest Du das so haben?
Gruss - Mark
--
Informationen fuer Neulinge in den Access-Newsgroups unter
http://www.doerbandt.de/Access/Newbie.htm
Bitte keine eMails auf Newsgroup-Beiträge senden.
"Mark Doerbandt" wrote:
> Hallo, Andreas,
>
> Andreas Gauer:
>
> > Ich habe folgendes Problem: Ich würde gerne in einer Abfrage immer
> > automatisch das aktuelle Jahr sowie die letzten 3 Jahre als Alias-Name für
> > die Felder haben
>
> nein, das geht imho nicht (bzw. nur mit dynamisch generiertem SQL).
>
> Warum moechtest Du das so haben?
Hallo,
Weil ich eine Tabelle mit Ausgaben und Einnahmen habe in der die Daten von
mehreren Jahren stehen. Ich habe mir dann eine Abfrage geschrieben, die die
einzelnen Buchungspostenposten gruppiert und dann die Ausgaben/Einnahmen
nebeneinander für die letzten vier Jahre summiert anzeigt. Für diese vier
Spalten hätte ich jetzt gerne die schon besagten Jahreszahlen, weil ich den
Alias "Aktuelles Jahr", "Vorjahr", "Vorvorjahr", "Vorvorvorjahr" nicht so
toll finde.
ich wollte auch die dynamische Erstellung umgehen, aber wahrscheinlich werde
ich nicht drum herumkommen.
aber danke trotzdem !!!
Gruß
Andreas
Andreas Gauer wrote:
> "Mark Doerbandt" wrote:
>> Andreas Gauer:
>>
>>> Ich habe folgendes Problem: Ich würde gerne in einer Abfrage immer
>>> automatisch das aktuelle Jahr sowie die letzten 3 Jahre als Alias-Name für
>>> die Felder haben
>>
>> nein, das geht imho nicht (bzw. nur mit dynamisch generiertem SQL).
>>
>> Warum moechtest Du das so haben?
>
> Weil ich eine Tabelle mit Ausgaben und Einnahmen habe in der die Daten von
> mehreren Jahren stehen. Ich habe mir dann eine Abfrage geschrieben, die die
> einzelnen Buchungspostenposten gruppiert und dann die Ausgaben/Einnahmen
> nebeneinander für die letzten vier Jahre summiert anzeigt. Für diese vier
> Spalten hätte ich jetzt gerne die schon besagten Jahreszahlen, weil ich den
> Alias "Aktuelles Jahr", "Vorjahr", "Vorvorjahr", "Vorvorvorjahr" nicht so
> toll finde.
Du koenntest eine Pivot-Abfrage erstellen, in der du das Datum als Spalte
ausgibst. Die Jahre kannst du ueber die Bedingung eingrenzen.
Gruss - Peter
--
Ich beantworte keine Fragen per Email.
Mitglied im http://www.dbdev.org
FAQ: http://www.donkarl.com
Peter Doering:
> Du koenntest eine Pivot-Abfrage erstellen, in der du das Datum als Spalte
> ausgibst. Die Jahre kannst du ueber die Bedingung eingrenzen.
hatte ich vorhin auch ueberlegt, aber wie bekommt er seine Werte
darunter?
Gruss - Mark
Verstehe deine Frage nicht.
Wenn es um beispielsweise folgende Tabelle geht ...
Buchungsdatum Betrag Key1
01.01.2006 100 A
01.01.2005 90 A
01.01.2004 80 A
01.01.2003 70 A
01.01.2002 60 A
... und er folgende Pivot-Abfrage erstellt ...
TRANSFORM Sum(Betrag)
SELECT Key1
FROM Tab1
WHERE Buchungsdatum Between #1/1/2003# And #12/31/2006#
GROUP BY Key1
Pivot Year(BuchungsDatum)
... bekommt er eine Tabelle, die so aussieht:
Key1 2003 2004 2005 2006
A 70 80 90 100
Und die Bedingung laesst sich wunderbar ueber Funktionen loesen:
WHERE Buchungsdatum Between
DateSerial(Year(Now)-3,1,1) And
DateSerial(Year(Now),12,31)
Peter Doering:
> Verstehe deine Frage nicht.
ok, vergiss sie!
Gruss - Mark