Hallo!

select   *
from     Menu
where    (([min] <= ...) and ([max] >= ...))
         or
         (id in (select MenuID
                 from   Berechtigung
                 where  (UserID = ...) (and Wert > 0))
order by ID

Kein Join, klar?

Aus meiner Sicht fehlt noch ein Feld f�r die Reihenfolge der Menus und
f�r die Beschreibung (title="...").

Freundliche Gr��e
Joachim van de Bruck

> Die Tabellen im Detail:
> 
> Menu:
> * ID, Titel & Link (sollte klar sein)
> * Min, Max (Benutzerstufe, die mindestens erforderlich ist oder
> h�chstens sein darf)
> 
> Berechtigung:
> * MenuId (Link zum Men�punkt)
> * UserID (Benutzernummer)
> * Wert - 0 =keine Berechtigung; > 0 bedeutet "OK"
> 
> In einer Sessionvariable habe ich die Benutzerstufe eingetragen - 1 =
> Internet, 3 = Intranet, 5 = Intranet identifiziert
> In einer zweiten Variable habe ich die Benutzer-ID
> 
> Es kann nun sein, da� ein Men�punkt durch min/max NICHT selektiert
> werden w�rde - jedoch �ber die Berechtigungstabelle gefunden werden
> d�rfte.
> Diesen Select-String bekomm' ich aber nicht zusammen.
> 
> Mein erster Ansatz war so:
> strSQL = "SELECT * FROM Menu WHERE (Min =< " & Stufe &") AND (Max >= "
&
> Stufe &")"
> 
> Nicht geschafft habe ich es, mittels JOIN die Berechtigungstabelle
> dazuzuh�ngen ....
> 
> Wer kann mir dabei helfen?
> 
> 
> Danke, Stefan.
> 
> 
> | [aspdedatabase] als [EMAIL PROTECTED] subscribed
> | http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv
> | Sie k�nnen sich unter folgender URL an- und abmelden:
> | http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp


| [aspdedatabase] als [email protected] subscribed
| http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp

Antwort per Email an