Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Von Excel zur DB, wie designed man das am besten? (https://www.delphipraxis.net/21659-von-excel-zur-db-wie-designed-man-das-am-besten.html)

Igotcha 6. Mai 2004 09:06


Von Excel zur DB, wie designed man das am besten?
 
Hallo zusammen,

ich habe innerhalb der letzten 2 Jahre ein Planungs-/Controllingsystem auf Basis von Excel entwickelt (teils durch berufliche Anforderungen, teil aus privatem Antrieb).

Da dieses System in Bezug auf strukturelle Änderungen (z.B. Zeile rein oder raus) nur mit verhältnismäßig hohem Aufwand zu warten ist, möchte ich das ganze System in Delphi mit einer Datenbank umsetzen.

Da die Darstellung der Daten in meinem System einen gewissen "Charme" hat möchte ich die Art der Darstellung auch übernehmen. Ich habe einige Erfahrungen mit Delphi und DBs, nur fehlt mir bei dieser Umsetzung im Moment der "Klick" ;-)

In Excel werden die Daten immer folgendermaßen dargestellt:

Code:
KOSTENART1       JAN FEB ..... DEZ Q1 Q2 Q3 Q4 GESAMT
...
...
...
SUMME KOSTENART1 SUMME(JAN) SUMME (FEB) ......
KOSTENART2       ....
...
Man kann auch einzelne Kostenarten-Blöcke ein-und ausblenden, so dass ich bei meinen Überlegungen zur Darstellung der Daten in Delphi wahrscheinlich bei einem Treeview landen werde (VirtualTV?)

Kann der VTV auch Summenzeilen in der o.g. Art selbständig darstellen und wenn ja, woher kommen die Daten (selbst berechnet, oder kann er sich die nur "fertig" aus der Datenbank ziehen)?

Entsprechend würde ich die DB so gestalten, dass die Datensätze in der Form:

Code:
KOSTENSTELLE JAHR KOSTENART JAN FEB MÄR ... DEZ
vorliegen, oder sogar für jede Kostenstelle eine eigene Tabelle anlegen.

Abgebildet werden soll dann natürlich auch eine Aggregation in der Form:

GF
|
BEREICH 1 .... BEREICH n
| | |
KST_BEREICH1

möglich sein, wobei dann z.B. bei einem BEREICH die Werte (Summen) der zugeordneten Kostenstellen angezeigt werden.

Danke und Gruß
Igotcha

shmia 6. Mai 2004 10:30

Re: Von Excel zur DB, wie designed man das am besten?
 
Also du brauchst zunächst eine Tabelle mit allen Kostenstellen.

Dann brauchst du eine Tabelle mit den Belastungen der Kostenstellen (Tabelle KstBelast):
Code:
Kostenstelle  Datum      Betrag
==================================
100            6.5.2004    500.00
102            1.5.2004    410.90
......
Dann brauchst du eine Monats und Quartaltabelle (Tabelle: DatumLookup):
Code:
Datum      Monat  Quartal
===========================
01.01.2004  JAN    Q1
02.01.2004  JAN    Q1
..........
01.04.2004  APR    Q2
..........
31.12.2004  DEZ    Q4
Für jedes Jahr brauchst du 365 Datensätze. Diese Hilfstabelle sollte
natürlich von deinem Programm erzeugt werden.

Für die Summenbildung wird die Tabelle mit den Kostenstellenbelastungen mit der Tabelle DatumLookup
gejoint und dann gruppiert:
SQL-Code:
SELECT Count(*) AS Anzahl, SUM(KstBelast.Betrag), DatumLookup.Monat, KstBelast.Kostenstelle FROM
KstBelast INNER JOIN DatumLookup ON KstBelast.Datum=DatumLookup.Datum
GROUP BY DatumLookup.Monat, KstBelast.Kostenstelle

Igotcha 6. Mai 2004 14:38

Re: Von Excel zur DB, wie designed man das am besten?
 
Wow, das sieht schick aus :-)

Ich werde mich die Tage mal ransetzen, es testen und Feedback geben.

Jetzt besteht nur noch das Darstellungsproblem (in Form eines TreeViews, aber da werde ich mich schon ranmachen).

Danke und Gruß
Igotcha

P.S. Ich sehe gerade, dass die Kostenarten (fast das Wichtigste) noch nicht drin sind, aber das dürfte kein Problem sein.

Code:
Kostenstelle  Datum      Betrag  KostenartID
===============================================
100            6.5.2004    500.00   1
102            1.5.2004    410.90   2
103            1.5.2004    535.50   1
......


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