> io, in ogni maschera che introduce i dati nuovi o li aggiorna o li
> cancella, nella finestra delle proprietà, alla proprietà Blocco Record
> ho scelto Record modificati.
> Basta questa scelta per rendere l'applicazione "realmente multiutente"
> o devo scrivere delle routine che prima di registrare un record vadano
> a controllarne il contenuto con quello precedente e aggiornare solo se
> non ci sono state variazioni prodotte nel frattempo da altri utenti?
> .
ciao
(mi riferisco ad ac2000)
nel caso di modifiche concorrenti (sullo stesso record da diversi utenti)
compariranno gli avvisi di access, del tipo "un altro utente ha modificato
questo record...che famo?" e dovrà scegliere l'utente cosa fare, se
sovrascrivere le modifiche dell'altro o rinunciare alle proprie.
Se vuoi fare meglio dovresti usare una tbl di semafori nel BE; l'utente vede
i dati in sola consultazione, ogni volta che chiede la modifica, prima di
aprirgli una form su quel record metto nella tbl di semaforo un record con
nome tbl, idrecord, nome utente, data e ora; ovviamente uscendo dalla form di
modifica elimino quel record.
Ovviamente prima di entrare in modifica del record controllo che non sia già
in modifica da un altro utente (cerco nella trbl semaforo un record con quel
nome tbl e idrecord), se sì gli dico che non può modificare (un po' come
quando cerci di aprire un doc già aperto da un altro utente).
Per sicurezza, all'uscita dalla procedura elimino tutti i semafori dell'utente
Sicuramente ci sarà un modo migliore, ma io mi trovo bene così.
ciao
maurizio
Meglio sarebbe intercettare gli errori restituiti perche' il record e'
bloccato da altra postazione
Ma la cosa fondamentale nel caso di utilizzo in multiutenza e' abbandonare
gli mdb e far tenere i dati ad un qualsiasi db server
Le schermate falle pure con Access ma i dati falli tenere a chi e' nato per
quello, vedi Sql Server, Oracle, Db2, Informix, Mysql, ecc
Io ti consiglio Firebird o Postgresql, affidabili, documentati, ampia
comunita', aggratisse