Hallo zusammen,
ich habe hier eine Abfrage, die monatsweise gruppiert ist, indem ich einen Ausdruck Monat anlege, der sich durch die Formel DatSeriell(Jahr(Tagesauswertung!Datum);Monat(Tagesauswertung!Datum);1) definiert, danach gruppiere und von den anderen Feldern jeweils den Mittelwert bilde. Das ist soweit ja ganz einfach.
Nun muß ich aber nach Monaten gruppieren, die am 20. beginnen. Also vom 20. Oktober 2011 bis zum 19. November 2012, vom 20. November 2012 bis zum 19. Dezember 2012, vom 20. Dezember 2012 bis zum 19. Januar 2013 und so weiter. Wie mache ich das am intelligentesten? Das Datum steht im Feld Datum der Abfrage Tagesauswertung, aus der auch die meisten anderen Daten kommen.
Danke für Eure Tipps,
Sarek
Hallo,
probier mal solches:
DatSeriell(Jahr(Tagesauswertung!Datum-20);Monat(Tagesauswertung!Datum-20);1)
Zitat von: DF6GL am September 24, 2013, 08:26:39
DatSeriell(Jahr(Tagesauswertung!Datum-20);Monat(Tagesauswertung!Datum-20);1)
So geht es problemlos in Excel (natürlich nur wenn man DatSeriell durch Datum und Tagesauswertung!Datum durch den entsprechenden Zellbezug ersetzt), aber Access meldet mir dann "Datentypen in Kriterienausdruck unverträglich". In Access kann ich offenbar keine normale Zahl von einem Datum subtrahieren :(
In probiere es jetzt mal mit einer Verschachtelung mit DateAdd ...
Hallo,
das geht auch in Access...
Was ist "Tagesauswertung!Datum" eigentlich?
Ein Formular-Textfeld oder ein Tabellenfeld(Name)
Beim einem Tabellenfeld schreib:
DatSeriell(Jahr(Tagesauswertung.[Datum]-20);Monat(Tagesauswertung.[Datum]-20);1)
Hallo,
würde wohl auch gehen:
in Abfrage: Monatsbeginn: [DeinDatumsfeld]-Tag([DeinDatumsfeld])+20
und danach gruppieren
Gruß Oma