Unterbericht in zwei Unterberichte aufteilen

29/06/2009 - 11:34 von Dietmar Thesing | Report spam
Hallo liebe ExpertInnen!

In einem gruppierten Bericht will ich im Fußbereich der Gruppe
"lgSortTR" zwei Unterberichte haben. Beide haben im Prinzip dieselben
Daten, nur soll der eine die ersten höchstens 4 Datensàtze darstellen,
der zweite die nàchsten 4 Datensàtze. Beide Unterberichte sind mit der
Gruppe des Hauptberichts verknüpft (Feld: TR).
Die Detaildatensàtze des Unterberichts müssen die Daten nach der
Sortiernummer aufsteigend sortiert zurückgeben.

Hier die Datenquelle der Unterberichte:

SELECT
atblTZ.TR, atblTZ.lgSort, atblTZ.txtBildunterschrift, atblTZ.PicID,
atblTZ.TZID,
tblAlleBilder.txtBildname
FROM
tblAlleBilder
INNER JOIN atblTZ ON tblAlleBilder.PicID = atblTZ.PicID
WHERE atblTZ.PicID Is Not Null
ORDER BY atblTZ.TR, atblTZ.lgSort

Die Sortiernummer ist nicht eindeutig und hat auch Lücken.
Ich habe schon mit TOP 50% herumprobiert - aber das funktioniert nur
bei Sortierung nach der (eindeutigen) TZID. Bei Sortierung nach der
Sortiernummer kriege ich nicht genau die Hàlfte.

Mir fàllt nichts mehr ein außer:
Möglich wàre eine Hilfstabelle, in der ich obige Daten abspeichere und
ein Feld für eine fortlaufende, neue Sortiernummer "byteSortNurPic"
einfüge. Die sollte dann für jedes TR von 1 bis höchstens 8 gehen.
Dann könnte ich einfach eine BEdingung < 5 (bzw > 4) in die
Datenquellen der Berichte schreiben.

Wie kann ich aber so eine Anfügeabfrage formulieren, damit da dann zu
jedem TR die neuen Sortiernummern" von 1 bis maximal 8 abgespeichert
werden? Ein bisschen SQL kann ich ja schon, aber das überfordert
mich. Donkarl 3.11 hilft mir auch noch nicht weiter.

Vielen Dank für Eure Hilfe,
Dietmar
 

Lesen sie die antworten

#1 Karl Donaubauer
29/06/2009 - 13:43 | Warnen spam
Dietmar Thesing wrote:
In einem gruppierten Bericht will ich im Fußbereich der Gruppe
"lgSortTR" zwei Unterberichte haben. Beide haben im Prinzip
dieselben Daten, nur soll der eine die ersten höchstens 4
Datensàtze darstellen, der zweite die nàchsten 4 Datensàtze. Beide
Unterberichte sind mit der Gruppe des Hauptberichts verknüpft
(Feld: TR). Die Detaildatensàtze des Unterberichts müssen die Daten nach
der
Sortiernummer aufsteigend sortiert zurückgeben.

Hier die Datenquelle der Unterberichte:

SELECT
atblTZ.TR, atblTZ.lgSort, atblTZ.txtBildunterschrift, atblTZ.PicID,
atblTZ.TZID,
tblAlleBilder.txtBildname
FROM
tblAlleBilder
INNER JOIN atblTZ ON tblAlleBilder.PicID = atblTZ.PicID
WHERE atblTZ.PicID Is Not Null
ORDER BY atblTZ.TR, atblTZ.lgSort

Die Sortiernummer ist nicht eindeutig und hat auch Lücken.
Ich habe schon mit TOP 50% herumprobiert - aber das funktioniert nur
bei Sortierung nach der (eindeutigen) TZID. Bei Sortierung nach der
Sortiernummer kriege ich nicht genau die Hàlfte.



Was hindert dich daran, dieses eindeutige Feld TZID als zusàtzliches
Sortierfeld hinter den anderen zu verwenden und damit TOP eindeutiges
Futter zu liefern?

Mir fàllt nichts mehr ein außer:
Möglich wàre eine Hilfstabelle, in der ich obige Daten abspeichere
und ein Feld für eine fortlaufende, neue Sortiernummer
"byteSortNurPic" einfüge. Die sollte dann für jedes TR von 1 bis
höchstens 8 gehen. Dann könnte ich einfach eine BEdingung < 5 (bzw
> 4) in die Datenquellen der Berichte schreiben.

Wie kann ich aber so eine Anfügeabfrage formulieren, damit da dann
zu jedem TR die neuen Sortiernummern" von 1 bis maximal 8
abgespeichert werden? Ein bisschen SQL kann ich ja schon, aber das
überfordert mich. Donkarl 3.11 hilft mir auch noch nicht weiter.



Das ist nur eine Notlösung, wenn sonst nix geht.

HTH
Karl
********* Ich beantworte keine Access-Fragen per Email. *********
Access-FAQ: http://www.donkarl.com

Ähnliche fragen