Hallo LOMBI,
ich würde folgende Vorgehensweise empfehlen:
auf dem Rechnungsformular einen Button 'Kundensuche' plazieren mit dem OnClickEreignis
Code:
procedure TFRechnung.ButtonKundenSucheClick(Sender: TObject);
begin
//--ist die Form schon vorhanden?
if not Assigned(FKundenListe) then
Application.CreateForm(TFKundenListe, FKundenListe);
//--KundenListe Modal anzeigen
if FKundenListe.ShowModal = mrOK then
begin
FRechnung.EditNName.Text := FKundenListe.qryKunden.FieldByName('NName').Text;
FRechnung.EditVName.Text := FKundenListe.qryKunden.FieldByName('VName').Text;
//..
end;
//--> qryKunden steht für die Suchabfrage nach Kunden
end;
In der (allgemein verwendbaren) Form FKundenListe diese um ein EingabeFeld 'EditSuch' erweitern und hier am besten im OnKeyPress (sofern Key=#13 -> RETURN-Taste) die Suche starten. Egal, ob nun exakt ein Kunde gefunden wurde oder gar mehrere, per Doppelclick in das DBGrid übergibst Du den ausgewählten Kunden dann an das Rechnungsformular:
Code:
procedure TFKundenListe.DBGridKundenDblClick(Sender: TObject);
begin
ModalResult = mrOK ;
end;
Die Suche sollte immer erst dann gestartet werden, wenn das Eingabefeld mit RETURN abgeschlossen wurde, um unnötige Suchvorgänge bei jedem Tastendruck zu sparen...
Das nur mal so als Denkanstoß
Viellcht hilft Dir das weiter..