Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Identifikation aus "Untertabelle" in "Haupttabelle" speichern anstelle dem Text (https://www.delphipraxis.net/198819-identifikation-aus-untertabelle-haupttabelle-speichern-anstelle-dem-text.html)

juergen 2. Dez 2018 22:03

Datenbank: SQlite • Version: 3 • Zugriff über: FireDac

Identifikation aus "Untertabelle" in "Haupttabelle" speichern anstelle dem Text
 
Hallo zusammen,

ich habe 2 Tabellen. In der "Haupttabelle" gibt es u.a. ein Feld wo die Identifikation für eine "Untertabelle" gespeichert wird. Die "Untertabelle" hat zum Feld "Identifikation" noch ein weiteres Feld mit Text.
In einem DB-Grid zeige ich dann den Text aus der "Untertabelle" an.

Ich würde dem User bei einem neuen Datensatz nun gern eine Combobox bereitstellen, wo er den Text aus der Untertabelle auswählt den er speichern will.
Wie bekomme ich es nun über einen DB-Navigator hin, dass beim speichern in der Haupttabelle anstelle des Textes aus der Combobox die passende Identifikation aus der "Untertabelle" in der "Haupttabelle" gespeichert wird? :oops:


Ich kann mir vorstellen dass kommt im DB-Alltag häufiger vor und nun suche eine Lösung.


Vielen Dank schon mal vorab!

scrat1979 2. Dez 2018 22:39

AW: Identifikation aus "Untertabelle" in "Haupttabelle" speichern anstelle dem Text
 
Schon lange nicht mehr mit datensensitiven Controls gearbeitet aber war da nicht die DBLookupCombobox oder so ähnlich genau für den Zweck?

Uwe Raabe 2. Dez 2018 23:46

AW: Identifikation aus "Untertabelle" in "Haupttabelle" speichern anstelle dem Text
 
Das ist richtig! TDBLookupComboBox ist genau dafür gedacht. ´

In den Properties DataSource und DataField werden die Haupttabelle und der Name des zu ändernden Feldes verknüpft. ListSource verweist auf die Untertabelle, KeyField auf das Identifikationsfeld und ListField auf das anzuzeigende Textfeld.

juergen 3. Dez 2018 00:47

AW: Identifikation aus "Untertabelle" in "Haupttabelle" speichern anstelle dem Text
 
@scrat1979,
Vielen Dank für den Schubs in die richtige Richtung!

@Uwe Raabe,
Vielen Dank für die präzise Funktionsbeschreibung!

Allen einen Gute N8!

juergen 3. Dez 2018 02:39

AW: Identifikation aus "Untertabelle" in "Haupttabelle" speichern anstelle dem Text
 
Hmmm,
in der DB-Lookup-Combobox bekomme ich die Texte aus der Untertabelle nun schön angezeigt. Aber ich kann keins davon auswählen...

Was muss denn da noch eingestellt werden, dass ich auch was auswählen und dem Datensatz zuordnen kann?

TigerLilly 3. Dez 2018 06:57

AW: Identifikation aus "Untertabelle" in "Haupttabelle" speichern anstelle dem Text
 
Du musst 5(!) Properties setzen - siehe Uwes Hinweis. Und natürlich muss die Datenmenge bearbeitbar sein.

juergen 3. Dez 2018 08:46

AW: Identifikation aus "Untertabelle" in "Haupttabelle" speichern anstelle dem Text
 
@TigerLilly,

die von Uwe genannten 5 Properties habe ich gesetzt und die Datenmenge ist auch editierbar. Zumindest die anderen Felder ohne Lookup-Comboboxen.:gruebel:

Uwe Raabe 3. Dez 2018 09:00

AW: Identifikation aus "Untertabelle" in "Haupttabelle" speichern anstelle dem Text
 
Dann liegt das Problem außerhalb des für uns sichtbaren Bereichs.


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