Entwickler-Ecke
Datenbanken - Lookup-Comboboxen
Delete - Sa 16.11.02 16:06
Titel: Lookup-Comboboxen
Hallo !
Ich werde nochmal wahnsinnig :twisted:
Ich habe ne Tabelle, bei der ich nach .Append per FieldByName schon eine Zahl (Integer-Schlüssel) in ein Feld eintrage. Nun habe ich im danach geöffneten Formular den Rest der Felder zum Eintragen, möchte aber, das der schon eingetragene Wert von der Lookup-Combobox "erkannt" wird und diese schon den entsprechenden Namen zur eingetragenen Nummer angibt.
Listsource ist "DSPersonen" (DataSoucePersonen), ListField ist "Name" KeyField ist "Nr", beides Felder aus der Tabelle Personen, DataSouce und DataField ist NICHT zugewiesen, weil ich keine Felder verändern muss; könnte dort der Fehler liegen ? Eine DBComboBox will ich nicht benutzen, weil sich die Anzahl der Personen ändern kann und ich nicht immer die Items vorher füllen will.
Hoffe es gibt eine einfache Lsg.
thx !
LCS - Mo 18.11.02 08:25
Hi
das funktioniert schon. Du musst nur der Eigenschaft KeyValue deiner Combo die aktuelle Nummer zuweisen. Denn wenn du kein Datenfeld an der ComboBox dran hast, kann auch logischerweise kein Eintrag dargestellt werden.
Gruss Lothar
Delete - Mo 18.11.02 15:54
Titel: Ungültige Typumwandlung
Hallo !
Hatte ich noch gar nicht gewusst, die Eigenschaft KeyValue wird im Objektinspector gar nicht aufgelistet und ich bin immer zu faul in der Hilfe nach Eigenschaften zu suchen .. :wink:
Soweit so gut, aber wenn ich folgendes Schreibe, bricht er immer mit der Fehlermeldung "Ungültige Typumwandlung" ab
Quelltext
1:
| DBCBTest.KeyValue := DM.TPersonen.FieldByName('Nr').AsVariant; |
Die Verknüpfung ist noch richtig, und auch AsInteger oder AsString geht nicht. Wenn ich aber das Programm nicht aus Delphi heraus starte, funktioniert alles wunderbar.
Ist der Umwandlungsfehler beim Lesen des Feldes ( Typ Integer ) in die AsVariant der Fehler, oder das "umwandeln" von AsVariant in KeyValue, was ja lt. Hilfe schon Variant ist.
Gibt es da sowas wie TComponent(Sender) nur für Variablen ( Integer(x) oder (x as Integer) ????
thx !
LCS - Mo 18.11.02 16:03
Hi
so sollte es auf jeden Fall funktionieren:
Quelltext
1:
| DBCBTest.KeyValue := DM.TPersonen.FieldByName('Nr').Value |
Gruss Lothar
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!