Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Werkzeuge (https://www.delphipraxis.net/63-sonstige-werkzeuge/)
-   -   CrystelReports: Vorhandenen Report von Delphi aufrufen (https://www.delphipraxis.net/120878-crystelreports-vorhandenen-report-von-delphi-aufrufen.html)

alzaimar 18. Sep 2008 07:33


CrystelReports: Vorhandenen Report von Delphi aufrufen
 
Hallo,

ich habe hier eine CrystelReport-Vorlage, die ein Datenblatt darstellen soll.

Als SQL-Abfrage steht nur sowas wie 'Select * from Produkt'. Es sind keine Parameterfelder o.ä. definiert.

Nun meine Fragen:
1. Würde so eine Vorlage nicht die Datenblätter *ALLER* Produkte anzeigen?
2. Wenn ich nur ein Datenblatt (z.B. Produktname= 'FooBar') möchte, ginge das mit dieser Vorlage?

Samashy 18. Sep 2008 08:00

Re: CrystelReports: Vorhandenen Report von Delphi aufrufen
 
Willst Du wissen, wie man einen CR im Delphi auffruft?
oder
Willst Du wissen, wie man die Datensatzauswahl einschränkt?

Hast Du einen CR-Designer?

Romy

alzaimar 18. Sep 2008 08:10

Re: CrystelReports: Vorhandenen Report von Delphi aufrufen
 
Hi,

Nett, das Du mir helfen willt.

Ich habe eine Anfrage von einem Kunden, der eine Delphi-Applikation hat. Der Quelltext ist nicht erhältlich. Aus der Anwendung wird ein einzelnes Datenblatt abgerufen. Das dauert aber ewig (10-30 Sekunden), bis die eine Seite da ist. Aber diese CR-Vorlage habe ich.

Ich würde erwarten, das im Report sowas steht wie (kenn mich mit CR speziell nicht aus):
SQL-Code:
Select * from Produktdaten where ProduktNummer = :EinParameter
Wobei dieses ':EinParameter' ein Wert ist, den ich von Delphi aus spezifiziere.

Im Report steht aber nur (SQL verfälscht, wg. NDA):
SQL-Code:
 select * 
  FROM {oj Produkt Produkt
        LEFT OUTER JOIN Daten Daten
            ON Produkt.IDDaten=Daten.ID
}
Da der Report mit Gruppen arbeitet, denke ich mir einfach, das dann ALLE Datenblätter ausgespuckt würden, aber nur eines angezeigt wird.

Es geht letztendlich nur um die Frage, wieso das so lange dauert. Anschließend wäre die Frage zu klären, ob und wie man das mit CR schneller hinbekommt (muss ja gehen).
Ich jedenfalls schreibe so einen Datenblatt-Anzeig-o-Mat mit FastReport, sodas das Blatt sofort angezeigt wird.

Ich habe übrigens den im Visual Studio 2005 eingebauten CR-Designer. Der meckert nur, das die Vorlage mit einer neueren Version erzeugt wurde und vielleicht einige Features nicht gehen. Aber da mein Problem auf der untersten Anfängerebene anzusiedeln ist, messe ich dieser Meldung keine Bedeutung zu.

Samashy 18. Sep 2008 12:53

Re: CrystelReports: Vorhandenen Report von Delphi aufrufen
 
Du kannst auf die Datensatzauswahlformel aus Delphi aus zu greifen.
Dafür musst Du aber die Spaltennamen wissen.

Romy

alzaimar 18. Sep 2008 13:00

Re: CrystelReports: Vorhandenen Report von Delphi aufrufen
 
Ok, das dachte ich mir...

Liest Crystalreports nun erst alle Daten ein und filtert dann oder wie läuft das ?(Ich glaub schon, weil das ja so lange dauert ...)

Gremlin 18. Sep 2008 13:17

Re: CrystelReports: Vorhandenen Report von Delphi aufrufen
 
CR liesst die Daten entsprechend der SQL-Abfrage aus und lädt dann IMHO alle Daten der Abfrage.
Diese können entsprechend der eingestellten Bedingungen weiter gefiltert werden (Selektionen).
Man sollte wissen, auf welchem Weg auf die Daten zugegriffen wird (Datenbanktyp, native, ODBC).
Hast du die Möglichkeit den Report mit der CrystalReports Komponente von Delphi aus zu öffnen? Wenn es
so wäre könntest du alle verwendeten Einstellungen überprüfen (hab leider kein VS2005).

Ansonsten gibt es eine Demo-Anwendung, die für diese Dinge auch interessant sein könnte
(ist frei verfügbar und kann ich bereitstellen)


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:09 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