Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Beispiel für Administration-Area (Runtime Form Designer) (https://www.delphipraxis.net/107495-beispiel-fuer-administration-area-runtime-form-designer.html)

SMALLID 28. Jan 2008 17:39


Beispiel für Administration-Area (Runtime Form Designer)
 
Hallo,

mein Unternehmen möchte einen Administrationsbereich in ein DB-Programm eingebaut haben, in dem er selbst Felder zu Tabellen hinzufügen und neue Filter-Felder einsetzen und die Ansicht und Anordnung des gesamten Formulars ändern kann. Also stelle ich mir da soetwas wie einen Runtim Form Designer vor. Gibt es dafür bereits Beispiele? Kennt vielleicht jemand ein passendes Projekt, das ich bei einer Präsentation des Vorhabens beispielhaft zeigen könnte?

Viele liebe Grüße,
SMALLID

shmia 28. Jan 2008 18:19

Re: Beispiel für Administration-Area (Runtime Form Designer)
 
Zitat:

Zitat von SMALLID
... in dem er selbst Felder zu Tabellen hinzufügen ...

Diese Forderung würde ich kategorisch ablehnen.
Wenn der Kunde das Datenbankmodell selbst erweitern kann, sind Probleme vorprogrammiert. :warn:
Allenfalls würde ich in wichtigen Tabellen Memofelder anbieten, in dem der Kunde speichern kann was er möchte.
Wenn man z.B. eine Artikeltabelle hat, könnte man eine weitere Attribut-Tabelle bereithalten:
Code:
IdAttribut | NameAttribut
          1| Farbe
          2| ErsatzArtikelNr
          3| Hersteller
Diese Attribut-Tabelle darf der Kunde selbst befüllen.
Über eine N zu M Verknüpfung werden die Attribute den Artikeln zugeordnet:
Code:
IdArtikel|IdAttribut|WertAttribut
47110815 |1         |grün
47110815 |3         | Bayer Chemie
Abfragen, wie z.B. "welche Artikel sind grün ?" sind damit zwar relativ schwierig, aber Änderungen an den Tabellenstrukturen sind gefährlicher.

alzaimar 28. Jan 2008 19:39

Re: Beispiel für Administration-Area (Runtime Form Designer)
 
Zitat:

Zitat von shmia
Abfragen, wie z.B. "welche Artikel sind grün ?" sind damit zwar relativ schwierig, aber Änderungen an den Tabellenstrukturen sind gefährlicher.

Finger weg von den Stammdaten! Jo!
Abfragen sind relativ schwierig? Nö!
Delphi-Quellcode:
select Artikel.* 
  from Artikel a
       join AttrributWerte aw join a.artID = aw.artID
 where aw.attrID = 123 -- AttributID des Attributes 'Farbe'
   and aw.attrValue = 'grün'
Damit sind sogar wunderbare Filter möglich ('Alle grünen Artikel ohne Sahnehäubchen, die eine Linksquantisierung beinhalten oder gelb sind etc.'). So lassen sich beliebig komplexe Filter vom Kunden selbst mit einer einfachen Logik schnell und effizient aufbauen. Nur zwei Indexe und fertig. Dieses Verfahren haben wir seit Jahren für genau diesen Anwendungsfall (Kunde will Daten erweitern) im Einsatz und es ist schnell, kompakt und flexibel.


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