Einzelnen Beitrag anzeigen

Pfoto

Registriert seit: 26. Aug 2005
Ort: Daun
541 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: MyBase Datenbank für Name und Phonenummer

  Alt 12. Okt 2005, 12:06
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
Jürgen Höfs
  Mit Zitat antworten Zitat