A2003: Bericht

08/11/2008 - 23:09 von Peter Wenzel | Report spam
Hallo,

ich möchte einen Bericht erstellen, der als Datenquelle eine Abfrage hat.
Mein Problem ist, dass diese Abfrage auf teils andere Abfragen zugreift, wobei bei zwei der Abfragen in der Spalte Termin ein Datum als Kriterium
angegeben werden muss, sonst erhalte ich zum Schluss nicht das von mir gewünschte Ergebnis.

Mein Ziel ist, dass ich den Bericht über ein Formular öffnen möchte wo dort via Kombifeld das Datum ausgewàhlt wird.
Kann mir jemand auf den Weg helfen, wie ich diese Aufgabe angehe?

Ziel des Berichtes:
In tblProduktion stehen die Informationen in welchem ZBN welche Beilage (=Auftragnr) in welcher Stückzahl enthalten ist.
Je Beilage in ZBN ein Datensatz. IntAuftrNr wird aus Termin und Auftragnr gebildet (verkettet).

Ich brauche eine Auflistung, in welchen ZBN nur *eine* Beilage vorhanden ist, gruppiert auf ZSP (in einem ZSP sind mehrere ZBN enthalten)
zusammen mit den Angaben über Abholtag, -Zeit und Ziel (aus tblZSP) sowie die Bezeichnung der Beilage (aus tblBeilagen; Auftragnr = Version)
und die Summe der Beilagen je ZSP.

Mit den unten aufgeführten Abfragen erhalte ich meine Liste. Nur soll der Benutzer eben über ein Formular das Datum des Termins auswàhlen können.
Gebe ich erst in der Abfrage "qryEinerbelegung_mBeilage" das Datum als Kriterium an, erhalte ich die Liste nicht auf ZSP gruppiert sondern auf ZBN.

Ich hoffe dies sind genug und verstàndliche Angaben zu meinem Vorhaben
Ich sach schon mal Danke für eure Mühe

Gruß
Peter


Hier meine bisherigen Abfragestrings, die jeweils als Abfrage gespeichert sind:
(qryZBNBelegungZeit wird nicht nur hierfür verwendet sondern auch für andere Aufgaben)

1.
qryEinerbelegung_mBeilage (dies ist die Abfrage die als Datenherkunft für den Bericht dient)
-

SELECT qryEinerbelegung_ZBN.Termin, ZSP.PLZ, qryEinerbelegung_ZBN.ZSP, tblBeilagen.Kunde, tblBeilagen.Version, tblBeilagen.Gebiet, tblZSP.Ziel,
tblZSP.Abholtag, tblZSP.Abholzeit, Sum(qryEinerbelegung_ZBN.Stück) AS Stück, Sum(([GewichtPlan]*[Stück])/1000) AS Gewicht, aufrunden([Gewicht]/380,0)
AS Pal
FROM ZSP INNER JOIN (tblBeilagen RIGHT JOIN (qryEinerbelegung_ZBN LEFT JOIN qryZBN_Beilage_oEA ON qryEinerbelegung_ZBN.ZBN = qryZBN_Beilage_oEA.ZBN)
ON tblBeilagen.IntAuftrNr = qryZBN_Beilage_oEA.IntAuftrNr) ON tblZSP.ZSP = qryEinerbelegung_ZBN.ZSP
GROUP BY qryEinerbelegung_ZBN.Termin, ZSP.PLZ, qryEinerbelegung_ZBN.ZSP, tblBeilagen.Kunde, tblBeilagen.Version, tblBeilagen.Gebiet, tblZSP.Ziel,
tblZSP.Abholtag, tblZSP.Abholzeit, qryZBN_Beilage_oEA.IntAuftrNr, tblBeilagen.GewichtPlan
ORDER BY tblZSP.Abholtag, tblZSP.Abholzeit;

2.
qryEinerbelegung_ZBN (Dies ist die erste Abfrage die das Datum als Kriterium in Spalte Termin braucht)

SELECT qryZBNBelegungZeit.Termin, qryZBNBelegungZeit.ZSP, qryZBNBelegungZeit.ZBN, qryZBNBelegungZeit.Stück, tblProduktion.Auftragnr
FROM ZSP INNER JOIN (qryZBNBelegungZeit INNER JOIN tblProduktion ON qryZBNBelegungZeit.ZSP = tblProduktion.ZSP) ON tblZSP.ZSP = tblProduktion.ZSP
GROUP BY qryZBNBelegungZeit.Termin, qryZBNBelegungZeit.ZSP, qryZBNBelegungZeit.ZBN, qryZBNBelegungZeit.Stück, tblProduktion.Auftragnr, tblZSP.Ziel,
qryZBNBelegungZeit.Belegung, qryZBNBelegungZeit.Kennung
HAVING (((qryZBNBelegungZeit.Termin)=#11/15/2008#) AND ((tblProduktion.Auftragnr)="13598Z") AND ((tblZSP.Ziel)<>"BZ 45" And (tblZSP.Ziel)<>"ZSPL
Mülheim" And (tblZSP.Ziel)<>"ZSPL Gelsenkirchen 1") AND ((qryZBNBelegungZeit.Belegung)=1));

3.
qryZBN_Beilagen_oEA (Dies ist die zweite Abfrage die das Datum als Kriterium in Spalte Termin braucht)
-

SELECT Termin, ZSP, ZBN, Auftragnr, Stück, IntAuftrNr
FROM tblProduktion
GROUP BY Termin, ZSP, ZBN, Auftragnr, Stück, IntAuftrNr
HAVING (((Termin)=#11/15/2008#) AND ((Auftragnr)<>"13598Z"));

4.
qryZBNBelegungZeit (Hierauf greift Abfrage 2 zu)


SELECT tblProduktion.Termin, tblProduktion.ZSP, tblProduktion.ZBN, tblProduktion.Kennung, Count(tblBeilagen.Version) AS Belegung, tblProduktion.Stück
AS Stück, ([Stück]/Choose([Belegung],7000,7000,6500,6000,6000,5500,5000,4500,4000,3500,3000,3000,2800)/24) AS Zeit
FROM tblBeilagen INNER JOIN tblProduktion ON tblBeilagen.IntAuftrNr = tblProduktion.IntAuftrNr
WHERE (((tblBeilagen.Version)<>"EA NRW Ruhr") AND ((tblProduktion.Art)="B"))
GROUP BY tblProduktion.Termin, tblProduktion.ZSP, tblProduktion.ZBN, tblProduktion.Kennung, tblProduktion.Stück
ORDER BY tblProduktion.Termin, tblProduktion.ZBN, tblProduktion.Kennung;

Bitte alle Antworten hier in die Newsgroup.
Mails nur nach Rücksprache zusenden.
 

Lesen sie die antworten

#1 Peter Doering
09/11/2008 - 02:42 | Warnen spam
Hallo,

Peter Wenzel wrote:

ich möchte einen Bericht erstellen, der als Datenquelle eine Abfrage hat.
Mein Problem ist, dass diese Abfrage auf teils andere Abfragen zugreift,
wobei bei zwei der Abfragen in der Spalte Termin ein Datum als Kriterium
angegeben werden muss, sonst erhalte ich zum Schluss nicht das von mir
gewünschte Ergebnis.

Mein Ziel ist, dass ich den Bericht über ein Formular öffnen möchte wo
dort via Kombifeld das Datum ausgewàhlt wird. Kann mir jemand auf den
Weg helfen, wie ich diese Aufgabe angehe?



Beispiele dafuer findest du in www.donkarl.com?FAQ3.14

1. qryEinerbelegung_mBeilage (dies ist die Abfrage die als Datenherkunft
für den Bericht dient) -

SELECT qryEinerbelegung_ZBN.Termin, ZSP.PLZ, qryEinerbelegung_ZBN.ZSP,
tblBeilagen.Kunde, tblBeilagen.Version, tblBeilagen.Gebiet, tblZSP.Ziel,
tblZSP.Abholtag, tblZSP.Abholzeit, Sum(qryEinerbelegung_ZBN.Stück) AS
Stück, Sum(([GewichtPlan]*[Stück])/1000) AS Gewicht,
aufrunden([Gewicht]/380,0) AS Pal FROM ZSP INNER JOIN (tblBeilagen RIGHT
JOIN (qryEinerbelegung_ZBN LEFT JOIN qryZBN_Beilage_oEA ON
qryEinerbelegung_ZBN.ZBN = qryZBN_Beilage_oEA.ZBN) ON
tblBeilagen.IntAuftrNr = qryZBN_Beilage_oEA.IntAuftrNr) ON tblZSP.ZSP > qryEinerbelegung_ZBN.ZSP GROUP BY qryEinerbelegung_ZBN.Termin, ZSP.PLZ,
qryEinerbelegung_ZBN.ZSP, tblBeilagen.Kunde, tblBeilagen.Version,
tblBeilagen.Gebiet, tblZSP.Ziel, tblZSP.Abholtag, tblZSP.Abholzeit,
qryZBN_Beilage_oEA.IntAuftrNr, tblBeilagen.GewichtPlan ORDER BY
tblZSP.Abholtag, tblZSP.Abholzeit;

2. qryEinerbelegung_ZBN (Dies ist die erste Abfrage die das Datum als
Kriterium in Spalte Termin braucht) --

SELECT qryZBNBelegungZeit.Termin, qryZBNBelegungZeit.ZSP,
qryZBNBelegungZeit.ZBN, qryZBNBelegungZeit.Stück,
tblProduktion.Auftragnr FROM ZSP INNER JOIN (qryZBNBelegungZeit INNER
JOIN tblProduktion ON qryZBNBelegungZeit.ZSP = tblProduktion.ZSP) ON
tblZSP.ZSP = tblProduktion.ZSP GROUP BY qryZBNBelegungZeit.Termin,
qryZBNBelegungZeit.ZSP, qryZBNBelegungZeit.ZBN,
qryZBNBelegungZeit.Stück, tblProduktion.Auftragnr, tblZSP.Ziel,
qryZBNBelegungZeit.Belegung, qryZBNBelegungZeit.Kennung HAVING
(((qryZBNBelegungZeit.Termin)=#11/15/2008#) AND



(((qryZBNBelegungZeit.Termin)=[Forms]![DeinFormular]![DeinKombifeld]) AND

Dabei muss das DeinKombifeld als Datum formatiert sein.

3. qryZBN_Beilagen_oEA (Dies ist die zweite Abfrage die das Datum als
Kriterium in Spalte Termin braucht) -



Dto. hier.

Gruss - Peter

Mitglied im http://www.dbdev.org
FAQ: http://www.donkarl.com

Ähnliche fragen