WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   Access-SQL-Herausforderung (http://www.wcm.at/forum/showthread.php?t=183111)

webwurm 14.01.2006 20:06

Access-SQL-Herausforderung
 
Liebe WCM-Gemeinde,
ich habe wieder einmal eine Herausforderung in Access.
Vielleicht könnt ihr mir helfen:

Ich habe eine Tabelle mit den Spalten
[MitarbeiterNr], [MitarbeiterName] und [TrainerNr]

In der Spalte [MitarbeiterNr] steht die Nr. des aktuellen Mitarbeiters, in der Spalte [TrainerNr] die seines direkten Trainers.

Das sieht zB so aus:
111 Fritz 222
112 Franz 222
113 Tobias 422
222 Sepp 322
322 Master 999
422 Master2 999
999 Organisation

Nun geht es um die Frage der Berechtigungen:
So hat zB Master1 auf Fritz Zugriff, weil dieser in der Struktur unter ihm ist:
111 Fritz > 222 Sepp > 322 Master

Master2 hat auf Fritz keinen Zugriff, da er in der Struktur nicht vorkommt:

111 Fritz > 222 Sepp > 322 Master > 999 Organisation

Allerdings hat dieser dafür auf Tobias Zugriff:
113 Tobias > 322 Master

Jeder Trainer hat also nur auf die Personen Zugriff, die in der Struktur unter ihm stehen (egal wie viele Ebenen).

Meine Frage nun:
Ich bräuchte eine Access-Abfrage, der ich die TrainerNr übergebe und die mir die Liste aller Personen zurückgibt, auf die Zugangsberechtigungen bestehen?! Irgendwelche Vorschläge, wie ich das lösen könnte??

Vielen Dank im voraus,
Webwurm

Biri 15.01.2006 18:01

hi,

muss es denn eine sql abfrage sein?
in Acess kann man ja auch kleine vb programme schreiben.

die aufgabe ist ja in diesem fall, einen gerichteten graphen aufzubauen oder anders: rekursiv die nummern durchgehen und feststellen, ob eine verbindung zwischen mitarbeiter und trainer besteht.

imho. geht das am einfachsten mit einer rekursiven funktion (sogar sehr einfach).
ist auch eine solche lösung o.k.?

btw. vb programmieren ist bei mir schon lange her - kann man eine funktion hier rekursiv aufrufen?

fg
-hannes


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:08 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag