Discussion:
Max. Datensätze pro Berichtserstellung
(zu alt für eine Antwort)
Tobias Bräutigam
2005-02-16 09:03:07 UTC
Permalink
Hallo!

Ich hab über eine Abfrage 480 Datensätze bekommen. Das macht im Bericht ca.
105 Seiten.

Wenn ich jetzt eine 2. Abfrage mache mit mehr als 600 Datensätzen, dann
hängt sich der PC bei der Erstellung des Berichtes auf, CPU Belastung 100%
und ich kann nur noch mit Strg+Pause die Datenbank zurückholen.

Gibt es da ein Limit, wieviel Datensätze Pro Bericht abgearbeitet werden
dürfen?

Grüße

T. Bräutigam
Michael Steffen
2005-02-16 09:12:34 UTC
Permalink
Hallo,

meines Wissens nein. Ich fahre Berichte mit mehreren 1.000 Datensätzen ohne
Probleme.
Das Problem dürfte dann eher bei der Abfrage liegen.

mfG

Michael Steffen
Post by Tobias Bräutigam
Hallo!
Ich hab über eine Abfrage 480 Datensätze bekommen. Das macht im Bericht ca.
105 Seiten.
Wenn ich jetzt eine 2. Abfrage mache mit mehr als 600 Datensätzen, dann
hängt sich der PC bei der Erstellung des Berichtes auf, CPU Belastung 100%
und ich kann nur noch mit Strg+Pause die Datenbank zurückholen.
Gibt es da ein Limit, wieviel Datensätze Pro Bericht abgearbeitet werden
dürfen?
Grüße
T. Bräutigam
Gerald Aichholzer
2005-02-16 09:51:47 UTC
Permalink
Post by Tobias Bräutigam
Ich hab über eine Abfrage 480 Datensätze bekommen. Das macht im Bericht ca.
105 Seiten.
Wenn ich jetzt eine 2. Abfrage mache mit mehr als 600 Datensätzen, dann
hängt sich der PC bei der Erstellung des Berichtes auf, CPU Belastung 100%
und ich kann nur noch mit Strg+Pause die Datenbank zurückholen.
Gibt es da ein Limit, wieviel Datensätze Pro Bericht abgearbeitet werden
dürfen?
Hallo Tobias,

wie Michael schon gesagt hat, liegt das Problem eher bei deinen Ab-
fragen. Ich habe auch schon Berichte mit 100.000 Datensätzen problem-
los erstellst.

Poste mal deine konkreten Abfragen.

schöne Grüße,
Gerald
Tobias Bräutigam
2005-02-16 11:09:03 UTC
Permalink
ok, hier mal die Abfragen:

Bei diesem Raum funktioniert alles bestens und ich kann einen Bericht
erstellen:

SELECT r.Haltestelle, r.Ebene_Bereich, r.Raumnummer, r.Raumbezeichnung,
a.Komponentenbezeichnung, a.Hersteller, a.Typ, a.[MSR-Nummer], a.[Technische
Daten], W.Anlagengruppe, W.Anlagenteil, W.Wartungsmaßnahme, W.[6mtl],
W.jährlich, W.bBedarf
FROM Komponenten AS a, [AMEV Wartung] AS W, [A+AMEV] AS con, Räume AS r
WHERE (((r.Haltestelle)="Gerlingen Betriebsgebäude") And
((r.Raumnummer)=a.raumnummer And ((con.Laufnr)=w.Laufnr) And
((con.A_Position)=a.A_Position)) AND r.Raumnummer = "GG 10.7")

Bei diesem hier, der mit dem selbem Fromular aufgenommen wurde und
eigentlich die selben Daten drin stehen gehts nicht:


SELECT r.Haltestelle, r.Ebene_Bereich, r.Raumnummer, r.Raumbezeichnung,
a.Komponentenbezeichnung, a.Hersteller, a.Typ, a.[MSR-Nummer], a.[Technische
Daten], W.Anlagengruppe, W.Anlagenteil, W.Wartungsmaßnahme, W.[6mtl],
W.jährlich, W.bBedarf
FROM Komponenten AS a, [AMEV Wartung] AS W, [A+AMEV] AS con, Räume AS r
WHERE (((r.Haltestelle)="Gerlingen Betriebsgebäude") And
((r.Raumnummer)=a.raumnummer And ((con.Laufnr)=w.Laufnr) And
((con.A_Position)=a.A_Position)) AND r.Raumnummer = "GG 10.6);

Wenn ich die Abfragen ausführe, dann bekomme ich auch korrekt Ergebenisse.
Erst im Bericht wirds übel. Also an der Anzahl der Datensätze liegt es sich
er nicht. Habe das jetzt auch probiert.

Ich meine ich habe in der Abfrage jetzt nur ein Kriterium geändert (nach
10.6), dass er halt einen etwas anderen Bereich ausließt als bei "10.7" Der
ist alles in der selben Tabelle nur die Zeilen sind verschieden!

Hilft euch net viel weiter, oder?

Gruß Tobi
Post by Gerald Aichholzer
Post by Tobias Bräutigam
Ich hab über eine Abfrage 480 Datensätze bekommen. Das macht im Bericht ca.
105 Seiten.
Wenn ich jetzt eine 2. Abfrage mache mit mehr als 600 Datensätzen, dann
hängt sich der PC bei der Erstellung des Berichtes auf, CPU Belastung 100%
und ich kann nur noch mit Strg+Pause die Datenbank zurückholen.
Gibt es da ein Limit, wieviel Datensätze Pro Bericht abgearbeitet werden
dürfen?
Hallo Tobias,
wie Michael schon gesagt hat, liegt das Problem eher bei deinen Ab-
fragen. Ich habe auch schon Berichte mit 100.000 Datensätzen problem-
los erstellst.
Poste mal deine konkreten Abfragen.
schöne Grüße,
Gerald
Michael Steffen
2005-02-16 11:32:20 UTC
Permalink
Hallo,

Eine Ursache kann ich in den Abfragen nicht erkennen. Sind ja auch nicht
sooo komplex.
Sollte vielleicht ein Speichermangel vorliegen?

mfG

Michael
Post by Tobias Bräutigam
Bei diesem Raum funktioniert alles bestens und ich kann einen Bericht
SELECT r.Haltestelle, r.Ebene_Bereich, r.Raumnummer, r.Raumbezeichnung,
a.Komponentenbezeichnung, a.Hersteller, a.Typ, a.[MSR-Nummer],
a.[Technische
Post by Tobias Bräutigam
Daten], W.Anlagengruppe, W.Anlagenteil, W.Wartungsmaßnahme, W.[6mtl],
W.jährlich, W.bBedarf
FROM Komponenten AS a, [AMEV Wartung] AS W, [A+AMEV] AS con, Räume AS r
WHERE (((r.Haltestelle)="Gerlingen Betriebsgebäude") And
((r.Raumnummer)=a.raumnummer And ((con.Laufnr)=w.Laufnr) And
((con.A_Position)=a.A_Position)) AND r.Raumnummer = "GG 10.7")
Bei diesem hier, der mit dem selbem Fromular aufgenommen wurde und
SELECT r.Haltestelle, r.Ebene_Bereich, r.Raumnummer, r.Raumbezeichnung,
a.Komponentenbezeichnung, a.Hersteller, a.Typ, a.[MSR-Nummer],
a.[Technische
Post by Tobias Bräutigam
Daten], W.Anlagengruppe, W.Anlagenteil, W.Wartungsmaßnahme, W.[6mtl],
W.jährlich, W.bBedarf
FROM Komponenten AS a, [AMEV Wartung] AS W, [A+AMEV] AS con, Räume AS r
WHERE (((r.Haltestelle)="Gerlingen Betriebsgebäude") And
((r.Raumnummer)=a.raumnummer And ((con.Laufnr)=w.Laufnr) And
((con.A_Position)=a.A_Position)) AND r.Raumnummer = "GG 10.6);
Wenn ich die Abfragen ausführe, dann bekomme ich auch korrekt Ergebenisse.
Erst im Bericht wirds übel. Also an der Anzahl der Datensätze liegt es sich
er nicht. Habe das jetzt auch probiert.
Ich meine ich habe in der Abfrage jetzt nur ein Kriterium geändert (nach
10.6), dass er halt einen etwas anderen Bereich ausließt als bei "10.7" Der
ist alles in der selben Tabelle nur die Zeilen sind verschieden!
Hilft euch net viel weiter, oder?
Gruß Tobi
Post by Gerald Aichholzer
Post by Tobias Bräutigam
Ich hab über eine Abfrage 480 Datensätze bekommen. Das macht im Bericht ca.
105 Seiten.
Wenn ich jetzt eine 2. Abfrage mache mit mehr als 600 Datensätzen, dann
hängt sich der PC bei der Erstellung des Berichtes auf, CPU Belastung 100%
und ich kann nur noch mit Strg+Pause die Datenbank zurückholen.
Gibt es da ein Limit, wieviel Datensätze Pro Bericht abgearbeitet werden
dürfen?
Hallo Tobias,
wie Michael schon gesagt hat, liegt das Problem eher bei deinen Ab-
fragen. Ich habe auch schon Berichte mit 100.000 Datensätzen problem-
los erstellst.
Poste mal deine konkreten Abfragen.
schöne Grüße,
Gerald
Tobias Bräutigam
2005-02-16 12:07:01 UTC
Permalink
Also an Speichermangel kann es eigentlich nicht liegen.

Die Abfragen habe ich jetzt zu testzwecken etwas abgespeckt und halt nur von
einem Raum gemacht. Da handelt es sich dann um ca. 30 Datensätze. Und diese
sollte es eigentlich schon schaffen...

Es muss wohl irgendwie an Zeichen oder so hängen die in der Tabelle stehen,
die dann im Bericht nicht verarbeite werden können. Aber Nur wegen bestimmten
Zeichen geht gleich der ganze Bericht vor die Hunde?`Kann ich mir nicht
vorstellen...
Post by Michael Steffen
Hallo,
Eine Ursache kann ich in den Abfragen nicht erkennen. Sind ja auch nicht
sooo komplex.
Sollte vielleicht ein Speichermangel vorliegen?
mfG
Michael
Post by Tobias Bräutigam
Bei diesem Raum funktioniert alles bestens und ich kann einen Bericht
SELECT r.Haltestelle, r.Ebene_Bereich, r.Raumnummer, r.Raumbezeichnung,
a.Komponentenbezeichnung, a.Hersteller, a.Typ, a.[MSR-Nummer],
a.[Technische
Post by Tobias Bräutigam
Daten], W.Anlagengruppe, W.Anlagenteil, W.Wartungsmaßnahme, W.[6mtl],
W.jährlich, W.bBedarf
FROM Komponenten AS a, [AMEV Wartung] AS W, [A+AMEV] AS con, Räume AS r
WHERE (((r.Haltestelle)="Gerlingen Betriebsgebäude") And
((r.Raumnummer)=a.raumnummer And ((con.Laufnr)=w.Laufnr) And
((con.A_Position)=a.A_Position)) AND r.Raumnummer = "GG 10.7")
Bei diesem hier, der mit dem selbem Fromular aufgenommen wurde und
SELECT r.Haltestelle, r.Ebene_Bereich, r.Raumnummer, r.Raumbezeichnung,
a.Komponentenbezeichnung, a.Hersteller, a.Typ, a.[MSR-Nummer],
a.[Technische
Post by Tobias Bräutigam
Daten], W.Anlagengruppe, W.Anlagenteil, W.Wartungsmaßnahme, W.[6mtl],
W.jährlich, W.bBedarf
FROM Komponenten AS a, [AMEV Wartung] AS W, [A+AMEV] AS con, Räume AS r
WHERE (((r.Haltestelle)="Gerlingen Betriebsgebäude") And
((r.Raumnummer)=a.raumnummer And ((con.Laufnr)=w.Laufnr) And
((con.A_Position)=a.A_Position)) AND r.Raumnummer = "GG 10.6);
Wenn ich die Abfragen ausführe, dann bekomme ich auch korrekt Ergebenisse.
Erst im Bericht wirds übel. Also an der Anzahl der Datensätze liegt es
sich
Post by Tobias Bräutigam
er nicht. Habe das jetzt auch probiert.
Ich meine ich habe in der Abfrage jetzt nur ein Kriterium geändert (nach
10.6), dass er halt einen etwas anderen Bereich ausließt als bei "10.7"
Der
Post by Tobias Bräutigam
ist alles in der selben Tabelle nur die Zeilen sind verschieden!
Hilft euch net viel weiter, oder?
Gruß Tobi
Post by Gerald Aichholzer
Post by Tobias Bräutigam
Ich hab über eine Abfrage 480 Datensätze bekommen. Das macht im
Bericht ca.
Post by Tobias Bräutigam
Post by Gerald Aichholzer
Post by Tobias Bräutigam
105 Seiten.
Wenn ich jetzt eine 2. Abfrage mache mit mehr als 600 Datensätzen,
dann
Post by Tobias Bräutigam
Post by Gerald Aichholzer
Post by Tobias Bräutigam
hängt sich der PC bei der Erstellung des Berichtes auf, CPU Belastung
100%
Post by Tobias Bräutigam
Post by Gerald Aichholzer
Post by Tobias Bräutigam
und ich kann nur noch mit Strg+Pause die Datenbank zurückholen.
Gibt es da ein Limit, wieviel Datensätze Pro Bericht abgearbeitet
werden
Post by Tobias Bräutigam
Post by Gerald Aichholzer
Post by Tobias Bräutigam
dürfen?
Hallo Tobias,
wie Michael schon gesagt hat, liegt das Problem eher bei deinen Ab-
fragen. Ich habe auch schon Berichte mit 100.000 Datensätzen problem-
los erstellst.
Poste mal deine konkreten Abfragen.
schöne Grüße,
Gerald
Peter Doering
2005-02-16 12:48:47 UTC
Permalink
Hallo,
Post by Tobias Bräutigam
Bei diesem Raum funktioniert alles bestens und ich kann einen Bericht
SELECT r.Haltestelle, r.Ebene_Bereich, r.Raumnummer, r.Raumbezeichnung,
a.Komponentenbezeichnung, a.Hersteller, a.Typ, a.[MSR-Nummer], a.[Technische
Daten], W.Anlagengruppe, W.Anlagenteil, W.Wartungsmaßnahme, W.[6mtl],
W.jährlich, W.bBedarf
FROM Komponenten AS a, [AMEV Wartung] AS W, [A+AMEV] AS con, Räume AS r
WHERE (((r.Haltestelle)="Gerlingen Betriebsgebäude") And
((r.Raumnummer)=a.raumnummer And ((con.Laufnr)=w.Laufnr) And
((con.A_Position)=a.A_Position)) AND r.Raumnummer = "GG 10.7")
Bei diesem hier, der mit dem selbem Fromular aufgenommen wurde und
SELECT r.Haltestelle, r.Ebene_Bereich, r.Raumnummer, r.Raumbezeichnung,
a.Komponentenbezeichnung, a.Hersteller, a.Typ, a.[MSR-Nummer], a.[Technische
Daten], W.Anlagengruppe, W.Anlagenteil, W.Wartungsmaßnahme, W.[6mtl],
W.jährlich, W.bBedarf
FROM Komponenten AS a, [AMEV Wartung] AS W, [A+AMEV] AS con, Räume AS r
WHERE (((r.Haltestelle)="Gerlingen Betriebsgebäude") And
((r.Raumnummer)=a.raumnummer And ((con.Laufnr)=w.Laufnr) And
((con.A_Position)=a.A_Position)) AND r.Raumnummer = "GG 10.6);
1. Bau die Abfrage mal fuer Jet optimiert um:

SELECT r.Haltestelle, r.Ebene_Bereich, r.Raumnummer,
r.Raumbezeichnung, a.Komponentenbezeichnung,
a.Hersteller, a.Typ, a.[MSR-Nummer], a.[Technische Daten],
W.Anlagengruppe, W.Anlagenteil, W.Wartungsmaßnahme,
W.[6mtl], W.jährlich, W.bBedarf
FROM ([A+AMEV] AS Con
INNER JOIN [AMEV Wartung] AS W ON Con.Laufnr = W.Laufnr)
INNER JOIN (Komponenten AS A
INNER JOIN Räume AS R ON A.Raumnummer = R.Raumnummer)
ON Con.A_Position = A.A_Position
WHERE R.Haltestelle = "Gerlingen Betriebsgebäude"
AND R.Raumnummer = "GG 10.6";

(Tipp am Rande: verwende sprechende Aliase. Was hat z.B. [A+AMEV] mit Con
zu tun?)

2. Du brauchst Indices auf folgende Felder

[A+AMEV].A_Position
[A+AMEV].Laufnr
[AMEV Wartung].Laufnr
Komponenten.Raumnummer
Komponenten.A_Position
Räume.Raumnummer
Räume.Haltestelle

3. Achte darauf, dass keine n:m-Beziehungen vorkommen. Beispiel: mehrere
gleiche A_Position in sowohl [A+AMEV] als auch [Komponenten].

Gruss - Peter
--
Ich beantworte keine Fragen per Email.
Mitglied im http://www.dbdev.org
FAQ: http://www.donkarl.com
Tobias Bräutigam
2005-02-16 09:53:04 UTC
Permalink
Ok, das hängt wohl wirklich an etwas anderem.

Ich habe jetzt mal den kritischen Teil der Abfrage rausgefiltert. Exportiere
ich diesen in eine Excel Tabelle und verknüpfe diese dann wieder mit der
Datenbank als "Tabelle" ist die Berichtserstellung problemlos möglich!!

ALso kann die Abfrage nicht so falsch sein. An was könnte das liegen?
Zuviele Zeichen?

Grüße

T.Bräutigam
Post by Tobias Bräutigam
Hallo!
Ich hab über eine Abfrage 480 Datensätze bekommen. Das macht im Bericht ca.
105 Seiten.
Wenn ich jetzt eine 2. Abfrage mache mit mehr als 600 Datensätzen, dann
hängt sich der PC bei der Erstellung des Berichtes auf, CPU Belastung 100%
und ich kann nur noch mit Strg+Pause die Datenbank zurückholen.
Gibt es da ein Limit, wieviel Datensätze Pro Bericht abgearbeitet werden
dürfen?
Grüße
T. Bräutigam
Michael Steffen
2005-02-16 11:21:37 UTC
Permalink
Hallo Tobias,

Generell solltest du in deiner Abfrage nur die Felder verwenden, die du
auch im Bericht brauchst.

Zuviele Zeichen? ??

Bei der Abfrage selber gibt es max. Werte:
z.B. Anzahl der TAbellen 32
Anzahl der Felder in einem Recordset :255
etc.

Würden diese Werte überschritten, dann würde deine 1. Abfrage schon nicht
laufen. Daher bin ich jetzt auch etwas ratlos.

In einem anderen Fall (zu komplexe Abfragen) habe ich mir dann so beholfen,
daß ich eine temporäre Tabelle aufgebaut habe und diese dann als Quelle für
den Bericht verwendet habe. Ist nicht schön, hat aber funktioniert.

Vielleicht hilft die das weiter.

mfG

Michael Steffen
Post by Tobias Bräutigam
Ok, das hängt wohl wirklich an etwas anderem.
Ich habe jetzt mal den kritischen Teil der Abfrage rausgefiltert. Exportiere
ich diesen in eine Excel Tabelle und verknüpfe diese dann wieder mit der
Datenbank als "Tabelle" ist die Berichtserstellung problemlos möglich!!
ALso kann die Abfrage nicht so falsch sein. An was könnte das liegen?
Zuviele Zeichen?
Grüße
T.Bräutigam
Post by Tobias Bräutigam
Hallo!
Ich hab über eine Abfrage 480 Datensätze bekommen. Das macht im Bericht ca.
105 Seiten.
Wenn ich jetzt eine 2. Abfrage mache mit mehr als 600 Datensätzen, dann
hängt sich der PC bei der Erstellung des Berichtes auf, CPU Belastung 100%
und ich kann nur noch mit Strg+Pause die Datenbank zurückholen.
Gibt es da ein Limit, wieviel Datensätze Pro Bericht abgearbeitet werden
dürfen?
Grüße
T. Bräutigam
Loading...