Einzelnen Beitrag anzeigen

Perlsau
(Gast)

n/a Beiträge
 
#3

AW: TDBLookupComboBox... items

  Alt 7. Feb 2015, 21:21
@JRichmann:

Wenn ich dich richtig verstanden habe, möchtest irgendwie in der DB speichern, welche Einträge deiner Subtabelle für jeden Eintrag in der Haupttabelle zur Auswahl stehen dürfen. Um das zu erreichen, gibt es meiner Erfahrung nach zwei Wege:

1. CSV-String in Spalte
Du könntest in einer zusätzlichen Spalte deiner Haupttabelle angeben, welche Einträge verfügbar sind. Der String sähe dann z.B. so aus: '1;3'

2. Du legst eine 1:1-Tabelle an
In dieser Verknüpfungstabelle speicherst die Id des Haupttabellen-Records und die Id der Farbentabelle. Dort steht dann z.B.:

Id_MainId_Farbe
11
13

Im zweiten Fall würde es sich anbieten, ein View (Sicht, vordefiniertes Select mit Join) in der DB zu hinterlegen, so daß du dieses View ganz leicht in mit einer TDBLookupComboBox darstellen kannst. Ich selbst verwende vorwiegend die zweite Lösung und biete dem Benutzer, der die verfügbaren Subeinträge (hier: Farben) auswählen können soll, eine TCheckListBox an, mit der er die 1:1-Tabelle bearbeiten kann. Alternativ legst du ein Lookup-Feld in der TQuery an, die deine 1:1-Tabelle enthält. Beim Scrollen der Haupttabelle (AfterScroll) setzt du dann den Filter für deine 1:1-Tabelle und gut ist.
  Mit Zitat antworten Zitat