Autor Beitrag
Buggi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 35



BeitragVerfasst: Di 05.11.02 16:02 
Hi Leutz,

ich bekomme bei der Erzeugung eines Quickreport's die Fehlermeldung
"Sperrungs-datei ist zu groß". Allerdings nur wenn die Datenmenge größer ist.

In der DetailbandBeforePrint steht folgender Code
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
  tempstring := 'select SUM(Anzahl*preis*vk_aufschlag) AS Fremdleistung'
  +' from materialauftrag' + DateiNamenAnhang()+ '.db where auftragsnummer='
  + datamodule6.ta_auftragauftragsnummer.asstring+ ' AND Gruppe=7';
  datamodule6.query1.active:=false;
  datamodule6.query1.sql.clear;
  datamodule6.query1.sql.add(tempstring);
  datamodule6.query1.active:=true;
  if datamodule6.query1.Fields.Fields[0].asfloat > 0 then
     LFremdleistung.Caption := format('%m',[datamodule6.query1.Fields.Fields[0].asfloat])
  else LFremdleistung.Caption:= '';

Ich hatte mal irgentwo gelesen, das man dem Problem mit dem Löschen
der Dateien mit den Endungen .net und .lck zu Leibe rücken kann, aber war nich so.
Weiß jemand Rat?

Gruß Burkhard

_________________
Delphi 4, BDE, Paradox
bis11
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1247
Erhaltene Danke: 2

Apple Mac OSX 10.11

BeitragVerfasst: Di 05.11.02 20:46 
Probiere es einfach mal so :

ausblenden Quelltext
1:
2:
3:
tempstring := 'select SUM(Anzahl*preis*vk_aufschlag) AS Fremdleistung' 
  +' from materialauftrag ' + DateiNamenAnhang()+ '.db where auftragsnummer=' 
  + IntToStr(datamodule6.ta_auftragauftragsnummer.asinteger+ ' AND Gruppe=7';
LCS
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1305
Erhaltene Danke: 1

WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
BeitragVerfasst: Mi 06.11.02 08:46 
Hi
Buggi hat folgendes geschrieben:

Ich hatte mal irgentwo gelesen, das man dem Problem mit dem Löschen
der Dateien mit den Endungen .net und .lck zu Leibe rücken kann, aber war nich so.

Jein. Das Löschen dieser Dateien bringt nur was, wenns darum geht nach einem Programmabsturz o. Ä. nicht zurückgesetzte Satzsperren wieder verschwinden zu lassen.

Du verwendest hier eine Query, die du beim Drucken für jeden einzelnen Datensatz auslöst. Ich würde an deiner Stelle mal Versuchen diese daten gleich in deinem Dataset für den Druck mit einzubinden. Dann dauert zwar das Öffnen der Datenmenge unter Umständen etwas länger, aber du hast es nur einmal. Damit würdest du das Problem der Sperren umgehen und innerhalb des DetailbandBeforePrint würde sich dein Code auf die Abfrage reduzieren.

Gruss Lothar

_________________
Der BH ist für die Brust, der Plan ist für'n Ar...
Buggi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 35



BeitragVerfasst: Mi 06.11.02 16:31 
Hi Lothar,

Du schriebst
Zitat:
Ich würde an deiner Stelle mal Versuchen diese daten gleich in deinem Dataset für den Druck mit einzubinden.


Kannst Du das noch mal näher erläutern. Und was macht im Zusammenhang mit der Query die Sperrungs-Datei?

Zur Erklärung : Ich hab verschiedene Reports die die Aufträge wiederspiegeln mit unterschiedlichen Informationsgehalt.
Dieser Report soll u.a. die Fremdleistungen (Gruppe=7) beinhalten.

Oh, by the way, bis11, das funzt nicht

Gruß Burkhard

_________________
Delphi 4, BDE, Paradox
LCS
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1305
Erhaltene Danke: 1

WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
BeitragVerfasst: Mi 06.11.02 17:14 
Hi
ich meinte damit folgendes:
Die Daten für den Report rufst du doch wahrscheinlich ebenfalls über eine Query ab. Bereits in dieser Query würde ich mittels JOIN auch die Werte abrufen, die du hier für jedes Detailband abrufst.

Gruss Lothar

_________________
Der BH ist für die Brust, der Plan ist für'n Ar...