![]() |
dblookupcombobox
In einer DBlookupcombobox biete ich via AdoQuery die Daten einer SQL-Server Tabelle in der Listsource/DropdownListe (name,vorname) zur Auswahl an. Listfiled ist name;vorname. Die Selektion klappt solange der Name in der Tabelle nur einmal vorkommt. Da der Name "Meier" aber mehrfach vorkommt, werden bei Eingabe von "M", gleich alle "Meier" markiert. In diesem Fall ist eine weitere Selektion z.B. des 2. "Meier" per Tastatur überhaupt nicht möglich. Auch durch Mausklick auf den 2. Meier gibt Query.FieldByName immer den ersten Meier zurück!? Wie und wo kann ich abfragen, welchen Datensatz genau ich per Maus angeklickt habe? Eine genaue Auswahl per Tastatur geht wohl nicht?
|
AW: dblookupcombobox
Liste der Anhänge anzeigen (Anzahl: 1)
keiner ne Idee?
Sieht so aus, als würde das Problem nur bei der Ersten Auswahl auftreten. Also bei klick auf Meier Horst (3.Meier) gibt Query.FieldByName Meier Willi (1.Meier) zurück!? Ab dem zweiten Auswahlversuch scheint scheint die Zuweisung sicher zu klappen. Was mach ich da falsch, fehlt da eine Initialisierung? Ich kann doch nicht immer den Maier Horst zweimal auswählen, weil beim ertsen Versuch immer der Meier Willi erkannt wird? Wie kann ich sicher abfragen, welchen Datensatz genau ich per Maus angeklickt habe? Siehe Anlage |
AW: dblookupcombobox
|
AW: dblookupcombobox
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Bummi,
ja habe ich nochmal eingestellt. Komme aber leider nicht recht weiter!? |
AW: dblookupcombobox
Hat die Tabelle einen PK? Wie ist KeyField gesetzt?
Ich habe das bei mir eben mit einem DevExpress MemData ausprobiert. Weiterhin habe ich ein TDBGRid auf die Form geklatscht und das mit dem Lookup-Dataset verknüpft, damit ich den Datensatzzeiger sehe. Es ist ja schon mal klar, das alle drei Meier selektiert ist, denn das ist nun einmal der selektierte Eintrag. Ich gehe mal davon aus, das das KeyField='Name' ist. Dann ist das nämlich zwingend. Wenn die Lookup-Tabelle einen PK hat, dann sollte in der Original-Tabelle ein FK definiert sein. Dann wäre die Selektion eindeutig. So aber nicht. |
AW: dblookupcombobox
Liste der Anhänge anzeigen (Anzahl: 2)
Je nachdem welches das Keyfield ist wird passend dargestellt.
Sel1='ID', Sel2='Name'. EDIT Furtbichler war schneller ;-( |
AW: dblookupcombobox
Ich glaube, du erwartest von dem Control ein Verhalten, für das es nicht gemacht ist. Du möchtest in der DBLookupCombobox offenbar den aktuellen Datensatz auswählen. Das ist aber nicht das, wofür es gemacht ist (dazu siehe Doku). Das musst du anders lösen.
|
AW: dblookupcombobox
@Uwe Raabe durch das "unsaubere" Verhalten einer DBLookup-Combobox kann sich ein Anfänger IMHO dazu verleiten lassen sich auf die Auswahl des Satzes in der Lookupmenge zu verlassen.
|
AW: dblookupcombobox
Zitat:
|
AW: dblookupcombobox
Hallo Uwe Raabe, genau das hatte ich gehofft, dass ich mit der dblookupcombobox den ausgewählten Satz zurück bekomme. Wie ich dich verstanden habe, geht das wohl damit nicht?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:31 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