Forums Neueste Beiträge
 

Veranstaltungsdauer berechnen

15/08/2008 - 13:38 von Carsten Ulinski | Report spam
Hallo zusammen,
habe ein Veranstaltungsmanagement nach der Acces-Vorlage-DB in eine
Schulungsdatenbank umgebastelt. Nun ist es so, dass jeder
Veranstaltung ein Produkt aus dem Firmenportfolio zugeordnet werden
kann. Nun soll ich berechnen wie viele Teilnehmer pro Produkt
teilgenommen haben UND wie viele Tage insgesamt für dieses Produkt
geschult wurde. Teilnehmerzahl ist nicht das Problem, aber die
Gesamtschulungszeit stehe ich auf dem Schlauch.

Meine Formel stimmt immer nur dann, wenn die einzelne Veranstaltung
nur 0 bzw. 1 Tag dauerte. Bei Veranstaltungen, die lànger als 0 bzw. 1
Tag dauern, wird irgendwas berechnet, was ich nicht verstehe...

Mein Query:
SELECT tblSMUProdukt.SMProdukt, Count(qryRegistrierungen.[Teilnehmer-
Nr]) AS Teilnehmerzahl, Sum(DateDiff("d",[Veranstaltungen]!
[Anfangsdatum],[Veranstaltungen]![Enddatum])) AS DauerBrutto,
[DauerBrutto]+1 AS DauerNetto
FROM (tblSMProduktVeranstaltung_N_M INNER JOIN tblSMUProdukt ON
tblSMProduktVeranstaltung_N_M.SMProduktnr = tblSMUProdukt.SMProduktID)
INNER JOIN qryRegistrierungen ON
tblSMProduktVeranstaltung_N_M.Veranstaltungsnr qryRegistrierungen.VeranstaltungsNr
WHERE (((tblSMUProdukt.SMProdukt) Is Not Null) AND
((qryRegistrierungen.Anfangsdatum) Between #1/1/2007# And Date()) AND
((qryRegistrierungen.Abgesagt)=False) AND
((qryRegistrierungen.Teilgenommen)=True))
GROUP BY tblSMUProdukt.SMProdukt
ORDER BY tblSMUProdukt.SMProdukt;

Wer kann mir helfen?
Vielen Dank im Voraus
Carsten
 

Lesen sie die antworten

#1 Karl Donaubauer
15/08/2008 - 14:48 | Warnen spam
Carsten Ulinski wrote:
habe ein Veranstaltungsmanagement nach der Acces-Vorlage-DB in eine
Schulungsdatenbank umgebastelt. Nun ist es so, dass jeder
Veranstaltung ein Produkt aus dem Firmenportfolio zugeordnet werden
kann. Nun soll ich berechnen wie viele Teilnehmer pro Produkt
teilgenommen haben UND wie viele Tage insgesamt für dieses Produkt
geschult wurde. Teilnehmerzahl ist nicht das Problem, aber die
Gesamtschulungszeit stehe ich auf dem Schlauch.

Meine Formel stimmt immer nur dann, wenn die einzelne Veranstaltung
nur 0 bzw. 1 Tag dauerte. Bei Veranstaltungen, die lànger als 0 bzw. 1
Tag dauern, wird irgendwas berechnet, was ich nicht verstehe...

Mein Query:
SELECT tblSMUProdukt.SMProdukt, Count(qryRegistrierungen.[Teilnehmer-
Nr]) AS Teilnehmerzahl, Sum(DateDiff("d",[Veranstaltungen]!
[Anfangsdatum],[Veranstaltungen]![Enddatum])) AS DauerBrutto,
[DauerBrutto]+1 AS DauerNetto
FROM (tblSMProduktVeranstaltung_N_M INNER JOIN tblSMUProdukt ON
tblSMProduktVeranstaltung_N_M.SMProduktnr = tblSMUProdukt.SMProduktID)
INNER JOIN qryRegistrierungen ON
tblSMProduktVeranstaltung_N_M.Veranstaltungsnr > qryRegistrierungen.VeranstaltungsNr
WHERE (((tblSMUProdukt.SMProdukt) Is Not Null) AND
((qryRegistrierungen.Anfangsdatum) Between #1/1/2007# And Date()) AND
((qryRegistrierungen.Abgesagt)=False) AND
((qryRegistrierungen.Teilgenommen)=True))
GROUP BY tblSMUProdukt.SMProdukt
ORDER BY tblSMUProdukt.SMProdukt;
...



Das Vorgehen mit der Summe über DateDiff sieht für mich ok aus.

Vielleicht solltest du
wird irgendwas berechnet, was ich nicht verstehe...


konkretisieren.

Kannst du ein Beispiel bringen mit wenigen Datensàtzen und einem
unverstàndlichen Ergebnis?

Das ORDER BY kannst du übrigens einsparen, denn es wird
automatisch nach dem Gruppierungsfeld sortiert.

HTH
Karl
********* Ich beantworte keine Access-Fragen per Email. *********
Access-FAQ: http://www.donkarl.com, jetzt mit Anmeldung und Info
zur Access-Entwickler-Konferenz (AEK11), Oktober 2008, Nürnberg

Ähnliche fragen