AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Report erstellen - wie Query gestalten
Thema durchsuchen
Ansicht
Themen-Optionen

Report erstellen - wie Query gestalten

Ein Thema von messie · begonnen am 21. Jan 2013 · letzter Beitrag vom 25. Jan 2013
Antwort Antwort
Seite 2 von 3     12 3      
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#11

AW: Report erstellen - wie Query gestalten

  Alt 22. Jan 2013, 17:51
Zitat:
Zitat von mkinzler:
Kann FB ist aber nicht besonders performant. ( in anderen DBMS aber auch nicht)
Ich nutze FB nicht produktiv, aber das kann ich kaum glauben.
Ich habe mich hier verguckt und geglaubt, dass es sich um Selects in der Feldliste handelt ( werden für jeden Datensatz aufgerufen -> unperformant). Hier handelt es sich aber um eine DERIVED TABLE, auf die gejoint wird.
Markus Kinzler
  Mit Zitat antworten Zitat
messie

Registriert seit: 2. Mär 2005
Ort: Göttingen
1.592 Beiträge
 
Delphi 2009 Professional
 
#12

AW: Report erstellen - wie Query gestalten

  Alt 23. Jan 2013, 14:03
So, dank Lemmy habe ich jetzt eine stored proc hinbekommen.

Im Flamerobin geht das wunderbar auch wenn es etwas dauert.
Jetzt habe ich das Problem dass der Report die Daten nicht anzeigt.

Ich habe testhalber mal eine einfache Query probiert "Select * from table where test_id = 17", das zur Entwurfszeit in die IDCQuery gespielt und den Preview zur Entwurfszeit ausgeführt. Alle zutreffenden Elemente (fortlaufende Seriennnummern) tauchen im Report auf.

Zur Laufzeit lade ich denselben String in dieselbe Query-Komponente, weise den Komponenten (QRDBText) die Query und die Felder zu und öffne die Query. Ergebnis: Gleiche Zeilenzahl aber immer die erste Seriennummer.

Was mache ich da falsch?

Grüße, Messie
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.366 Beiträge
 
Delphi 10.3 Rio
 
#13

AW: Report erstellen - wie Query gestalten

  Alt 23. Jan 2013, 14:42
Hi,

klatsch mal ein DBGrid auf dein Formular und schließ die Query an das Grid an. Kommen da die Daten?

Was genau meinst Du damit:
Zitat:
Ergebnis: Gleiche Zeilenzahl aber immer die erste Seriennummer.
Im Report?
  Mit Zitat antworten Zitat
messie

Registriert seit: 2. Mär 2005
Ort: Göttingen
1.592 Beiträge
 
Delphi 2009 Professional
 
#14

AW: Report erstellen - wie Query gestalten

  Alt 23. Jan 2013, 14:59
klatsch mal ein DBGrid auf dein Formular und schließ die Query an das Grid an. Kommen da die Daten?
Ja, ist alles da. Für das Grid musste ich noch eine IBCDataSource spendieren, hat das eine Bedeutung?
Was muss man anstellen um einen TDBNavigator zum Laufen zu bringen oder funzt der zur Entwurfszeit gar nicht?

Hi,
Was genau meinst Du damit:
Zitat:
Ergebnis: Gleiche Zeilenzahl aber immer die erste Seriennummer.
Im Report?
Ja. So als würde der Report zwar wissen, wieviele Einträge in der Query stecken, aber immer nur Zeile 1 ausgeben.

Leider bekomme ich die Query auf die stored proc nicht zur Entwurfszeit in die IBCquery. Vielleicht bin ich auch nur zu blöd


Grüße, Messie
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#15

AW: Report erstellen - wie Query gestalten

  Alt 23. Jan 2013, 16:19
SQL-Code:
select
    <Feldliste>
from
    <SP-Name> ( :Param1, ...)
where
    <Bedingung>;
Markus Kinzler
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.366 Beiträge
 
Delphi 10.3 Rio
 
#16

AW: Report erstellen - wie Query gestalten

  Alt 23. Jan 2013, 19:36
Ja. So als würde der Report zwar wissen, wieviele Einträge in der Query stecken, aber immer nur Zeile 1 ausgeben.

Leider bekomme ich die Query auf die stored proc nicht zur Entwurfszeit in die IBCquery. Vielleicht bin ich auch nur zu blöd
kann ja nicht anders sein Du hast doch XE2, damit auch FastReport. Kannst Du nicht den anstelle von QR nehmen?
  Mit Zitat antworten Zitat
messie

Registriert seit: 2. Mär 2005
Ort: Göttingen
1.592 Beiträge
 
Delphi 2009 Professional
 
#17

AW: Report erstellen - wie Query gestalten

  Alt 23. Jan 2013, 20:10
Ja. So als würde der Report zwar wissen, wieviele Einträge in der Query stecken, aber immer nur Zeile 1 ausgeben.

Leider bekomme ich die Query auf die stored proc nicht zur Entwurfszeit in die IBCquery. Vielleicht bin ich auch nur zu blöd
kann ja nicht anders sein Du hast doch XE2, damit auch FastReport. Kannst Du nicht den anstelle von QR nehmen?
Nö, dazu reicht die Zeit nicht mehr

Jetzt muss gezaubert werden


SQL-Code:
select
    <Feldliste>
from
    <SP-Name> ( :Param1, ...)
where
    <Bedingung>;
Öhm, was ist die Feldliste?

Grüße, Messie
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#18

AW: Report erstellen - wie Query gestalten

  Alt 23. Jan 2013, 20:37
Die Felder, die man abfragen will
Markus Kinzler
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#19

AW: Report erstellen - wie Query gestalten

  Alt 23. Jan 2013, 21:07
...Ja. So als würde der Report zwar wissen, wieviele Einträge in der Query stecken, aber immer nur Zeile 1 ausgeben.
Das ist doch klar. Der Report muss das DataSet kennen. Also so etwas :

qrDruck.DataSet := DS; // DS aus DataModule, im FormCreate/Show Dann muss der BandType noch auf rbDetail eingetsellt sein. Ansonsten kommt nur ein DS Zurück.
Gruß
Hansa
  Mit Zitat antworten Zitat
messie

Registriert seit: 2. Mär 2005
Ort: Göttingen
1.592 Beiträge
 
Delphi 2009 Professional
 
#20

AW: Report erstellen - wie Query gestalten

  Alt 24. Jan 2013, 09:23
...Ja. So als würde der Report zwar wissen, wieviele Einträge in der Query stecken, aber immer nur Zeile 1 ausgeben.
Das ist doch klar. Der Report muss das DataSet kennen. Also so etwas :

qrDruck.DataSet := DS; // DS aus DataModule, im FormCreate/Show Dann muss der BandType noch auf rbDetail eingetsellt sein. Ansonsten kommt nur ein DS Zurück.
Code:
  DM.ReportQuery.SQL.Clear;
        //s := 'SELECT * FROM AUSWERTUNG(17)';
        s := 'SELECT * FROM TABLE WHERE ITEM_ID = 17';
        DM.ReportQuery.SQL.Add(s);
        DM.ReportQuery.open;



        DBReport.QRDBText5.DataSet := DM.ReportQuery;
        DBReport.QRDBText5.DataField := 'SERIAL';
        DBReport.QRDBText1.DataSet := DM.ReportQuery;
        DBReport.QRDBText1.DataField := 'ID';

        DBReport.DataReport.Prepare;
        DBReport.DataReport.Preview;
So sieht das bei mir aus - auch das Band ist ein Detailband. Heute bekomme ich auch nur noch die erste Zeile

Übergebe ich exakt diese Query zur Entwurfszeit an die IBCQuery und öffne den Preview des Reports ist alles da

Wenn ich den Report ohne eine Änderung öffne klappt es auch. Sobald ich die Zuweisung an die QRDBText-Felder einsetze klappt es nicht mehr.
Hängen da noch Nebenbedingunen dran?

Danke, Messie
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:16 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