Also mit den Fieldbyname ist klar ... Allerdings hab ich mit dem FindKey Probleme ...
Ich schreib mal mein Programm :
- Form1 mit einer Listbox1 und einem Richedit ("rich") 
- Datenbank mit Nachnamen (Feld "Nachname") und Vornamen (Feld "name")
- Datenbank wird mit "data1.table1" angesprochen ...
Wenn die Form1 aktiviert wird, werden alle Nachnamen in die Listbox eingelesen:
		                     
             Quelltext
                        Quelltext                    
           	 										| 1:2:
 3:
 4:
 5:
 6:
 7:
 8:
 9:
 10:
 11:
 12:
 
 | procedure TForm1.FormActivate(Sender: TObject);begin
 rich.Lines.clear;
 count := 0;
 max := data1.table1.FieldDefs.Count;
 while (count < max ) do
 begin
 listbox1.items.add(data1.table1['Nachname']);
 data1.table1.Next;
 inc(count);
 end;//while
 end;//Form activate
 | 
		
	  
Wenn jetzt ein Eintrag der Nachnamen in der Listbox gewählt wird (onclick) soll der entsprechende Vorname angezeigt werden (in dem Beispiel im Richedit ("rich") :
		                     
             Quelltext
                        Quelltext                    
           	 										| 1:2:
 3:
 4:
 5:
 6:
 7:
 8:
 9:
 10:
 11:
 12:
 13:
 
 | procedure TForm1.ListBox1Click(Sender: TObject);var sel: integer;
 begin
 sel := listbox1.ItemIndex;
 nachname := listbox1.Items.Strings[sel];
 
 //if data1.Table1.FindKey([???]) then
 Vorname := data1.Table1.FieldByName('vorname').asstring; //Hier brauch ich eben irgendwoher den Index der Zeile
 
 // Ist nur zum anzeigen, was ich gelesen habe, bevor es weiterverarbeitet wird :
 rich.lines.clear;
 rich.lines.add('Nachname = ' + nachname + '(' + inttostr(sel) +') ... Vorname = ' + vorname);
 end; //Listboxclick
 | 
		
	  
Also was müsste ich an dem Code ändern, damit es gelesen wird ... Bei meinem Beispiel wird mir immer der letzte Vorname aus meiner DB angezeigt ... ist ja auch klar : der Index rattert im form1.activate ja bis zum Schluss durch ... wie kann ich also auf den aktuellen Datensatz zugreifen ???
Es muss doch irgendwie so nach dem Schema gehen : 
Nachname aus Zeile X=Schmidt > Vorname aus Zeile x = sowieso
Den index der Zeile hab ich ja bereits in der Variablen "sel" gespeichert ...
(Hoffe ist verständlich  

 )
Es gibt keine dummen Fragen ... Nur blöde Antworten !!!