Newsgroup: it.comp.appl.access
Titolo: DB su server: come fare?

Salve al tutto il NG.
Questo è un problema già postato, ma non sono riuscito a risolverlo
malgrado i vostri suggerimenti; mi spiego.
Il mioDB sta in una cartella del server al quale possono accedere
solo 4 Client. All'apertura del DB viene richiesto un Login (fatto da VBA),
che permette di stabilire l'utente che avrà permessi di lettura o anche
scrittura (fatti da VB sempre).
Il problema è che Access non permette l'accesso a più Client e dal secondo
Client in poi che tenta di entrare....,Access si pianta.
E' chiaro che sbaglio procedura.
Ho creato un database BE, ma... stesso risultato.
Vorrei che il DB fosse un MDE per evitare che qualche sprovveduto, mi
rovinasse il lavoro di 2 mesi.
La domanda finale è questa:
Potreste spiegarmi, passo-passo, come devo fare per permettere l'accesso a
tutti i Client in contemporanea?
Grazie per il vostro aiuto e per la vostra pazienza.
Giampaolo
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 ha scritto nel messaggio news:boqffp$fvo$1...@news.newsland.it...

per l'accesso contemporaneo (parlo solo di access) dovresti (almeno io faccio così) fare in questo
modo:
crei un db con le tabelle (BE)
crei un db (FE) (che poi lo distribuirai in versione mde o come preferisci) contenente le query,
maschere, ecc
colleghi al FE le tabelle del BE
dai ad ogni client il suo FE
in questo modo non hai problemi di accesso simultaneo

 in questo modo non hai problemi di accesso simultaneo
OK proverò così,
Grazie
PS = Se non ci riesco..... riposterò.


 tutti i Client in contemporanea?
Da questa frase penso di capire che prima, parlando di VB, intendevi parlare
di VBA ossia del codice che inserisci nel file mdb.
Quindi si ritorna all'impostare l'accesso condiviso nelle opzioni.
Inoltre un login fatto a mano non e' una vera protezione, conviene impostare
una protezione a livello utente (vedi sitocomune)
Sib


Si, hai ragione intendevo Visual Basic Application e non Visual Basic
Per quanto riguarda la protezione a livello di utente (SitoComune).... ho
provato
ma il risultato è sato avere ACCESS che mi chiede password di utenti e
datbase che non si
aprono più.
Ho risolto con il BE sul server e ho distribuito ai Client la copia creata.
Il problema, ora, è la lentezza del refresh dei dati (anche 2 minuti!!!... e
ci sono pochissimi record max 120)
Penso che sia anche un problema del Server e non solo di versione di Access
(A2000)
Giusto?
Giampaolo

 "Sib" <sedav...@SPAMtiscali.it> ha scritto nel messaggio

2 minuti e' qualcosa di impossibile.
Che macchine hai (HW e SW) che server hai, che rete hai?
Sib


I Client hanno tutti Windows 2000 e Access 2000
Il server anche:
La rete è normale rete LAN da ufficio con circa 35 Client collegati.
Per il DB in questione solo 4 possono accedere alla cartella del db FE.
Io di rete ne capisco veramente poco, ma credo che dal server si possa
intevenire sulla
possibilità di "rinfrescare" i dati ogni XXX secondi.
Per tempo di refresh, io intendo questo:
da un Client XX digito il dato 100 e dal momento in cui clicco invio o
cambio controllo, passano
circa 2 minuti per vedere 100 nell'altro Client YY.
Ho provato a parlare con l'Amm. di sistema, ma mi ha detto "che non lo sa
fare!!" (è un super
pivellino)
Mi potresti suggerire qualcosa tu?
Giampaolo

 Mi potresti suggerire qualcosa tu?
perche' hai l'esigenza che i tuoi utenti vedano subito i dati inseriti da un
altro?
in base a questo motivo esistono numerose soluzioni possibili.
Sib


Devo vedere subito i dati immessi, perchè 3 Client possono fare le stesse
operazioni e,
non vedendo quel dato, potrebbe succedere che:
a)  lo stesso record immesso 2 volte (impossibile perchè lo controllo da VBA
se però il secondo Client lo vede!)
b) un dato XXX immesso potrebbe influenzare le altre immissioni.
E' un po' difficile da spiegare ma i dati devo vederli in tempo reale o
almeno ragionevole (2 o 3 secondi !)
P.S. ho provato a mettere un tasto su ogni maschera (docmd.refresh), ma
stesso
risultato.
Giampaolo