Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Einträge aus Checklistbox per Query speichern (https://www.delphipraxis.net/5342-eintraege-aus-checklistbox-per-query-speichern.html)

Albi 2. Jun 2003 18:12


Einträge aus Checklistbox per Query speichern
 
Ic komme hier einfach nicht weiter, ich habe eine CheckListBox und will deren Einträge in einem Query speichern, wie alle oder nur einen Eintrag der Box gespeichert bekomme ist klar.
Aber wie kann ich das anstellen, das ich nur einen oder zwei Einträge speichere.

Zu dem Hintergrund, ich will, das der Benutzer einen Datensatz anlegen kann und bestimmt zu welcher Gruppe dieser gehört. Also on nun zu Gruppe 1 oder/und Gruppe 2.

MrSpock 3. Jun 2003 10:22

Hallo Albi,

es ist nicht ganz klar, was genau du erreichen willst. In einer Checklistbox kannst du ja eine beliebige Anzahl von Einträgen markieren. Was genau willst du jetzt mit den markierten Einträgen machen? Wieviele können in deiner Anwendung maximal markiert sein? Und wie ist die Tabellenstruktur, der Tabelle, in die du die Daten speichern möchtest?

Albi 3. Jun 2003 11:45

Das ganze soll eine kleine Kundendatenbank werden. Über die CheckListBox will ich, das der Anwender bestimmt wo der Kunde hingehört (Gruppe1, Gruppe2, Gruppe3 usw.). Die Einträge mit einem Häckchen sollen dann in dem Feld Gespeichert werden.

Im weiteren Programmablauf soll das Prog erkennen zu welcher Gruppe der Kunde gehört und das dem entsprechend Filtern.

So das der Anwender mit der Gruppe 1 arbeitet und dann auch nur die Gruppe sieht und nicht die anderen auch.

MrSpock 3. Jun 2003 18:44

Hallo Albi,

es wäre wie gesagt noch sinnvoll, wenn du festlegst, in wieviele Gruppen ein Nutzer maximal sein kann. Sollte die Anzahl z.B. 32 nicht überschreiten, könntest du die Info "bit-weise" kodieren.

Nutzer ist in Gruppe 1 hätte z.B. den Wert 1
Nutzer ist in Gruppe 2 hätte z.B. den Wert 2
...
Nutzer ist in Gruppe n hätte z.B. den Wert 2^(n-1) (2 hoch n-1)

Ist er in mehreren Gruppen addierst du die Werte.

So könntest du bis zu 32 Gruppenmitgliedschaften in einem Integer Wert kodieren.

Albi 3. Jun 2003 18:50

Das klingt lokisch aber wie bekomme ich raus, welcher dieser Einträge markiert ist. Ist bestimmt ne blöde Frage, aber ich bin neu hier und verstehe noch nicht allzu viel diesen ganzen sachen.

MrSpock 3. Jun 2003 19:47

Hallo Albi,

wenn gruppe ein Integer ist, dann kannst du den Wert aus der CheckListBox wie folgt ermitteln:

Delphi-Quellcode:
{ clbox sei die CheckListBox }
with clbox do
begin
  gruppe := 0;
  for i := 0 to Count-1 do
    if checked[i] then
       gruppe := gruppe +Round(IntPower(2, i));
end;

Albi 4. Jun 2003 19:15

Vielen Dank für die schnellen Tipps, bin immer wieder froh das es das Forum hier gibt ansonsten würd ich gar nicht weiter kommen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:48 Uhr.

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