![]() |
Datenbank: Paradox • Version: 7 • Zugriff über: DBE / SQL
Qreport / QRDBText
Hallo zusammen,
ich habe ein kleines Problem oder Besser einen Blackout. Seid stunden probiere ich Daten im QReport ausgeben zulassen, welches aber nicht funktioniert. Ziel: Daten aus der SELECT - Anweisung im QReport (QRDBText) ausgeben. Problem: Keine Ahnung wie das geht! Beschreibung: Bisher habe ich meine Select-Anweisung geschrieben und diese liefert auch Daten (getestet in DBGrid). Diese Daten sollen nun in den QReport übertragen werden. Wenn möglich in die QRDBText Felder die ich angelegt habe. Problem ist ich weiß nicht wie ich QRDBText mit SQL verknüpfen kann. Würde mich über eine Antwort von euch Freuen... Scuby |
Re: Qreport / QRDBText
Verbinde die Band-Komponente mit einer mit dem DataSet verknüpften DataSource
|
Re: Qreport / QRDBText
?? versteh gerade nur Bahnhof....
|
Re: Qreport / QRDBText
Was verstehst du den nicht?
|
Re: Qreport / QRDBText
Was ich womit verbinden soll oder allgemein wie du das meinst
|
Re: Qreport / QRDBText
|
Re: Qreport / QRDBText
Hat bisher irgendwie noch immer nicht geklappt. Villeicht lag es auch an meiner Beschreibung...
ALso hier nochmal: 1.) Ich habe eine Select-Anweisung t:= 'SELECT Vorname FROM Teilnehmer WHERE Nachname=Meyer' So nun sind alle Vornamen von den Teilnemer mit dem Nachnamen Meyer in t gespeichert. 2.) Alle diese Namen sollen nun über ein QRDBText im QReport (neues Formbaltt) ausgegeben werden. Mein Problem hier bei ist, ich weiß nicht wie ich diese Daten der SQL-SELECT-Anweisung an den QRDBText übergebe... |
Re: Qreport / QRDBText
Liste der Anhänge anzeigen (Anzahl: 1)
Hier mal ein Beispiel...
Ich habe mal die BDE benutzt, die Datenbankverbindung musst du selber einrichten. Beim Öffnen gibt es eventuell Fehler, weil ich eine andere Quickreport-Version habe. Diese Meldungen kannst du alle ignorieren. Gruss Thorsten |
Re: Qreport / QRDBText
Danke dir werde mal sehen ob das bei mir auch so umzusetzen ist...
Würde mich aber dennoch interessieren, ob man den SQL Text auch so übergeben kann... |
Re: Qreport / QRDBText
Hallo,
mit QRDBText nicht. Das zeigt immer nur einen Wert an, also z.B. bei einer Rechnung den Namen des Kunden. Was du willst, ist ein Grid drucken, dazu gibt es wohl eine freie Komponente (viell. die im vorigen Posting) Du könntest aber auch Free-Report nehmen. QR hatte ich mal gehabt, puh ... ;) Jetzt habe ich List&Label -> topp, aber auch teuer. Heiko |
Re: Qreport / QRDBText
Hmmm erstmal danke für eure Tipps,
habe mal Freereport ausprobiert, bekomme aber keine verbindung zur DB über die Query... Raff das irgendwie alles nicht.... Wäre ganz cool wenn mir irgendwer mal ein nettes Tutorial dazu schicken könnte, oder ein kleines Beispiel mit der Übergabe der SQL Select anweisung an die entsprechende Freereport komponente.. LG Scuby |
Re: Qreport / QRDBText
Hallo scuby,
hast du es denn jetzt mit Quickreport hinbekommen, oder nicht? Es ist wirklich einfach. |
Re: Qreport / QRDBText
nein leider auch nicht
|
Re: Qreport / QRDBText
Hallo scuby,
ok, dann mal Schritt für Schritt: Wie hast du dein SQL Statement eingebunden? Benutzt du eine TQuery Komponente? Hast du eine DataSource Komponente in dem Formular (oder einem Datenmodul), die auf die Query verweist? |
Re: Qreport / QRDBText
Hi ich nutze TQuery und DataSource
|
Re: Qreport / QRDBText
Ok, dann nehme ich an, dass die Query in der SQL Eigenschaft die entsprechende Abfrage enthält und Database auf den ALIAS oder das Verzeichnis zeigt, in dem die Tabelle steht. Wenn du die datasource mit der query verbindest und temporär ein DBGrid eifügst, kannst mal die Active Eigenschaft auf True setzen, nachdem du die DataSource Eigenschaft von DBGrid auf die DataSource Komponente einstellst. Dann solltest du bereits zur Designzeit die Datenmenge betrachten können. Funktioniert das?
|
Re: Qreport / QRDBText
Ja genau das funktioniert, da werden mir die selectierten daten angezeigt
|
Re: Qreport / QRDBText
Gut, dann öffne ein zweites Formular und lege dort eine TQuickRep Komponente drauf. Trage unter uses die erste Unit ein oder wähle unter Datei | Unit verwenden die erste Unit aus.
Bei DataSet der QuickRep Komponente kannst du jetzt Form1->Query1 auswählen, damit hast du die Datenverbindung hergestellt. Unter Bands wählst du bei HasDetail den Wert True, um ein Detailband in den Reort einzufügen. Auf dieses Detailband legst du eine QRDBText Komponente, deren Eigenschaft DataSet du mit der Query verbindest und bei DataField wählst du anzuzeigende Datenfeld. Jetzt legst du in dem ersten Formular einen Button an, und schreibst in die OnClick Methode:
Delphi-Quellcode:
Denke noch daran in der Form1 die Form2 in die uses Anweisung aufzunehmen oder wieder mit Datei | Unit verwenden einzufügen.
Query1.Open; { Falls das noch nicht der Fall ist }
Form2.QuickRep1.Preview; Und schon sollte nach dem Kompilieren und der Betätigung des Schalters der Report alle Datensätze enthalten. :cheer: |
Re: Qreport / QRDBText
Hallo,
vielen Dank, soweit funktioniert das erstmal, was leider nicht geht, er zeigt mir nur einen Datensatz an, obwohl mehrere in der SELECT-Anweisung ausgelesen werden. Was habe ich vergessen? |
Re: Qreport / QRDBText
Hallo scuby,
wahrscheinlich das hier: Zitat:
|
Re: Qreport / QRDBText
Hmm ich kann den Zeiger weitersetzen und sehe dann immer andere Daten das ist korrekt, die Frage ist aber nun wie kann ich alle Daten gleichzeitig anzeigen lassen, denn meine SELECT-Anweisung spukt mehrere Datensätze aus und das auch noch abhänig vom Suchbegriff.
Habe mal in einem QRDBText-Tutorial gesehen, das eine Komponente alles anzeigen lassen kann, aber wie? |
Re: Qreport / QRDBText
Hallo scuby,
nochmal: Du musst die Eigenschaft DataSet der Komponente QuickRep auf die Form1->Query1 zeigen lassen, dann werden alle Datensätze der Query angezeigt. Der Datensatzzeiger selbst muss auf den Anfang der Datenmenge zeigen. Das sind die beiden einzigen Voraussetzungen. Wenn das trotz der Hinweise nicht funktioniert, hänge mal den Code an, dann schaue ich mir das an. |
Re: Qreport / QRDBText
Hi,
habe es genau so gemacht wie beschrieben, die Verweise stehen. Wenn ich die Preview anzeigen lasse, dann springt der "Cursor" in meinem Testgrid auch auf den 2. Datensatz oder besser auf den letzten, aber er zeigt mir immer noch nur einen Datensatz im Druckbild an...Warum?? Zum Code...welchen willst denn haben? Poste dir hier mal die SELECT-Anweisung...
Delphi-Quellcode:
So das nur die Druckvorschau nun die Sachen die hinter den beiden Query stecken....
procedure TForm3.Druckvorschau1Click(Sender: TObject);
begin if Form1.Label4.Caption <> '2' then showmessage('Sie sind nicht berechtigt diese Funktion zu nutzen!') else begin Query2.First; Query2.Open; Form10.QRLabel13.Caption := Form2.Label4.Caption; Form10.QRLabel14.Caption := '' + DateToStr(Date); Form10.Quickrep1.preview; end; end;
Delphi-Quellcode:
Hoffe das ist das was du wolltest....
begin
s := 'select * FROM Studenten WHERE Matnr='+#39+ edit1.Text+#39+''; Form3.query1.close; Form3.Query1.Sql.Text := s; Form3.Query1.Active:=true; Form3.Query1.First; t := 'select VNr, VName, VArt, Datum, Von, Bis, SCP, Verantwortlicher FROM studvera, veranstaltungen WHERE VNr1=VNr and Matnr1='+#39+ edit1.text +#39+''; Form3.query2.close; Form3.Query2.Sql.Text := t; Form3.Query2.Active:=true; Form3.Query2.First; end; Anbei die Bilder aus dem laufenden Programm.... ![]() ![]() ![]() |
Re: Qreport / QRDBText
Keiner mehr ne idee?
|
Re: Qreport / QRDBText
Neuer Fehler entdeckt...
Er gibt mir doch alle Datensätze aus, allerding jeden Datensatz auf einer neuen Seite, d.h. wenn ich 3 Datensätze unter Veranstaltungen habe, dann wird jede Veranstaltung mit Datum, Veranstaltung, Kategorie und SCp auf einer neuen Seite ausgegeben... Wie bekomme ich es hin, das dieser Seitenumbruch nicht geschieht, oder nur dann geschieht, wenn die Seite wirklich zu ende ist? LG Scuby |
Re: Qreport / QRDBText
Hallo scuby,
hast du das Band vielleicht so groß gezogen, dass es die ganze seite einnimmt. Das Band gibt die Höhe pro Datensatz an. Übrigens macht ein First nur Sinn, wenn die datenmenge geöffnet ist. Nach einem Open musst du aber First auch nicht direkt aufrufen, weil nach dem Öffnen der Datensatzzeiger immer auf dem ersten Datensatz steht. |
Re: Qreport / QRDBText
Danke dir, genau das war der Fehler, die Band war zu hoch....
So nun geht alles habt vielen vielen Dank.... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:35 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz