Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQL-Abfrage in RaveReport ausgeben (https://www.delphipraxis.net/10683-sql-abfrage-ravereport-ausgeben.html)

eXOs 23. Okt 2003 11:41


SQL-Abfrage in RaveReport ausgeben
 
Hallo zusammen,

ich hab relativ frisch mit Delphi7 zu tun und soll eine Datenbankabfrage schreiben, die anschließend als RaveReport ausgegeben werden soll.

Der DB-Zugriff (Access) funktioniert, ich weis nur net, wie ich nun das Ergebnis in dem Report als Druckvorschau öffne. :(

Kann mir da jemand helfen??

Memo 23. Okt 2003 13:16

Re: SQL-Abfrage in RaveReport ausgeben
 
Einige Beiträge unterhalb gibt es einen Beitrag von Sakura, da hat jemand ein Bsp. angehängt. Das sollte dir für den Anfang weiterhelfen.
Und bitte unterlasse CrossPostings, dass kommt nicht gut an.

eXOs 28. Okt 2003 12:08

Re: SQL-Abfrage in RaveReport ausgeben
 
Ok, lass ich. Sorry :oops:

Also hab da nochmal was gemacht, theoretisch müsste das jetzt auch funktionieren, tut es aber net!

Ich hab jetzt mal den Quellcode, vielleicht stimmt ja was net.

THEN Begin
ADODS_Stamm.SQL.Text := 'Select KD_KDNR, KD_KDNAME, KD_KDPLZ, KD_KDORT, DXART.ART_ARTNR,
DXARB.ARB_DAT , DXARB.ARB_SERNUM FROM DXKD WHERE KD_KDNR Between Edit1.Text and Edit2.Text
Order
by DXKD.KD_KDNR';
RvProject1.ExecuteReport('c:\Projekt\StammKD.rav') ;
END

Kann mir jemand helfen?

eXOs 29. Okt 2003 13:21

Re: SQL-Abfrage in RaveReport ausgeben
 
Ok, nochmal was dran gemacht, nun hab ich schonmal ne verbindung zu dem RaveReport, dann bricht der aber ab mit ner Fehlermeldung:

"Für mindestens einen erforderlichen Parameter wurde kein Wert gegeben." :?:

Kann ich leider nichts mit anfangen, vielleicht weis ja hier jemand Bescheid.

eXOs 29. Okt 2003 13:32

Re: SQL-Abfrage in RaveReport ausgeben
 
Ich hab echt kein Plan! :wall:

Memo 29. Okt 2003 16:35

Re: SQL-Abfrage in RaveReport ausgeben
 
So aus dem steh hätte ich auch keine Idee zur Fehlermeldung.
Aber hast du schon den Artikel von merlin17 durchgelesen? Da könnte was für dich dabei sein.

eXOs 29. Okt 2003 17:34

Re: SQL-Abfrage in RaveReport ausgeben
 
Ja hab ich, bin aber noch nicht ganz durchgestiegen, gibt die ein oder andere abweichung zu Rave5. Aber die grundlegenden sachen sind die selben, naja, hilft alles nix, muss halt weiter probieren :lol:

MrSpock 30. Okt 2003 07:08

Re: SQL-Abfrage in RaveReport ausgeben
 
Hallo Exos,

dein SQL Staement funktioniert so nicht, weil ja nicht der String Edit1.Text sondern der Inhalt der Eigenschaft Text des Objektes Edit1 gemeint ist:

Delphi-Quellcode:
 ADODS_Stamm.SQL.Text := 'Select KD_KDNR, KD_KDNAME, KD_KDPLZ, KD_KDORT, DXART.ART_ARTNR,
DXARB.ARB_DAT , DXARB.ARB_SERNUM FROM DXKD WHERE KD_KDNR Between' +Edit1.Text + ' and ' +Edit2.Text
+ 'Order by DXKD.KD_KDNR';

eXOs 30. Okt 2003 08:38

Re: SQL-Abfrage in RaveReport ausgeben
 
:oops: OK, muss ich mal probieren! Danke

eXOs 30. Okt 2003 10:23

Re: SQL-Abfrage in RaveReport ausgeben
 
Naja, hat sich nur dahingehend verändert, das jetzt ne andere Fehlermeldung auftritt:

Datentypen in Kriterienausdruck unverträglich

Compilieren kann ich, Fehlermeldung erscheint erst, wenn ich versuche den RaveReport aufzurufen (im laufendem Programm), aus dem RaveDesigner heraus funktioniert der Report.

Trozdem danke für den Hinweis, den funktioniert hätte es so auf jeden Fall net :-D

MrSpock 30. Okt 2003 10:29

Re: SQL-Abfrage in RaveReport ausgeben
 
Hallo eXOs,

nachdem du den SQL Text erstellt hast, musst du doch die Query noch Öffnen (um sie auszuführen) !? Wo geschieht denn das?

eXOs 30. Okt 2003 11:20

Re: SQL-Abfrage in RaveReport ausgeben
 
Hi,

MrSpock Verfasst am: 30.10.2003, 11:29 Titel: Re: SQL-Abfrage in RaveReport ausgeben
Hallo eXOs,

nachdem du den SQL Text erstellt hast, musst du doch die Query noch Öffnen (um sie auszuführen) !? Wo geschieht denn das?


:? Bin mir nicht ganz sicher was du meinst!

Muss ich noch ne Komponente hinzufügen??

Memo 30. Okt 2003 16:14

Re: SQL-Abfrage in RaveReport ausgeben
 
Zitat:

Zitat von eXOs
Zitat:

MrSpock Verfasst am: 30.10.2003, 11:29 Titel: Re: SQL-Abfrage in RaveReport ausgeben
Hallo eXOs,

nachdem du den SQL Text erstellt hast, musst du doch die Query noch Öffnen (um sie auszuführen) !? Wo geschieht denn das?
:? Bin mir nicht ganz sicher was du meinst!

Muss ich noch ne Komponente hinzufügen??

MrSpock meint wohl, das die Query aktive sein muss um einen Fehler zu liefern. Wenn du sie erst zur Laufzeit aktivierst, wirst du auch erst dann den Fehler bekommen. Nichts mit noch einer Komponente.
Irgendwas scheint an deinem SQL-Statment zu klemmen, was erstmal direkt nichts mit Rave zu tun haben sollte. Versuch doch erstmal eine völlig Simple Select-Abfrage ohne Klauseln und der gleichen.
Es scheint mehr an SQL als an Rave zu liegen.

eXOs 30. Okt 2003 19:46

Re: SQL-Abfrage in RaveReport ausgeben
 
Hi,

:-D du scheinst recht zu haben, das hier ist die ursprüngliche Abfrage:

'Select KD_KDNR, KD_KDNAME, KD_KDPLZ, KD_KDORT FROM DXKD WHERE KD_KDNR Between '+Edit1.Text+' and '+Edit2.Text+' Order by DXKD.KD_KDNR';

sobald ich " WHERE KD_KDNR Between '+Edit1.Text+' and '+Edit2.Text+ '" diesen Teil rausnehme funktioniert es! :lol:
:( Dummerweise macht dann die Abfrage keinen Sinn mehr, kann ich die Edit Felder so nicht in die Abfrage einbinden?

Sharky 31. Okt 2003 06:54

Re: SQL-Abfrage in RaveReport ausgeben
 
Hai eXOs,

mal ne Frage am Rande: Von welchem Typ ist denn KD_KDNR?
Und warum funktioniert es nicht mit der Abfrage von Mr. Spock. Kommt eine Fehlermeldung?

eXOs 31. Okt 2003 07:26

Re: SQL-Abfrage in RaveReport ausgeben
 
Hi Sharky,

das is ne Tabele einer Access-Datenbank. Wenn ich ne einfache Abfrage schreib, z.B. Select KD_KDNR From DXKD; dann wird der Report erstellt, sobald ich aber dann Where KD_KDNR Between ' +Edit1.Text+ ' and ' +Edit2.Text; dann bringt er mir im laufenden Programm die folgende Fehlermeldung:

'Datentypen in Kriterienausdruck unverträglich`'

Sharky 31. Okt 2003 07:34

Re: SQL-Abfrage in RaveReport ausgeben
 
Hai eXOs,

von welchem Typ ist KD_KDNR?? Integer, String???

eXOs 31. Okt 2003 07:40

Re: SQL-Abfrage in RaveReport ausgeben
 
Sorry,

hab dich falsch verstanden.

Sind String, wie eigentlich alle Daten in der Tabelle.

Sharky 31. Okt 2003 07:45

Re: SQL-Abfrage in RaveReport ausgeben
 
Zitat:

Zitat von eXOs
Sorry,

hab dich falsch verstanden.

Sind String, wie eigentlich alle Daten in der Tabelle.

Dann setze mal den Text aus Edit.Text in Hochkommas.

Delphi-Quellcode:
Query1.Close;
Query1.SQL.Text := 'Select KD_KDNR, KD_KDNAME, KD_KDPLZ, KD_KDORT FROM DXKD WHERE KD_KDNR Between '
  + QuotedStr (Edit1.Text)
  + ' and '
  + QuotedStr (Edit2.Text)
  + ' Order by DXKD.KD_KDNR';
Query1.Open;

eXOs 31. Okt 2003 07:55

Re: SQL-Abfrage in RaveReport ausgeben
 
:bounce2: Super!!! das funktioniert!

Ich bedanke mich recht herzlich!! :spin:
kannst du mir noch kurz erklären, was das genau bewirkt?


Ich hätte noch ne kleine andere Frage, wenn ich meine Abfrage auf mehrere Tabellen der DB beziehen will, muss ich doch mehrere RvDataSetConnection-Komponenten einfühgen, aber wenn ich dann die Tabelle in einer auswähle, ändern sich automatisch die Tabellen der andern? mach ich da was falsch oder bin ich ganz auf dem falschen weg??

Sharky 31. Okt 2003 08:05

Re: SQL-Abfrage in RaveReport ausgeben
 
Zitat:

Zitat von eXOs
...Ich bedanke mich recht herzlich!! ...

Freut mich. Als Ergänzung:

Bei den meisten DB´s müssen Strings in Hochkommas gesetzt werden. Reine Zahlen allerdings nicht. Darum meine Frage nach dem Typ des Feldes.

Zu der anderen Frage. Ich arbeite nicht mir Rav und kann sie darum nicht beantworten. Da es sich jedoch um eine ganz neue Frage handelt öffne dafür doch bitte einen neuen Thread. Danke :-)

eXOs 31. Okt 2003 08:15

Re: SQL-Abfrage in RaveReport ausgeben
 
OK,

Zitat:

Bei den meisten DB´s müssen Strings in Hochkommas gesetzt werden. Reine Zahlen allerdings nicht.
Also wäre mein KD_KDNR Integer gewesen, hätte meine Abfrage funktioniert, da dies aber nicht der fall war, stell ich quasi die Kundennummer mit QuotedStr in ' ' und schon kann SQL was mit anfangen?


Ok, ich mach ein neues Thema auf,

Danke nochmals!!

Sharky 31. Okt 2003 08:21

Re: SQL-Abfrage in RaveReport ausgeben
 
Zitat:

Zitat von eXOs
..Also wäre mein KD_KDNR Integer gewesen, hätte meine Abfrage funktioniert, da dies aber nicht der fall war, stell ich quasi die Kundennummer mit QuotedStr in ' ' und schon kann SQL was mit anfangen?...

Genau!
Das sind oftmals die Stolpersteine bei SQL-Abfragen.

eXOs 31. Okt 2003 08:54

Re: SQL-Abfrage in RaveReport ausgeben
 
Alles klar,

dann weis ich nun ja Bescheid,

Ich kann nur noch mal Danken!!


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