AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

dblookupcombobox

Ein Thema von jangbu · begonnen am 9. Mär 2013 · letzter Beitrag vom 10. Mär 2013
Antwort Antwort
Seite 1 von 2  1 2      
jangbu

Registriert seit: 6. Apr 2006
171 Beiträge
 
Delphi 10.3 Rio
 
#1

dblookupcombobox

  Alt 9. Mär 2013, 20:03
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?
  Mit Zitat antworten Zitat
jangbu

Registriert seit: 6. Apr 2006
171 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: dblookupcombobox

  Alt 10. Mär 2013, 11:28
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
Angehängte Dateien
Dateityp: pdf klick auf horst.pdf (122,5 KB, 17x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#3

AW: dblookupcombobox

  Alt 10. Mär 2013, 12:12
Crosspost http://www.entwickler-ecke.de/viewtopic.php?t=111268
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
jangbu

Registriert seit: 6. Apr 2006
171 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: dblookupcombobox

  Alt 10. Mär 2013, 16:39
Hallo Bummi,

ja habe ich nochmal eingestellt. Komme aber leider nicht recht weiter!?
Miniaturansicht angehängter Grafiken
dblookupcombobox.jpg  
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#5

AW: dblookupcombobox

  Alt 10. Mär 2013, 16:58
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.
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#6

AW: dblookupcombobox

  Alt 10. Mär 2013, 17:03
Je nachdem welches das Keyfield ist wird passend dargestellt.
Sel1='ID', Sel2='Name'.

EDIT
Furtbichler war schneller ;-(
Miniaturansicht angehängter Grafiken
sel2.png   sel.png  
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.007 Beiträge
 
Delphi 12 Athens
 
#7

AW: dblookupcombobox

  Alt 10. Mär 2013, 17:04
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.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#8

AW: dblookupcombobox

  Alt 10. Mär 2013, 17:08
@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.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.007 Beiträge
 
Delphi 12 Athens
 
#9

AW: dblookupcombobox

  Alt 10. Mär 2013, 17:13
@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.
Was ja hier offensichtlich auch passiert ist. Man sollte schon stutzig werden, wenn es erst beim zweiten Versuch klappt.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
jangbu

Registriert seit: 6. Apr 2006
171 Beiträge
 
Delphi 10.3 Rio
 
#10

AW: dblookupcombobox

  Alt 10. Mär 2013, 17:46
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?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:35 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