![]() |
sql-Abfragen aus Tabelle in QReport
Hallo,
ich habe eine dBase3 Datenbank und möchte jetzt, mit Hilfe einer SQL-Abfrage Daten in nen Quickreport einsetzen. Später auch mit bestimmten Bedingungen, aber erst mal will ich eigentlich nur ein bestimmtes Feld der Datenbank (z.B. rechnugsnummer mit ner SQl-Abfrage in ein DBTextfeld reinstetzen (ich weiß das macht nicht besonders viel Sinn weil man dann auch einfach über den Objektinspektor reinsetzen kann aber ich möchte das mal gerne mal mit Sql machen da ich wie gesagt die Sache ja nachher auch mit ein paar Bedingungen machen möchte). Wäre schön wenn mir mal kurz einer beschreiben könnte wie das geht oder ein Tutoial oder was ähnliches kennt wärs nett wenn er das kurz posten könnte. MfG DF.A |
Re: sql-Abfragen aus Tabelle in QReport
Liste der Anhänge anzeigen (Anzahl: 1)
Hoffe ich hab dich richtig verstanden: Du suchst ein SQL-Tutorial
:arrow: im Anhang |
Re: sql-Abfragen aus Tabelle in QReport
hi
ich suche eigentlich kein sql-tutorial sondern hab nur keine ahnung wie ich eine query mit dem qreport bericht verbinden muss um da das ergebnis angezeigt zu bekommen. das tutorial werd ich mir aber trotzdem mal angucken danke schon mal |
Re: sql-Abfragen aus Tabelle in QReport
Ein Tut über den QR gibt es bei Delphi-Source.
Beispiele findest du in deinem Delphi\Demo-Ordner. Ansonsten schaust dich doch mal bei QuSoft um. Die Knowledge Base kann man dort downloaden. |
Re: sql-Abfragen aus Tabelle in QReport
ich bins nochmal
ich hab jetzt eine statische Abfrage hinbekommen, jetzt möchte die gleiche Abfrage gerne mit einer Bedingung machen. Es sollen nur die Datensätze einer bestimmten Rechnungsnummer angezeigt werden. Ich probier das so.
Delphi-Quellcode:
Wenn ich jetzt versuche mit dem Feld-Editor ein Feld hinzuzufügen bekomme ich diese Fehlermeldung:
SELECT * FROM Rechnungstest WHERE RECHNUNGNR = :iRechnungsnummer
Das Feld iRechnugsnummer wurde nicht gefunden. Mir ist schon klar das das kein Feld ist aber so wie ich das verstanden hab gibt man doch mit dem Doppelpukt vor der Variable an das es eben kein Feld sondern eine Bedingung ist. Tut mir leid falls ich blöd frage aber ich hab grade erst mit Delphi angefangen. |
Re: sql-Abfragen aus Tabelle in QReport
Zitat:
Blöde Fragen gibt es nicht! (naja, fast nicht). Wenn Du in einer SQL-Abfrage deines Delphiprogrammes das so machst wird das als Parameter verwendet. Hier mal ein Beispiel:
Delphi-Quellcode:
begin
Query1.close; Query1.sql.text := 'SELECT * FROM Rechnungstest WHERE RECHNUNGNR = :iRechnungsnummer'; Query1.params.ParamCheck := True // Parameter verarbeiten; Query1.params.ParamByName ('iRechnungsnummer').AsInteger := 0815; // Hier wird der "Platzhalter" (Parameter) gefüllt Query1.Open end; |
Re: sql-Abfragen aus Tabelle in QReport
hi
ich hab das jetzt mal so gemacht. es werden aber keine daten in den report eingefügt und im Feldeditor kann ich die Daten auch nicht eitragen. Rechnungstest ist mein Report aber die Query befindet sich im aufrufenden Formular.
Delphi-Quellcode:
Gruß DF.A
sRechnungsnummer := EDT_Auftragsnummer.Text;
iRechnungsnummer := StrToInt(sRechnungsnummer); QRY_BedingteQuery.sql.text := 'SELECT * FROM Rechnungstest WHERE RECHNUNGNR = :iRechnungsnummer'; QRY_BedingteQuery.params.ParamCheck := True; QRY_BedingteQuery.params.ParamByName('iRechnungsnummer').AsInteger := iRechnungsnummer; ReportTest.DataSet := QRY_BedingteQuery; ReportTest.Rechnungsnummer.DataSet := QRY_BedingteQuery; ReportTest.Rechnungsnummer.DataField := RECHNUNGNR; ReportTest.Auftragsnummer.DataSet := QRY_BedingteQuery; ReportTest.Auftragsnummer.DataField := AUFTRAGNR; ReportTest.Datum.DataSet := QRY_BedingteQuery; ReportTest.Datum.DataField := DATUM; ReportTest.Netto.DataSet := QRY_BedingteQuery; ReportTest.Netto.DataField := NETTO; QRY_BedingteQuery.Open; ReportTest.Preview; QRY_bedingteQuery.Close; |
Re: sql-Abfragen aus Tabelle in QReport
Zitat:
Ist das hier nicht falsch?
Delphi-Quellcode:
Wenn ich das richtig interpretiere müsste Du doch SRechnungsummer dem Parameter zuweisen? Oder woher kommt die Variable IRechnungsnummer?
sRechnungsnummer := EDT_Auftragsnummer.Text;
. . QRY_BedingteQuery.params.ParamByName('iRechnungsnummer').AsInteger := iRechnungsnummer; .... Ich habe hier jetzt leider kein QReport installiert und kann es darum nicht testen. |
Re: sql-Abfragen aus Tabelle in QReport
hast schon recht, ich wandel sRechnungsnummer (string) noch mit StrToInt in ne Integer um und die heoßt dann halt iRechnungsnummer. Hätte man natüröich sofort machen können aber hab ich erst mal nicht weil ich das so übersichtlicher finde. habs glaub vergessen zu posten, sorry.
Mit dem Feldeditor ist das so. Ich öffne den Feldeditor der Query und will dann alle Felder einfügen. Dann bekomme ich aber diese Fehlermeldung: TB_Rechnungstest: 'Das Feld iRechnungsnummer wurde nicht gefunden'. TB_Rechnungstest ist die Tabelle. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:49 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