Newsgroup: it.comp.appl.access
Titolo: Gestionale con permessi di accesso dettagliati.

Vorrei un consiglio d'ordine generale sull'organizzazione di un gestionale
d'azienda che dovrei fare per un istituto di ricerca e formazione. Visto il
tipo di azienda non ho trovato nessun gestionale che fa al caso nostro, e
quindi dovrei farlo io, in quanto responsabile della rete informatica
dell'istituto (non preoccupatevi nessuno n'è ricaverà dei soldi!).
Il problema centrale consiste a fornire permessi di accesso (lettura,
modifica, aggiunta e eliminazione dati) diversi per ogni casella (testo,
riepilogo e combinata) e per ogni tasto di commando di ogni maschera dei
databases componente il gestionale. E questo per ogni utente (max. 50-60)!
"L'aggravante" è che i permessi cambiano a secondo di quello che ha fatto
l'utente precedente che ha riempito o no la parte di modulo dove ha
l'autorizzazione a farlo. Cioè per esempio, una prima parte di un modulo può
essere riempita solo dagli utenti autorizzati con dati riguardante soltanto
il loro dipartimento. Poi altri possono continuare (in altre caselle di
testo) a terminare il riempimento. Quindi più utenti devono firmare il
modulo, ciascuno potendo farlo solo quando il precedente l'ha fatto (per
rispettare l'iter burocratico!). Infine quando il modulo è completo, nessuno
ha più l'autorizzazione a modificarlo.
Adesso quello che vorrei sapere è se qualcuno conosce il modo migliore (in
tempo macchina, pesantezza di programmazione e di organizzazione delle
tabelle) per organizzare tutte queste autorizzazioni personalizzate per ogni
controllo di ogni maschera e per ogni categoria (separate in tabelle
collegate 1 a inf. ovviamente!) che classificano i dati dei vari databases.
Per esempio pensavo di fare delle tabelle a campi incrociati per ogni
database (contenente un tipo di dati con le relative maschere per la loro
gestione), dove i campi sarebbero i nomi dei controlli delle maschere, e
anche i records contenenti le categorie che classificano i dati (le
categorie sono sempre dell'ordine di poche decine). Poi ogni record di
queste tabelle a campi incrociati sarebbe un utente con tutte le sue
autorizzazioni (ovviamente ci sarebbe un collegamento 1 a 1 con la tabella
utenti). E questo sarebbe per le autorizzazioni "fisse" per quando si
riempie un modulo nuovo o per chi consulta e/o modifica dei dati.
Suppongo quindi che lo stesso va fatto per ogni modulo che viene riempito
poco a poco. Quindi è probabile che tutti i moduli che si stanno riempiendo
avranno le stesse tabelle, però temporanee, con le autorizzazioni che
variano.
Per finire, l'aggiunta di codice che gestisce le autorizzazioni verrà
aggiunto dopo aver fatto le maschere, che avranno già il loro codice. Questo
perché si prevede che più persone (anche meno esperte) faranno
indipendentemente le loro maschere che dovrò aggiungere al gestionale.
Vorrei quindi trovare anche un modo elegante per aggiungere la gestione
delle autorizzazioni senza dover rittoccare troppo in profondità il codice
che avranno fatto per le loro maschere.
Non ho letto tutti i messaggi (!) del vostro newsgroup, ma ho l'impressione
che domande così non sono ancora state fatte. E visto le risposte che
fornite a certe domande fatte da ovvi principianti (alcune volte meritate!),
spero soltanto di non meritarmi una risposta del genere "chiedi a babbo
natale"!
Buona riflessione...

Buona riflessione...
Grazie, ma...piu' che un consiglio tecnico stai chiedendo una vera e propria
analisi. Impossibile darti delle risposte, non per pigrizia o altro ma
perche' l'analisi si fa con il cliente, parlando, parlando, parlando. E solo
tu puoi farla. Anche perche' mi sembrano problematiche piuttosto particolari
e non generalizzabili. Ed inoltre l'analisi e' spesso un fatto non
scientifico ma "filosofico", per cui potresti trovare piu' soluzioni al tuo
problema, fra le quali quella giusta e' individuabile solo sulla base dei
gusti del programmatore. Cioe' te.
Buon lavoro!
Luciano

 wrote in message 87kl2g$amq$3...@news.mclink.it...

Beh si, credo che hai effettivamente ragione, e ho chiesto subito troppo. La
prossima volta porrň una domanda alla volta, e che sia piů tecnica.
Thierry


Cmq io ho risolto una cosa simile utilizzando la sicurezza di Access,
creando N. gruppi ed assegnado (tramite una tabella) autorizzazioni a
maschere e controlli ad ogni singolo gruppo.
Via codice e leggendo il gruppo di appartenenza dell'utente e la tabella
autorizzazioni ho creato una funzione che ritorna il valore True o False per
la proprietà Enabled o Visible.
Se ti serve...
ciao
Fabio