Wenn schon Datenbank, wieso nicht eine gute alte m:n-Beziehung? Eine Tabelle Benutzer, eine Tabelle Rechte und eine Tabelle Benutzerrechte für die Zuordnung, fertig ist die Chose. Die zugewiesenen Rechte des Benutzers kann man sich ja z.B. in einer Stringliste ablegen.
SQL:
SQL-Code:
SELECT R.Name AS Recht
FROM Benutzer B
JOIN Benutzerrechte BR ON BR.BenutzerID = B.ID
JOIN Rechte R ON R.ID = BR.RechteID
WHERE B.ID = :ID
Ablegen in einer Stringliste:
Delphi-Quellcode:
Liste.Clear;
Query.Open;
while not Query.EOF
do
begin
Liste.Add(
Query.FieldByName('
Recht').Value);
Query.Next;
end;
Nun noch das Setzen der Checkboxen:
VerbindenCheckBox.Checked := Liste.IndexOf('Verbinden') > -1;