Hi Luckie,
mußt nur lesen !
Code:
procedure TForm1.KGnrEnter(Sender: TObject);
begin
// KGListBox.Visible := true;
KGlistBox.Show;
WITH DataModul.KGdatensatz DO BEGIN
Active := false;
SelectSQL [0] := 'SELECT * FROM KG8';
Active := true;
while not EOF do begin
KGlistBox.Items.Add(FieldByName('NR').AsString + ' ' +
FieldByName('BEZ').AsString);
next;
end;
end;
end;
procedure TForm1.KGnrExit(Sender: TObject);
begin
KGlistBox.Clear;
// KGlistBox.visible := false;
KGlistBox.Hide;
end;
Aktiv ist im Code meine Variante, weil die noch kürzer ist.
Die von Luckie ist die auskommentierte. Die funktionieren aber trotzdem total gleich!! Anscheinend machen Show und Hide nichts anderes, als visible auf true bzw. false zu setzen.
Das KGlistBox.Clear hat mit Bildschirm usw. nichts zu tun ! Es muß im OnExit die Datenmenge, die in der Listbox angezeigt werden soll, wieder leer machen, da diese in OnEnter erzeugt wird. Fehlt diese Zeile füllt sich die Box bei jedem OnEnter immer mehr mit Duplikaten.
Das wars dann wohl.
Die Combobox will ich nicht verwenden, da es für den Anwender einen Arbeitsschritt mehr macht und ansonsten nichts bringt.
Gruß
Hansa