Willkommen im Forum, noiser!
Zwar bin ich auch noch ein Beginner, aber ich glaube, trotzdem eine Lösung anbieten zu können.
Je nachdem, ob du die Namen direkt aus der Tabelle oder aus einem
Query lesen willst, gehst du diese "Liste" an Einträgen durch und übergibst die vorhandenen Namen an eine LookupCombo.
etwa so
Delphi-Quellcode:
Combobox1.Clear;
While not Query.Eof
do // Im Beispiel wird von einem Ergebnis in einer Query ausgegangen
begin
Combobox1.Items.Add(FieldByName('
Name').AsString)
// Für "Name" die Bez. Deiner Tab.-Spalte
end;
In OnClick-Ereignis der Combobox kannst du dann den Index und somit den Namen abfragen und mit dem Befehl "Locate" intern zum Datensatz der
Query bzw. deiner Tabelle springen.
Delphi-Quellcode:
...ComboBox1Click(Sender: TObject);
begin
with Query do
If Locate('
Name', ComboBox1.Items[Combobox1.ItemIndex], [])
then
Edit1.Text:= FieldByName('
Telefonnummer').AsString;
end;
Natürlich ist die Sache noch nicht perfekt mit Locate, denn wenn ein Name doppelt vorkommt, springt er nur zum ersten Datensatz. Man könnte auch den Itemindex der Combobox dafür nutzen, um zur entsprechenden Nummer in der Tabelle bzw. des Querys zu springen.
(Ich weiß jetzt nicht auswending, ob der Befehl RecNo immer funktioniert, sonst könntest Du den Cursor intern damit auf den entsprechenden Datensatz setzen)
Sicherlich kann dir ein Profi noch mehr dazu sagen.
Gruß
Pfoto