Re: Suche geeignete Komponente ?
19. Mai 2006, 08:09
Hallo Vader,
ich fürchte, dass du dich mit der Gestaltung der Benutzerschnittstelle beschäftigst ohne vorher ein Datenmodell entwerfen zu haben. Zuerst musst du festlegen, welche Informationen (Attribute) du zu jeder Entität speichern willst:
BESTELLUNG: ZEITPUNKT, BESTELLER, LIEFERANT, WARE, MENGE
Aus der Entität (Bestellung, Singular) machst du dann eine Tabelle (BESTELLUNGEN, Plural). Dabei wird ein Primärschlüssel (ID, Autoincrement) hinzugefügt und für jedes Attribut geprüft, ob es selbst wieder eine Entität sein könnte (LIEFERANT, GEGENSTAND) oder ob ein fester Wertebereich existiert (BESTELLER: Lager, Einkauf). In solchen Fällen werden neue Entitäten (mit Attributen) und Pseudo-Entitäten (ohne Attribute, nur für Lookup) gebildet, aus denen du dann auf gleiche Weise Tabellen ableitest:
BESTELLUNGEN: ZEITPUNKT, BESTELLER_ID, WAREN_ID, MENGE
BESTELLER: ID, NAME
WAREN: ID, BEZEICHNUNG, LIEFERANTEN_ID, LIEFERZEIT
LIEFERANTEN: ID, NAME, TELEFON
Wenn du dann die Bestellungen in einem DBGrid erfassen willst, dann unterlegst du einfach die Tabelle BESTELLUNGEN mit statischen Feldern (Feld-Editor), machst alle Schlüsselfelder unsichtbar und fügst für die Fremdschlüssel (BESTELLER_ID, WAREN_ID) entsprechende Lookup-Felder (BESTELLER, WARE) hinzu. Danach kannst du dann im Feld BESTELLER aus dem Wertevorrat der Tabelle BESTELLER anhand von BESTELLER.NAME den korrekten BESTELLER.ID in das Feld BESTELLUNGEN.BESTELLER_ID eintragen.
Grüße vom marabu
PS: Wenn du ohne Grid arbeiten möchtest, dann musst du eine DBLookupComboBox anstelle deines DBEdit verwenden.
|