Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: mit Comboboxen nach Datensätzen suchen

  Alt 28. Mär 2006, 18:12
Wenn ich es richtig verstehe existiert eine beliebige bereits geöffnete Query, deren result set mit Hilfe der beiden ComboBoxen durchsucht werden soll. Der Code für das Ereignis AfterOpen() dieser Query kann die NameBox füllen:

Delphi-Quellcode:
procedure TDemoForm.QueryAfterOpen(DataSet: TDataSet);
begin
  with Query do
    GetFieldNames(NameBox.Items);
end;
Die Items der ValueBox können dann im Ereignis OnChange der NameBox initialisiert werden:

Delphi-Quellcode:
procedure TDemoForm.NameBoxChange(Sender: TObject);
var
  CurrentRecNo: Integer;
  s: TStringList;
begin
  s := TStringList.Create;
  s.Sorted := true;
  s.Duplicates := dupIgnore;
  with Query do
  begin
    DisableControls;
    CurrentRecNo := RecNo;
    First;
    while not Eof do
    begin
      s.Add(Fields[Namebox.ItemIndex].AsString);
      Next;
    end;
    ValueBox.Items.Assign(s);
    RecNo := CurrentRecNo;
    EnableControls;
  end;
  s.Free;
end;
Getippt und nicht getestet.

Grüße vom marabu
  Mit Zitat antworten Zitat