AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Quickreport und DB-Felder
Thema durchsuchen
Ansicht
Themen-Optionen

Quickreport und DB-Felder

Ein Thema von Hansa · begonnen am 1. Dez 2002 · letzter Beitrag vom 25. Jan 2003
Antwort Antwort
Seite 4 von 5   « Erste     234 5      
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#31
  Alt 15. Dez 2002, 20:08
Hallo Hansa,

Zitat:
Dafür ist MrSpock ja jetzt hier auf der Erde am Bodensee.



Zitat:
Hoffentlich fällt ihm als Rentner noch genug ein.
Was heißt hier Rentner? Als Vulkanier bin ich doch noch ein Jungspund.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#32
  Alt 15. Dez 2002, 20:42
Hi Vulkanier,

aber nicht mehr im Dienst. So gehts. Komme mir hier manchmal auch als Rentner vor.

Gruß
Hansa
  Mit Zitat antworten Zitat
SurFan

Registriert seit: 2. Dez 2002
11 Beiträge
 
Delphi 6 Professional
 
#33
  Alt 16. Dez 2002, 11:02
Hi,

auf Nemesis bin ich schon seit ca 5 Monaten ganz heiß, seitdem der erste Trailer im Netz kursiert. In der Zwischenzeit vergnüge ich mich mit TNG auf DVD

OnTopic:
Ich verstehe das Problem nicht so ganz, was Du hast. Die QRExpr-Komponente ist doch im Grunde ein "Expression Evaluator" (was Gescheiteres fällt mir dan i.A. nicht ein). Wenn Du was berechnen mußt dann mach das doch damit. Beispiel: Wenn Du als Expression bveispielsweise " 'Brutto: ' + Table1.Netto * (1 + Table1.MwstProz / 100)" eingibst, erhältst Du auf dem Ausdruck den Brutto-Betrag mit vorangestelltem Text "Brutto".

Ralph
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#34
  Alt 16. Dez 2002, 12:13
Hi,

da hängt auch noch SQL mit drin. Schreibe ich :

Code:
RecDataMod.RecDS.FieldByName (VKPREIS) * RecDataMod.RecDS.FieldByName (MENGE)
einfach mal so in die Expression steht auf dem Report "unavailable Function : siehe oben". Das hatte ich ja bereits vermutet.

Mache ich folgendes : ich gehe im OI auf Expression, drücke den Button "Database Fields", dann habe ich 2 Listboxen, "select Database" und "available Fields". Beide sind leer. Was ich nicht verstehen kann, denn bei einem NICHT berechneten Feld wähle ich im OI einfach Dataset und Datafield aus und alles funktioniert. Das kann also auch nicht an einem falschen SelectSQl liegen.

Auf dem Report stehen direkt nebeneinander MENGE, VKPREIS und zwar richtig ! Daneben soll noch die Multiplikation stehen. Trage ich diese in die DB direkt ein, so kriege ich anderswo Ärger. Außerdem wäre es eine unnötige Redundanz. In dem Expression-Editor ist doch alles vorhanden ! Entweder ist der für die ,oder ich mach was verkehrt, was ich eher glaube.

Gruß
Hansa
  Mit Zitat antworten Zitat
DKamps

Registriert seit: 7. Nov 2002
Ort: Unna
30 Beiträge
 
Delphi 7 Enterprise
 
#35

TQRExpr

  Alt 16. Dez 2002, 14:13
Der Feldeditor funktioniert nur, wenn Du bereits eine Datenmenge geöffnet hast. Aber Du kannst auch einfach Deine Formel (syntaktisch richtige!) eingeben, das funktioniert ebenfalls. Die Angabe des DataSet kannst Du Dir schenken, wenn Du nur eines hast, ansonsten musst Du sie vor die Felder schreiben: MyQuery.MyField * MyQuery.YourField
Noch ein Tipp: manchmal gibt es Probleme mit der Typumwandlung. Es ist also günstig, die Datenmenge so zu gestalten, dass die Felder jeweils den gleichen Typ haben.
Noch ein weiterer Tipp: mit einer Query kannst Du alle berechneten Felder selber errechnen. QReport kann dann diese Felder auch wie gewohnt über TQRText anzeigen.

Also schreibe: RecDS.VKPREIS * RecDS.MENGE
bzw. in der Query:
VKPREIS * MENGE AS MyNewField und benutze dieses Feld dann in QReport.
  Mit Zitat antworten Zitat
SurFan

Registriert seit: 2. Dez 2002
11 Beiträge
 
Delphi 6 Professional
 
#36
  Alt 16. Dez 2002, 14:57
Hi,

genau, allerdings brauchst Du persistente Felder, ohne diese geht's tatsächlich nicht

Ralph
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#37
  Alt 16. Dez 2002, 15:15
Hi,

gerade noch gesehen. Persistente Felder hab ich keine. Da soll man mal von alleine draufkommen ! Der Witz ist noch: ich habe auch noch keine Query gebraucht. Ich mach das alles auf DataSet-Ebene: Dataset active auf false setzen, SelectSQL in den Quelltext schreiben und active auf true setzen, dann hab ich meine Daten. Wieso lese ich an jeder Ecke Query, Query, Query ? Das konnte mir noch keiner genau erklären. Mit den persistenten Feldern, das ist so was ähnliches.

Zitat:
Der Feldeditor funktioniert nur, wenn Du bereits eine Datenmenge geöffnet hast.
Siehe oben, wenn das active auf true steht, ist die Datenmenge doch wohl geöffnet, oder nicht ? OB das wirklich auch an der RICHTIGEN Stelle auf true steht, werde ich später mal überprüfen. Aber Halt ! Das mach ich doch in der IDE. Hmmm. Muß leider weg.....

Gruß
Hansa
  Mit Zitat antworten Zitat
SurFan

Registriert seit: 2. Dez 2002
11 Beiträge
 
Delphi 6 Professional
 
#38
  Alt 16. Dez 2002, 15:58
Hi,

irgendwie reden wir aneinander vorbei glaube ich. Welchen Typ Dataset verwendest Du denn? Wenn Du irgendwo eine SQL-Abfrage, ob im Quelltext oder über die IDE eingeben kannst, mußt Du eigentlich ein Dataset verwenden, das von TQuery abgeleitet ist. Darauf bezogen sich die "Query"-Aussagen. Wenn Du jetzt eine "generische" Abfrage hast, bei der zur Kompilierzeit noch nicht feststeht, welche Felder in der Abfrage auftauchen, ist's natürlich Essig mit persistenten Feldern, ansonsten haben diese nur Vorteile: Sind schneller beim Zugriff, man braucht weniger zu schreiben (was mir als 2-finger Adler-Tipper sehr gelegen kommt ), und hat schon zur Designzeit Zugiff auf Formatierungen

Ralph
r
  Mit Zitat antworten Zitat
DKamps

Registriert seit: 7. Nov 2002
Ort: Unna
30 Beiträge
 
Delphi 7 Enterprise
 
#39

Tipp

  Alt 16. Dez 2002, 18:53
Ich gehe bei meinen Überlegungen davon aus, dass Du folgendes machst:
1. Erstellen eines Formulars mit Quick-Report
2. Erstellen einer TDataSet-Komponente, die Basis für den Report ist.
3. Erstellen diverser Bänder (TQRxxxBqand) mit Verweis auf die o.a. TDataSet-Komponente
3. Erstellen diverser TQRText bzw. TQRExpr Komponenten in den Bändern.
Die TDataSet-Komponente sowie die TQR*-Komponenten können auch zur Laufzeit erzeugt werden, der Rest sollte visuell erfolgen.
Wenn Du die TDataSet-Komponente, also z.B. ein TQuery der BDE öffnest, dann funktioniert der Feldeditor.
P.S. Du kannst sogar im Entwurfsmodus den Bericht bereits anzeigen (rechte Maustaste/Druckvorschau), wenn Du alles visuell programmiert.
Ohne die Query (oder meinetwegen TTable oder eine ADO- bzw. dbExpress-Komponente) geht es aber wohl nicht.
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#40
  Alt 27. Dez 2002, 10:57
Hi,

das klappt immer noch nicht. Jetzt habe ich persistente Felder daraus gemacht. Keine Änderung, außer daß jetzt noch zig Felder im Quelltext stehen. Im Feld-Editor habe ich "Add all Fields" ausgeführt, war das vielleicht verkehrt ? Dann hab ich noch eine Query eingefügt, bei SQL "SELECT * FROM blabla", das Dataset zugeordnet usw. Alles für die

Gruß
Hansa
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 5   « Erste     234 5      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:39 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