Newsgroup: it.comp.www.asp
Titolo: Problema ASP valutazione espressione

spero di riuscire a spiegare il problema che mi assilla, ma soprattutto
spero di trovare una soluzione:
dunque, per creare un menu dimanico mi sono creato una tabella che
contiene i dati relativi al menu, es. titolo, argomento, link html,
colore, ecc.
il problema sorge perchè alcune voci di questo menù sono condizionate
al verificarsi di alcune condizioni.
io ho inserito le condizioni all'interno della tabella relativamente ad
ogni voce del menu (es. la voce Gestione prevede una if legata la
profilo di accesso mentre quella del download prevede una if legata
alla userid dell'utente).
il problema è che quando vado a scrivere il codice relativo alla if
non riesco a farrlo funzionare.
es.
if rec("menu_condizione") then  dove rec("menu_condizione")  contiene
la vera condizione estratta dal DB (es. userid = 'pippo') ... ossia non
posso risolvere prima il rec e poi la if con il risultato del rec?
spero che qualcuno abbia capito cosa volevo dire e possa aiutarmi.
grazie e ciao

 posso risolvere prima il rec e poi la if con il risultato del rec?
Non ho capito bene.
Per come l'hai scritta tu,
    if rec("menu_condizione") then
il codice controlla solo che il valore di rec("menu_condizione") sia uguale 
a True.
Forse dovresti scrivere:
    if rec("menu_condizione") = "pippo" then
        ' inserisci nel menu e fai scaricare all'utente
    else
        ' fai qualcos'altro
    end if
oppure:
    dbUserID = rec("menu_condizione")
    if dbUserID = "pippo" then
        ' inserisci nel menu
    else
        ' fai qualcos'altro e fai scaricare all'utente
    end if
Speigati meglio.
Ciao
Giovanni

 ha scritto nel messaggio 
news:1164108363.4...@j44g2000cwa.googlegroups.com...

Io non ho capito.
Ma non facevi prima ad associare ad ogni gruppo un numero e indicare nei 
menù quale gruppo (numero) ha accesso a quella funzionalità?
Poi facevi un semplice filtro sui menù in base al gruppo(numero) assegnato 
all'utente...
Ciao.
-- 
Sergio MAZZA 

lo sapevo che non riuscivo a spiegarmi ... :)
in effetti sto cercando di fare una cosa un po' astrusa.
riproviamo:
per creare un menu dinamico utilizzo una tabella in un db.
per fare il display del menu ovviamente utilizzo un ciclo basato sugli
elementi della tabella.
es.
<%
while not rec.eof
%>
   <tr>
   <td><a href=<%=rec("menu_link")%>><%=rec("menu_titolo")%></a></td>
   </tr>
<%
rec.movenext
wend
%>
così con 4 righe di codice riesco a gestire un numero illimitato e
variabile di voci di menu in base alle mie esigenze.
fino a qui credo che sia chiaro.
il problema sorge quando cerco di 'personalizzare' il menu in base agli
utenti che accedono alla procedura, ossia la voce del menu potrebbe
essere presente oppure no a seconda di diversi fattori, ossia
condizioni su campi diversi :
infatti alcune voci sono visibili a tutti, alcune solo ad utenti che
hanno un certo profilo, altre solo a certi utenti selezionati.
per poter applicare queste condizioni, al momento mi sono ingarbugliato
con una serie di if multiple, ma speravo di poter ottenere la stessa
cosa in maniera più semplice.
il problema fondamentale è che non so a priori per ogni voce del menu
quale campo andare a testare, ossia la if che dovrei costruire non può
essere precostituita infatti in un caso sarà :
if a_session(4) = "visual" then
mentre in un altro sarà :
if a_session(0) = "03045670" then
la mia pretesa era di scrivere la condizione come la vedete sopra per
ogni voce del menù all'interno della tabella che contiene le voci del
menù ma poi quando la vado a scrivere il motore asp non riesce ad
interpretarla
infatti io vorrei scrivere
<%
if rec("menu_cond") then
%>
dove rec("menu_cond") contiene 'a_session(4) = "visual"' oppure
'a_session(0) = "03045670"' oppure qualsiasi altra cosa.
spero di essere stato chiaro
grazie a tutti per le risposte e per avere letto fino a qui :)
ciao

 ha scritto nel messaggio 
news:1164362760.9...@45g2000cws.googlegroups.com...

Se hai associato ad ogni voce di menù i gruppi che possono vederla e ad ogni 
utente il suo gruppo, non ti servono tutte ste' if.
Es.
tabMenu
- voce
- autorizzati
[voce] [autorizzati]
Apri        ospite, power user
Chiudi    ospite, power user
Salva    power user
tabUtenti
- utente
- gruppo
[utente]    [gruppo]
Sergio    ospite
Rulvio    power user
Nella variabile di Sessione ci memorizzi il gruppo (chiaramente dopo aver 
autenticato l'utente)
La creazione del recordset per disegnare il menù può essere filtrata subito:
..."Select voce From tabMenu Where autorizzati Like '*" & Session("gruppo") 
& "*'"
E' uno dei tanti modi...
Ciao.
-- 
Sergio MAZZA