ACCESSO ONLINE DATABASE ACCESS CON LIMITAZIONI

mercoledì 15 ottobre 2008 - 22.45

sanjii Profilo | Newbie

Buona sera,

come da oggetto la mia richiesta riguarda la pubblicazione online di un database creato con access.

il database è quello di un club di moto storiche ed è composto da diverse tabelle:

anagrafica soci
anagrafica veicoli
quote versate
sottoclub di provenienza

fino a oggi è stato sufficiente utilizzare il database in condivisione in una rete locale, ma dietro richieste di alcuni sottoclub sarebbe ora di condividerlo tramite il web con pagine di accesso ai dati. Di seguito elenco le necessità:

- una pagina di accesso con una maschera principale per l'anagrafica socio e la sottomaschera con l'anagrafica veicoli (ovviamente a un socio possono essere riferiti più veicoli)
- ogni sottoclub deve accedere a tale pagina potendo vedere solo i propri associati (credo si possa fare tramite una password)
- ogni sottoclub deve poter aggiungere nuovi soci (record) e dunque modificare il database, ma il numero di soci che ogni club può aggiungere deve essere limitato (es: il sottoclub xxx ha acquistato un credito di 10 inserimenti per quanto riguarda gli associati e di 20 per quanto riguarda i veicoli, una volta terminato tale credito il sottoclub non deve poter aggiungere ne soci ne veicoli)
- ogni sottoclub non può modificare i soci o i veicoli già inseriti
- la maschera deve avere un tasto che permetta di unire i dati socio e i dati veicolo in un certificato d'iscrizione che il sottoclub deve poter stampare

Mi pare sia tutto, concludo dicendo che nella tabella anagrafica soci è presente il campo club che indica il sottoclub di appartenenza (lavorando offline si utilizza un menù a tendina, non so se è possibile on line)

spero di essere stato chiaro , rendendomi conto che è un consulto complicato, ringrazio chiunque voglia aiutarmi.
se avete bisogno di ulteriori chiarimenti non esitate a contattarmi

kety Profilo | Newbie

...Molto dipende dalla versione di Acces che hai utilizzato...

In ogni caso io ho risolto un problema simile separando le tabelle dal resto dell'applicativo e creando appunto un BE (BackEnd: dati) ed un FE (FrontEnd: programma) e migrando poi il BE su MySQL (attenzione però che per il codice di accesso ai dati può essere necessario qualche piccolo aggiustamento).

In seguito ho utilizzato un servizio di Database Hosting sul web (ce ne sono molti anche a prezzi modici) trasferendovi i dati ed inserendo nel FE una procedura di connessione ADO.

In questo modo ogni FE (che "gira" in locale e deve essere installato su ogni PC) si connette ai dati pubblicati sul web che sono sempre gli stessi per tutti.

Per quanto riguarda i problemi di limitazione di accesso ai dati sarei propensa a consigliarti di gestirli via codice inserendo nel tuo programma una gestione degli utenti senza utilizzare gli strumenti messi a disposizione da Access perchè in questo modo puoi gestirli liberamente senza le limitazioni (ovvie) delle automazioni "preconfezionate".

Questo metodo può essere "casalingo" ma nel mio caso funziona! Spero di esserti stata utile...

sanjii Profilo | Newbie

ciao, inizio col dire che uso access 2003.

vediamo se ho capito bene ciò che hai scritto:

1. le tabelle del database girano su un server mySQL
2. ogni computer utente ha le maschere e i report per utilizzare e immettere i dati nelle tabelle
3. il punto 2 impone il fatto che ogni utente sia dotato della stessa struttura FE

Giusto?

ma, se ho capito bene, sarei costretto a trasferire i dati in MySQL, cosa che per ora preferisco evitare, senza però dover creare pagine di accesso ai dati online in Php o simili, giusto?

Infine riesci a essere più chiara e dettagliata riguardo a due procedure?

1. collegamento ADO tra parte online e offline ( ho sempre lavorato con Access offline e monoutente per cui non so procedere in tal senso)
2. limitazioni utenti tramite codice (non ho proprio idea di dove cominciare)

in questi ultimi due punti una spiegazione passo passo e qualche esempio di codice sarebbe una manna dal cielo .

Per ora ti ringrazio molto per la soluzione che hai proposto.

PS. parlando sempre di limitazioni per gli utenti, se su ogni computer-utente gira un programma FE apposito ognugno di questi dovrà avere un codice di limitazione ad hoc per quell'utente o forse ho capito male?

kety Profilo | Newbie

Ciao.

Io direi di procedere per gradi...

Tanto per iniziare ti consiglierei di scaricarti il tutorial che trovi a questo indirizzo:

http://www.alessandrobaraldi.it/DettaglioFaq.asp?IdFAQ=281

Se sei "a secco" di nozioni sulla connessione di dati ti può essere molto utile.

Per quanto riguarda il problema degli utenti potresti fare così:

1 crea una serie di "ambienti" che comprenderanno dei pacchetti di azioni possibili (ad es. ambiente Amministrazione comprenderà: creazione nuovi utenti, reset delle PWD utente, percorso di connessione ai dati e tutte quelle attività che devono essere eseguite solo da personale esperto ed autorizzato; ambiente Clienti comprenderà: inserimento nuovi soci, modifica delle anagrafiche, ecc... prevedendo anche la possibilità di diversificare le autorizzazioni per la modifica da quelle di sola visualizzazione)
2 crea una serie di "profili utente" ai quali assegnerai le autorizzazioni dei vari ambienti
3 quando crei un utente nuovo assegnagli un profilo tra quelli del punto 2

Quando l'operatore avvia il programma dovrà fornire il suo nome utente e la sua PWD (o qualsiasi cosa ti sia utile per identificarlo inequivocabilmente) e durante l'utilizzo si troverà a poter fare solo ciò che è consentito dal suo profilo.

Per ottenere questo però ho paura che dovrai fare un discreto lavoro di verifica autorizzazioni e blocco in tutte le forms del tuo applicativo!!!

Buon lavoro


sanjii Profilo | Newbie

mi documenterò e poi magari rispolvero questo post
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5