Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi (DB)Listbox oder (DB)Combobox filtern? (https://www.delphipraxis.net/3067-db-listbox-oder-db-combobox-filtern.html)

Mitchl55 21. Feb 2003 11:29


(DB)Listbox oder (DB)Combobox filtern?
 
Hallo!

Ist es möglich, Datensätze aus einer Paradox Datei in folgender Form in einer (DB)Listbox oder (DB)Combobox "einfach" darzustellen/filtern?

Beispiel: Die eingegeben Daten für ein Spalte(FieldName X) sind z.B.:

1, 1, 1, 2, 2, 3, 4, 5, 5, 6, 7, 7, 7, 7, 8, 9, 10

angezeigt werden sollen die verschiedenen Daten aber nur einmal - ohne die doppelten... also nur:

1, 2, 3, 4, 5, 6, 7, 8, 9, 10

Meine Lösung ist im Augenblick 2 Datenbanken zu erstellen:

In der einen suche ich, ob der Wert für eine Spalte (FieldName X) schon vorhanden ist (wenn 'ja' dann wird er nicht mehr eingefügt, wenn 'nein' dann soll er eingefügt [Table1.Insert] werden). Diese Datei nutze ich dann als (DB)Listbox oder (DB)Combobox zur Auswahl! Die andere Datei Speichert die Daten ganz normal ab!

Gruß

Mitchl


PS: Es ist vieleicht kompliziert beschrieben...aber vieleicht versteht man es doch! :roll:

eddy 23. Feb 2003 13:38

Hallo Mitchl,

schau Dir das an:

Code:
{UP initialiesiert die ComboBox mit den zur Auswahl bestimmten Feldern, die
 der Tabelle Tab entnommen werden
 - Tab muß zuvor geöffnet worden sein
 - die sortierung wird immer auf true gestellt}
procedure UP_CBInit(Tab : TTable; combobox : TComboBox; fld : String);
var
  s : string;
  i : integer;
begin
  if not Tab.Active then exit;
  combobox.Clear;
  combobox.Sorted := true;
  Tab.First;
  while not Tab.Eof do begin
    s := trim(Tab.FieldByName(fld).AsString);
    if s <> '' then begin
      i := combobox.Perform(CB_FINDSTRING, -1, LongInt(PChar(s)));
      if (i = CB_ERR) or ((i = 0) and (combobox.Items.Count = 0)) then begin
        combobox.Items.Add(s);
      end;
    end;
    Tab.Next;
  end;
end;
Vielleicht hilt's weiter.

mfg
eddy

Mitchl55 5. Mär 2003 13:01

Hallo...

Funktioniert genau wie das gedacht war! Aber wie und wo binde ich die Combobox so ein, dass sie nur ein Mal vor Beginn der Einblendung meiner FormX aktualisiert wird! Bin doch noch totaler Anfänger!

Danke

Mitchl


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:01 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz