![]() |
Kompakte Datenbank
Hi!
Das Problem, das ich habe ist nicht so ganz leicht zu definieren, deshalb habe ich die Suchmaschine auch nicht bemüht. Ich möchte eine Datenbank schreiben, in der z.B verschiedene Arten von Büromaterial drinstehen. Die Struktur soll etwa so aussehen Nr. (AutoInc) Type (String) Beschreibung (string) Farbe (String) Dann möchte ich 3 DBComboboxes füllen und zwar sollen in einer die Typen stehen, in der zweiten die Beschreibungen und in der dritten die Farben. Ist sowas möglich? oder muss ich 3 Datenbanken anlegen? |
Hallo Mike_C,
programmtechnisch machbar, aber woher nimmst Du das, was in den ComboBoxen stehen soll? Sollen alle Felder kombiniert werden oder gibt es zu jedem Type nur eine einzige Beschreibung? Soll in Abhängigkeit eines gewählten Begriffes, die mögliche Auswahl in den anderen ComboBoxen geändert werden? mfg eddy |
Ich will eigentlich nur eine Möglichkeit die Daten in der DB auseinander zu reißen. Die Daten sollen dann nichts mehr mit einander zu tun haben. Vielleicht war mein Beispiel nicht gut gewählt. Ich möchte einen CSS Editor schreiben (Cascading Style Sheet). Dazu brauche ich eine Reihe von Daten, die ich gerne alle in eine Datenbank schmeißen würde und dann in Abhängingkeit von einer Art Definition (dazu das Feld "Typ") in verschiedene Comboboxen schreiben.
z.B: wenn der Typ besagt, dass sich die Daten auf Font-Family beziehen sollen die Daten in einer Combobox stehen und wenn der Typ besagt, dass es sich um Pixelangaben handelt, sollen die Daten in einer anderen Combobox stehen. Sinn der Sache ist, dass ich eine einzige Datei hätte und nicht viele einzelne. edit: Eine Datenbank scheint mir hier in sofern sinnvoll, als dass ich die Möglichkeit habe ohne viel Umstände eine Übersicht über die CSS-Syntax zu realisieren. |
Hallo Mike_C,
anbei sende ich Dir erstmal ein UP (=Unterprogramm) zum Füllen Deiner ComboBoxen mit Daten aus einer Datenbank. Die Bedingungen, welche ComboBox mit welchem Feld aus welcher Datei gefüllt werden soll, kannst Du ja drum herum schreiben.
Delphi-Quellcode:
Vielleicht hilft's weiter.
{UP initialiesiert die ComboBox mit den zur Auswahl bestimmten Feldern, die
der Tabelle Tab entnommen werden - Tab muß zuvor geöffnet worden sein - die sortierung wird immer auf true gestellt} procedure UP_CBInit(Tab : TTable; combobox : TComboBox; fld : String); var s : string; i : integer; gefu : boolean; begin if not Tab.Active then exit; combobox.Clear; combobox.Sorted := true; Tab.First; while not Tab.Eof do begin s := trim(Tab.FieldByName(fld).AsString); if s <> '' then begin gefu := false; for i := 0 to combobox.Items.Count - 1 do gefu := gefu or (s = combobox.Items.Strings[i]); if not gefu then combobox.Items.Add(s); end; Tab.Next; end; combobox.DropDownCount := combobox.Items.Count; if combobox.DropDownCount > DropDownCount then combobox.DropDownCount := DropDownCount; Tab.Filter := ''; Tab.Filtered := false; end; mfg eddy |
@eddy
thx für deine Bemühungen! Wenn ich das richtig verstanden haben kann ich das "Drumherum" etwa so gestalten:
Code:
Liege ich da richtig?
procedure LoadDataFromDB(Tab: TTable);
var typ: string; begin with Tab do beign typ := FieldByName('Type').AsString; if Typ = 'Font-Family' then UP_CBInit(Tab, cbFontFamily, CSSSyntax); {... weitere typen-abfragen} end; end; (I'm a :coder: with no real experiance in hacking databases :wink: ) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:32 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