Autor Beitrag
Wuschl
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 39



BeitragVerfasst: Di 12.11.02 10:31 
Hallo erstmal!

Ich hab da mal wieder ein kleines ( :wink: ) Problem mit ner Datenbank bzw. mit Quickreport! Und zwar hab ich eine Tabelle in der User gespeichert sind mit Login- und Logoutzeit für eine Anwendung.

Jetzt möchte ich mit Quickreport eine Statistik ausdrucken die ungefähr dann so aussehen soll

Username Loginzeit Logoutzeit Dauer(s)
-------------------------------------------------
Hans 11.11.02 11.11.02 60
-------------------------------------------------
Peter 06.11.02 06.11.02 120
-------------------------------------------------

Dauergesammt: 180

Die Uhrzeit ist natürlich auch noch inbegriffen! Ok hoffe ihr könnt mir da
helfen, es gibt ja ne SQL anweisung "group by" oder so aber ich hab da nicht so den durchblick ;-)

Gruß
Wuschl
Wuschl Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 39



BeitragVerfasst: Di 12.11.02 10:34 
Achja hätte ich fast vergessen jede login und logoutzeit ist in der tabelle einzeln aufgelistet und soll beim audruck aber eben zusammengefasst werden, war vielleicht etwas unklar!

Gruß
Wuschl
LCS
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1305
Erhaltene Danke: 1

WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
BeitragVerfasst: Di 12.11.02 13:15 
Hi
Im Prinzip könnte das so funktionieren:
ausblenden Quelltext
1:
Select Username, sum(logoutzeit - loginzeit) from Tabelle group by Username					

Damit bekommst du die aufsummierten Zeiten für jeden einzelnen User zusammengefasst. Das Problem ist nur die Summierung der Datum/Zeitdaten. Wenn du das mit einer Paradoxtabelle und DateTime Feldern machst, klappts. Bei anderen Datenbank könnte es eventuell Probleme geben.

Gruss Lothar

_________________
Der BH ist für die Brust, der Plan ist für'n Ar...
Wuschl Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 39



BeitragVerfasst: Di 12.11.02 14:19 
Ok den code hab ich jetzt etwas anderst! Wenn ich den Befehl direkt an die Tabelle übergeben funktionierts nur in Delphi hab ich da noch ein paar Probleme!

Ich hab ca. so:



ausblenden Quelltext
1:
 SELECT Nickname AS nick FROM Tabelle where (Loginzeit BETWEEN :Loginzeit AND :Loginzeit2) group by Nickname					


Dem Quickreport übergebe ich dann beim Form.Create die temporäre Spalte also "nick" so (natürlich erst nachdem der query geöffnet wurde);

ausblenden Quelltext
1:
QRDBtext1.DataField := Nicksortquery.fieldbyname('nick').AsString;					


Allerdings bekomme ich im query nix angezeigt, ich hab keine ahnung wieso!

Gruß
Wuschl
Wuschl Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 39



BeitragVerfasst: Di 12.11.02 14:20 
Sorry natürlich meinte ich ich bekommen ichts in der druckvorschau vom quickreport angezeigt :roll:
LCS
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1305
Erhaltene Danke: 1

WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
BeitragVerfasst: Di 12.11.02 14:24 
Hi
Wenn du damit jetzt die Druckvorschau zur Entwurfszeit meinst, ist das logisch. Warum ordnest du das Feld Nick nicht gleich zu?

Gruss Lothar

_________________
Der BH ist für die Brust, der Plan ist für'n Ar...
Wuschl Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 39



BeitragVerfasst: Di 12.11.02 14:33 
Geht das auch etwas genauer? :roll:
Wenns so logisch wär wär ich wohl schon selber drauf gekommen ;)

Gruß
Wuschl
LCS
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1305
Erhaltene Danke: 1

WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
BeitragVerfasst: Di 12.11.02 14:48 
Sorry, aber scheint so, dass du tatsächlich die Druckvorschau zur Entwurfszeit meinst. Wie soll er die denn darstellen, wenn du das Feld erst zur Laufzeit in deinem Programm zuordnest? :wink: Deswegen war ja auch meine Frage warum du das nicht gleich zuordnest.

Gruss Lothar

_________________
Der BH ist für die Brust, der Plan ist für'n Ar...
Wuschl Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 39



BeitragVerfasst: Di 12.11.02 14:52 
Ja klar aber die nachdem der sql text ausgeführt wurde ist die spalte bzw das feld ja erstellt und danach ordne ich es ja erst zu also müsste es doch funktionieren?? Ansonsten müsste ich ja in die tabelle eine extra spalte einfügen in die ich die gefilterten ergebnisse schreibe, so habe ich sie nur temporär. Verbessere mich wenn ich total falsch liege :roll:

Gruß
Wuschl
LCS
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1305
Erhaltene Danke: 1

WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
BeitragVerfasst: Di 12.11.02 15:15 
Damit die die Druckvorschau nutzen kannst, muss das Feld eben schon zur Entwurfszeit zugeordnet sein. In DataField von deinem QDBText muss also Nick stehen.
Ach so, nochwas (hab ich jetzt erst richtig gelesen :oops:)
Zitat:

ausblenden Quelltext
1:
QRDBtext1.DataField := Nicksortquery.fieldbyname('nick').AsString;					

Das funktioniert nicht. Damit würdest du der Eigenschaft DataField den Inhalt des Feldes zuweisen. Du musst hier aber das Feld selbst zuweisen:
ausblenden Quelltext
1:
QRDBtext1.DataField := Nicksortquery.fieldbyname('nick').Fieldname;					

oder einfacher
ausblenden Quelltext
1:
QRDBtext1.DataField := 'Nick';					


Gruss Lothar

_________________
Der BH ist für die Brust, der Plan ist für'n Ar...
Wuschl Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 39



BeitragVerfasst: Di 12.11.02 15:35 
Ok ich hab jetzt den SQL Code zur Entwurfszeit erstellt und die Spalte (also 'nick') dem QRDBtext zugewiesen. Allerdings hab ich immernoch kein ergebnis, ziemlich seltsam. Trotzdem danke für Deine Hilfe, werds schon noch irgendwie hinbekommen!

mfg
Wuschl
LCS
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1305
Erhaltene Danke: 1

WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
BeitragVerfasst: Di 12.11.02 15:40 
Dann sollte es funktionieren, wenn du die Query aktivi setzt.

Gruss Lothar

_________________
Der BH ist für die Brust, der Plan ist für'n Ar...
Wuschl Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 39



BeitragVerfasst: Di 12.11.02 16:28 
Geht leider nicht, dann liegt das problem wohl irgendwo anderst!
Trotzdem danke

gruß
Wuschl
Wuschl Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 39



BeitragVerfasst: Mi 13.11.02 16:57 
Jetzt funktioniert es, das problem war ich hatte noch ein weiteres temporäres feld erstellt aber hatte es zum testen noch nicht verwendet! Darin lag das Problem, anscheinend hat delphi ein problem mit so einem nicht verwendeten feld, denn sobald ich es im Quickreport mit drin hatte funktionierte es!

mfg
Wuschl