Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Problem mir QRBand (https://www.delphipraxis.net/35381-problem-mir-qrband.html)

MARGERSCH 6. Dez 2004 13:27


Problem mir QRBand
 
Hallo,

beim Erstellen eines Delphi 6-Berichtes habe ich 2 Komponenten vom Typ
TQRBand auf das Formular gesetzt. Die obere Komponente ist vom Bandtyp
rbTitle und enthält die Feldüberschriften.
Die untere Komponente ist von Bandtyp rbDetail und sollte eigentlich
die Datensätze einer zugehörigen Datenmenge (Interbase 6.0) anzeigen,
die sich in 5 TDBText-Feldern aufteilt (Alle Dataset-Eigenschaften dieser
Felder weisen auf eine TIBQuery)
Obwohl die Datenmenge 6 Datensätze enthält, bekomme ich immer nur
den ersten Datensatz zu sehen.
Woran könnte das liegen ?

Vielen Dank schonmal
Martin :-D

mikhal 6. Dez 2004 14:52

Re: Problem mir QRBand
 
Hast du die Eigenschaft DataSet der Komponente TQuickRep mit der TIBQuery verknüpft?

Grüße
Mikhal

MARGERSCH 6. Dez 2004 15:55

Re: Problem mir QRBand
 
Ja, die Dataset-Eigenschaft der TQuickRep-Komponente steht auf derselben
Query. Trotzdem sehe ich nur den ersten Datensatz
Gruss Martin

kiar 6. Dez 2004 16:16

Re: Problem mir QRBand
 
hallo martin,

herzlich willkommen in der dp.

könnte es sein, das du die query so einschränkst, das du nur einen ds erhälst?

zeige doch mal etwas code, wie die der sqlstring erzeugt wird , wie er aussieht.

ansonsten ist in deiner vorgehensweise kein fehler zu entdecken

raik

MARGERSCH 6. Dez 2004 16:36

Re: Problem mir QRBand
 
Hallo raik,

ich schicke mal den vom Objektinspektor
automatisch erzeugten Text für die
Datenmenge (Inzwischen habe ich mal
die TIBQuery durch eine TIBDataset
ersetzt, in der Hoffnung das es vielleicht hilft
was aber nicht der Fall ist) :

object ibdsCoeffTmp: TIBDataSet
Database = dmCalibration.ibdbLDU
Transaction = dmCalibration.ibtaLDU
BufferChunks = 1000
CachedUpdates = False
DeleteSQL.Strings = (
'delete from CALIBRCOEFFTMP_DAT'
'where'
' COEFFNR = :OLD_COEFFNR')
InsertSQL.Strings = (
'insert into CALIBRCOEFFTMP_DAT'
' (COEFFNR, COEFFNAME, COEFFVALUE, COEFFACTIVE, COEFFDESCR)'
'values'
' (:COEFFNR, :COEFFNAME, :COEFFVALUE, :COEFFACTIVE, :COEFFDESCR)')
RefreshSQL.Strings = (
'Select '
' COEFFNR,'
' COEFFNAME,'
' COEFFVALUE,'
' COEFFACTIVE,'
' COEFFDESCR'
'from CALIBRCOEFFTMP_DAT '
'where'
' COEFFNR = :COEFFNR')
SelectSQL.Strings = (
'select * from CALIBRCOEFFTMP_DAT')
ModifySQL.Strings = (
'update CALIBRCOEFFTMP_DAT'
'set'
' COEFFNR = :COEFFNR,'
' COEFFNAME = :COEFFNAME,'
' COEFFVALUE = :COEFFVALUE,'
' COEFFACTIVE = :COEFFACTIVE,'
' COEFFDESCR = :COEFFDESCR'
'where'
' COEFFNR = :OLD_COEFFNR')
Active = True
Left = 840
Top = 344
object ibdsCoeffTmpCOEFFNR: TIntegerField
FieldName = 'COEFFNR'
Origin = 'CALIBRCOEFFTMP_DAT.COEFFNR'
Required = True
end
object ibdsCoeffTmpCOEFFNAME: TIBStringField
FieldName = 'COEFFNAME'
Origin = 'CALIBRCOEFFTMP_DAT.COEFFNAME'
Size = 15
end
object ibdsCoeffTmpCOEFFVALUE: TFloatField
FieldName = 'COEFFVALUE'
Origin = 'CALIBRCOEFFTMP_DAT.COEFFVALUE'
end
object ibdsCoeffTmpCOEFFACTIVE: TIBStringField
FieldName = 'COEFFACTIVE'
Origin = 'CALIBRCOEFFTMP_DAT.COEFFACTIVE'
Size = 1
end
object ibdsCoeffTmpCOEFFDESCR: TIBStringField
FieldName = 'COEFFDESCR'
Origin = 'CALIBRCOEFFTMP_DAT.COEFFDESCR'
Size = 25
end
end

kiar 6. Dez 2004 16:43

Re: Problem mir QRBand
 
martin,

so war das nicht gemeint :shock:

nimm noch mal die
SQL-Code:
 select * from CALIBRCOEFFTMP_DAT
und führe sie in der IBConsole im sqlEditor aus. dann müsstest du alle ds sehen, welche in der tabelle sind.


raik

MARGERSCH 6. Dez 2004 16:52

Re: Problem mir QRBand
 
Hallo raik,
tschuldigung, dass ich dich jetzt da falsch verstanden
habe. in einer TDBGrid-Komponente, dessen DataSource-Eigenschaft
eine Datenquelle die eben auf diese TIBDataSet-Komponente verweist
zeigt er mir durchaus (Zur Zeit 11) mehrere Datensätze im Grid an.

Gruss Martin

MrSpock 6. Dez 2004 20:44

Re: Problem mir QRBand
 
Hallo MAGERSCH,

den Fehler, den mikhal schon angesprochen hat, ist tatsächlich die häufigste Ursache für den Effekt, dass nur ein Datensatz angezeigt wird. Du solltest deshalb noch einmal prüfen, ob Die Eigenschaft DataSet der QuickReport Komponente korrekt gesetzt ist. Viele setzen nur die DataSet Eigenschaft der QRDBText Komponenten, aber nicht die des QUickReport Komponente selbst.

Wenn du es noch einmal überprüft hast, dann könnten evtl. noch bestimmte Events zu einem Abbruch der Reporterstellung führen. Hast du für irgendwelchen Events des Reportes Code erzeugt.

MARGERSCH 7. Dez 2004 07:46

Re: Problem mir QRBand
 
OK, ursprünglich war die fehlende Dataset-Eigenschaft
wohl tatsächlich der Fehler. Durch mein Probieren
hatte ich dann die ForceNewColumn-Eigenschaft
aktiviert und nach dem Setzen der Eigenschaft ist mir
nicht aufgefallen, dass der 2. Datensatz auf der
2. Seite usw. ausgegeben wurde,
aber jetzt läuft's
Danke
Martin


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:00 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz