Hallo,
ich möchte mir in einem Bericht die Anzahl der Störungen jedes Monates anzeigen lassen und am Ende soll die Gesamtsumme angezeigt werden.
Das Jahr habe ich in einem Textfeld so gesteuert
=Format$([Stoerungsdatum];"jjjj";0;0)
Den Monat habe ich so gesteuert
=Format$([Stoerungsdatum];"mmmm";0;0)
Nun möchte ich ein Textfelder wo ich die Anzahl der Störeinträge im Januar, Februar, ... sehe
Bsp.:
Januar 15
Februar 20
März 12
usw bis Dezember
Ich bekomme zwar mit dem Textfeld =Anzahl([Stoerungsdatum]) das richtige Ergebnis, aber wie mache ich es über das ganze Jahr und den einzelnen Monaten.
Hallo,
Zitat...aber wie mache ich es über das ganze Jahr und den einzelnen Monaten.
Würde dazu eine gruppierte Abfrage verwenden.
In etwa so:
SELECT Count(ID) AS AnzahlvonID, DatePart("m",[DeinDatumsfeld]) AS m
FROM DeineTabelle
GROUP BY DatePart("m",[DeinDatumsfeld])
Hallo,
bekomme es leider nicht auf die Reihe.
Im Anhang habe ich mal den Bericht wie er momentan aussieht. Die Daten sind ja soweit richtig, auch die Gesamtanzahl passt. Was ist aber wenn heute Juni wäre und ich mir die Anzahl der VorOrt Störungen im Jahr 2014 ansehe möchte. So wie jetzt der Bericht aufgebaut wäre, würde ich wahrscheinlich mehr als 20 Seiten haben.
Ich möchte aber alles auf eine Seite nur den Monat angezeigt mit der jeweiligen Anzahl der VorOrt Störungen
Hallo,
das ist ja klar, dass der Bericht viele Seiten umfaßt.
Du hast ja auch jedes Vorkommen im Detailbereich eingepackt.
Warum erzeugst du nicht einen eigenen Bericht als 'Übersicht' und verwendest dazu meine Abfrage - vielleicht ein wenig abgeändert um die Monatsnamen auch anzuzeigen, eingeschränkt auf das Jahr 2014.
SELECT COUNT(ID) AS AnzahlvonID, Monatsname(DatePart("m",[DeinDatumsfeld])) AS m
FROM DeineTabelle
GROUP BY DatePart("m",[DeinDatumsfeld]), DatePart("yyyy",[beoBeginnDat])
HAVING DatePart("yyyy",[DeinDatumsfeld]))=2014
Hallo,
Gruppieren und Sortieren sollte bei einem Bericht nicht in der zugrundeliegenden Abfrage, eher im Bericht selber (Fenster Gruppieren/Sortieren) erfolgen. Ansonsten kann es passieren, dass sich der Bericht überhaaupt nicht um die angegebene Gruppierung/Sortierung in der Abfrage schert...
Ich weiß, dass die Sache schon mehrmals diskutiert wurde und wollte zusätzlich/alternativ einen gruppierten Bericht vorschlagen...
Habe aber im Vorfeld ein wenig herumexperimentiert und keine Probleme gesehen.
Auch dann nicht, wenn ich dem Bericht weitere Gruppierungen, GruppenKöpfe und GruppenFüße und/oder Sortierungen hinzufüge oder ändere.
Ein absolut aufwandsloses Beispiel ist im Anhang
EDIT:
ZitatAnsonsten kann es passieren, dass sich der Bericht überhaaupt nicht um die angegebene Gruppierung/Sortierung in der Abfrage schert...
Passiert in der Hauptsache dann, wenn der Bericht per Assistenten erstellt wird, da im Zuge der Erstellung möglicherweise Sortierungen und Gruppierungen vorgenommen werden, die in der Abfrage ev. (noch) nicht enthalten waren.
Hallo,
im Anhang ein Bsp.
Der Bericht ist so wie ich ihn gerne haben möchte. Mit dem Formular wähle ich das Jahr aus.
Hallo,
SELECT * FROM Anzahl_Wieviel Stoerungen im Jahr_abfr
Wenn du weder in Tabellennamen noch Abfragenamen Leerzeichen verwenden würdest, könnte es eventuell funktionieren....
So aber auf gar keinen Fall.
Gruß Andreas
Hallo Andreas,
habe nun alle Leerzeichen mit einem _ ersetzt. Auch hier kein Erfolg nachdem ich im Formular das Jahr ausgewählt habe.
Hallo,
da fehlt noch viel mehr Nacharbeit:
Keine Beschriftungen bei Tabellenfeldern benutzen
Keine reservierten Wörter benutzen.
Richtige/passende Datentypen benutzen
Beziehungen im Beziehungsfenster definieren.
Tabelle "Jahreszahl_tab" ist überflüssig, bzw. darin ein separates ID-Feld zu führen.
Ich würde trotz der vagen Gruppierungsmöglichkeit in der Berichtsabfrage darauf verzichten und nur eine einfache über die beteiligten Tabellen verknüpfende Abfrage benutzen, sowie den Bericht mit Übergabe eines evtl. benötigten Kriterium zur DS-Einschränkung bei Openreport öffnen, anstatt die Abfrage mit einem (anderen, bzw. neuen) SQL-Strings zu versorgen.
Hallo,
in Anlehnung an die Empfehlung(en) von DF6GL (Ich würde trotz der vagen Gruppierungsmöglichkeit in der Berichtsabfrage darauf verzichten ...)
Deine DB mit ein paar Änderungen im Anhang.
Den Timer im Formular habe ich entfernt, das eingebettete Makro verworfen, die Abfrage angepasst einen neuen gruppierten Bericht erstellt, die Tabellen berichtigt und die Beziehungen hergestellt, Die Auswahl der Jahre auf die tatsächlichen eingestellt - dadurch benötigst du die Tabelle mit den Jahreszahlen auch nicht mehr, usw ... :'(
;) :) :)
HTH
Hallo Peter,
vielen Dank für die Hilfe. Genau das habe ich benötigt.
Habe es schon eingebaut. Es läuft einwandfrei.