Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Urlaubsplaner (https://www.delphipraxis.net/102026-urlaubsplaner.html)

HolgerCW 22. Okt 2007 13:21


Urlaubsplaner
 
Hallo zusammen,

wie würdet Ihr bei euch eine Tabelle für einen Urlaubsplaner aussehen und wie macht Ihr die SQL - Abfrage, wenn in den Zeilen
die Monate und in den Spalten die Tage stehen sollen.

Gruss

Holger

Jelly 22. Okt 2007 13:43

Re: Urlaubsplaner
 
Du stellst Fragen wie "Wie baut man ein Auto, wenn man damit fahren will?"

Präzisiere bitte deine Frage.

JonnyGuitar 22. Okt 2007 13:45

Re: Urlaubsplaner
 
hola,

was möchtest du jetzt hören? ein feld user_id, ein feld vondatum, ein feld bisdatum?


mfg Jonny

HolgerCW 22. Okt 2007 14:07

Re: Urlaubsplaner
 
So könnte man ja die Spalten nennen,

USER_ID, VON, BIS

und wie bekomme ich das nun mit SQL in eine vernünftige Form ?

So dass die Monate in Zeilen angeordnet und die Tage in Spalten angeordnet sind.

Gruss

Holger

P.S.: Vereinfacht nehmen wir erstmal nur einen User

Phoenix 22. Okt 2007 14:16

Re: Urlaubsplaner
 
Uh.

Datendarstellung <> Datenordung!
Ich würde dringendst davon abraten, solche Schweinereien wie eine Tabelle mit Monaten als Zeilen und einzelnen Tagen als Spalten via einem berechneten SQL-Statement auszugeben.

Nimm zur Darstellung am besten eine Gantt-Diagramm-Komponente (z.B. von TMS). Da brauchst Du in der Regel nur TDateTime bzw. TTimeSpan-Werte reinzuwerfen und gut ist. Diese kannst Du dann mit Startwert und Endwert auch so in die DB werfen.

HolgerCW 22. Okt 2007 14:23

Re: Urlaubsplaner
 
Wo bekomme ich sowas her, oder ist das bei Delphi schon dabei ?

Gruss

Holger

Die Muhkuh 22. Okt 2007 14:26

Re: Urlaubsplaner
 
Von TMS ;-)

HolgerCW 22. Okt 2007 14:29

Re: Urlaubsplaner
 
Ist das kostenlos ?

Gruss

Holger

Phoenix 22. Okt 2007 14:30

Re: Urlaubsplaner
 
Also wenn Du 75 € springen lassen kannst ist die TPlanner - Komponente von http://www.tmssoftware.com/ das was Du suchst.

Ansonsten kann man mit dem mitgelieferten TChart im Gantt-Modus auch was machen, aber das erfordert schon ein bisschen Eigenarbeit, wenn man dann Zeiträume auch verschieben will etc. Aber ich würde sagen, da die Komponente mit Support und Source kommt: Bevor man selber drei, vier Manntage investiert um sich sowas selber hinzubasteln und man damit letzten Endes teurer ist als die 75 €, lohnt es sich schon das zu kaufen. Zumindest rentiert es sich, die Sample applications mal anzugucken.

mkinzler 22. Okt 2007 14:31

Re: Urlaubsplaner
 
Nein.

Aber
http://sourceforge.net/projects/tpvplanit/

JonnyGuitar 22. Okt 2007 14:36

Re: Urlaubsplaner
 
ich denke du würdest für deine zwecke auch gut mit dem stringgrid und canvas fahren.
links in der fixedCol die monate, in der fixedRow die tage. dann kannst du die datenmenge
quasi selber steuern in dem du in einer doppelten schleife über das grid läufst.

mfg Jonny

HolgerCW 22. Okt 2007 14:42

Re: Urlaubsplaner
 
Ich denke das mit dem Stringgrid gefällt mir am besten.

Könntest Du mir ansatzweise zeigen, wie Du die schleife bauen würdest ?

Würdest Du auch, in der Datenbank nur die Spalten VON und BIS nehmen ?

Gruss

Holger

JonnyGuitar 22. Okt 2007 14:51

Re: Urlaubsplaner
 
die schleife sieht so aus
Delphi-Quellcode:
for aRow := 0 to sgPlaner.RowCount - 1 do
begin
  for aCol := 0 to sgPlaner.ColCount - 1 do
  begin
    // 
  end;
end;
ich gehe mal davon aus, dass der urlaubsplaner für mehr als einen user gedacht ist. ich habe bei meinem planer einen
datensatz pro tag genommen, wobei der key sich aus user_id und datum zusammensetzt.


mfg Jonny

HolgerCW 22. Okt 2007 15:01

Re: Urlaubsplaner
 
Und dann machst Du also jedesmal eine Datenbank - Abfrage an der Stelle die Du auskommentiert hast ?

Gruss

Holger

JonnyGuitar 22. Okt 2007 15:12

Re: Urlaubsplaner
 
nein, ich hole mir einmal die datenmenge und speichere diese dann in objekten die ich dann in der schleife den einzelnen zellen des stringgrids zuweise. so werden die datenbankzugriffe minimiert.

mfg Jonny

juergen 22. Okt 2007 18:53

Re: Urlaubsplaner
 
Hallo Holger,

zusätzlich würde ich vllt. nachfolgendes (konzeptionell zumindestens) mit in die Planung einfließen lassen:
Umschalten auf eine Gruppenübersicht....
Spalten jeweils nach Monaten gruppiert (eine Spalte=1 Tag) und in den Zeilen dann die einzelnen Mitarbeiter.
Diese jeweils meintwegen nach Abteilung gruppierbar und sortiert nach Namen...
Dann sieht man auf einen Blick, wer abwesend ist und die Entscheidung für geplanten Urlaub o.ä. fällt wesentlch leichter...


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:34 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