Benutzerdefinierte Variable mit dem Ergebnis eines SELECT füllen
Hallo Zusammen,
ist es möglich eine benutzerdefinierte Variable mit dem Ergebnis eines Selects zu füllen und in einem Report auszugeben.
Ich möchte z.B. eine Artikelliste ausgeben. In der Kopfzeile soll das Datum des zuletzt hinzugefügten Artikels ausgegeben werden.
Also z.B. VARIABLE = (SELECT MAX(Datum) FROM Artikel)
Da ich in dem für den Report zugrundeliegenden SELECT kein GROUP BY verwenden kann, denke ich, dass ich nur mit einer Variablen, wie oben beschrieben, weiterkomme.
Kann mir jemand helfen? 🤔
Danke schon mal 🤗
Comments
Hallo,
ich musste erst einmal suchern, bis ich gemerkt habe, dass "Quote die Antwort ist.
Dafür vielen Dank, klappt aber leider nicht. Im ausgeführten Report wird mein SELECT als Text angezeigt.
Egal, ob ich Quotes, Apostrophe oder eckige Klammern verwende.
Hier mal ein Bilschirmfoto.
Im vorgeschalteten SQL habe ich eine Variable definiert. Kann ich evtl auf diese zurückgreifen?
Die setze ich momentan in der Projektion ein. Das klappt, solange ich eine konkrete ContractNr selectiere. Wenn ich aber alle selektiere, damit ich später in einem Dialog frage, 'Welches Schweinerl hätten Sie denn gerne', klappt das nicht mehr. Die @ReNr bezieht sich ja auf eine konkrete @ConNr. Wenn ich also alle ConNr selektieren möchte, habe ich noch keine ReNr. Die kann ich erst ermitteln, wenn eine konkrete ConNr gefiltert wurde. Daher muss ich die ReNr erst nach dem Filtern ermitteln und diese in ein Memofeld schreiben.
Später kann es auch sein, dass zu einer ConNr mehrere ReNr existieren. Dann möchte ich alle passenden ReNr in ein Kombinationsfeld für den Filter schreiben. Aber das ist noch Wunschdenken. Im Moment würde es mir reichen, die eine Nr in ein Memofeld zu bekommen. Das muss doch möglich sein. Das ist doch vom Anspruch eher trivial. Aber bei FastReport komme ich selbst mit Handbuch und Forum nicht weiter. Ist echt frustrierend.
Ich hoffe mein Problem ist lösbar und es findet sich jemand, der mir auf die Sprünge hilft.
MFG
Nachtrag:
"Quote ist wohl doch nicht die Antwort.
Wie ich sehe wird das immer unter den Post gesetzt. Ich sehe aber in der Zusammenfassung:
einnen Replie. Wo finde ich den? Wenn ich meine Frage anklicke, sehe ich nur meine Frage. Nicht die Antwort?????
In the upstream SQL I have defined a variable. Can I possibly fall back on this? I'm currently using it in the projection. This works as long as I select a specific ContractNr. However, if I select all of them so that I later ask in a dialog, 'Which pork would you like', this no longer works. The @ReNr refers to a specific @ConNr. So if I want to select all ConNr, I don't have a ReNr yet. I can only determine this when a specific ConNr has been filtered. Therefore, I only have to determine the ReNr after filtering and write it in a memo field. Later it can also be the case that there are several ReNrs for one ConNr. Then I want to write all matching ReNr in a combo box for the filter. But that's still wishful thinking. At the moment it would be enough for me to get a number in a memo field. It must be possible. That's a rather trivial claim. But with FastReport I can't get any further with the manual and forum. It's really frustrating. I hope my problem can be solved and someone can be found to help me out.
You can't to declare variables in the SQL.
Try to use query like
SELECT ... INTO :paramname
and execute query by TfrxADOQuery.ExecSQL
First thank you for the answer. I have never worked with FastReport before. Therefore, I understand the answer, but I don't know how to implement it.
So:
SELECT SYS_MasterData_Contracts.Name
FROM SYS_MasterData_Contracts
WHERE SYS_MasterData_Contracts.ContractNumber = @ConNr
AND SYS_MasterData_Contracts.Name LIKE 'RE%'
INTO :ReNr ???
However, I have only questions and no answers.
Where do I define the parameter? In FastReport I can obviously only define variables.
Where do I write the SELECT?
Where and how do I start TfrxADOQuery.ExecSQL?
Sorry, but I have no idea about FastReport yet, but would like to help someone.
See here about internal datasets: https://www.fast-report.com/publicdownload/docs/FRVCL/online/en/UserManual/en-US/Dataaccess_components.html
Where and how do I start TfrxADOQuery.ExecSQL?
Use report script
Thank you for pointing this out. I will dig through. When I have made further progress, I will give feedback.