Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

sécurisation et fiabilisation d'une base Access en réseau

1 réponse
Avatar
Jean-Pierre Collombet
Bonjour

Je dois construire dans mon entreprise une base Access=20
(version 97) en r=E9seau.
Cette base est destin=E9e a =EAtre utilis=E9e par 50 personnes=20
en saisie et en consultation.

En fait, j'ai d=E9doubl=E9 la base (recopiage durant la nuit)=20
pour qu'une serve =E0
la saisie te l'autre =E0 la consultation.

mon souci premier est de g=E9rer les conflits d'acc=E8s en=20
=E9criture =E0 la table principale.
En faisant des tests de saisie pouss=E9s sur 3 postes=20
sumulat=E9ment, je me suis heurt=E9 =E0 l'erreur d'=E9x=E9cution=20
3202 " table actuellement verrouill=E9 par un autre=20
utilisateur".

Il est vrai que j'ai, peut-=EAtre, un peu "forc=E9" le test=20
puisque j'ai rentr=E9 des dizaines d'enregistrements en une=20
minute, mais ceci dans un souci de reproduire la saisie=20
potentielle de 50 personnes simultan=E9ment.

pour parer =E0 cette erreur, j'ai relev=E9 dans les "options=20
avanc=E9es" le param=E8tre "nombre de tentatives de mise =E0=20
jour" de 2 =E0 5.
Effectivement je n'ai pas retrouv=E9 l'erreur, mais existe=20
t'il d'autre(s) param=E8tre(s) permettant =E9galement de plus=20
s=E9curiser et de g=E9rer ce type d'erreur. je pense notamment=20
au param=E8tre de "verrouillage" pour lequel je n'ai=20
p=E9cis=E9 "aucun"
=20
A noter que la saisie des infos se fait par un formulaire=20
avec les =E9mthodes "opendatabse", "openrecordset", "Addnew"=20
et "update".

Dois-je peut =EAtre aussi faire deux sous-bases qui iront en=20
alimenter une 3=E8me ?

Le deuxi=E8me aspect, apr=E8s la saisie, est la consultation :=20
limiter aussi le traffic sur la bande passante.
Access n'=E9tant pas du client-serveur, lors d'une requ=EAte,=20
l'ensemble du contenu de la table interrog=E9e est rapatri=E9=20
et ex=E9cut=E9 en local.
je me demandais si en interrogeant la base Access en=20
r=E9seau par Excel, via MS Query et ODBC, le traffic
en aurait =E9t=E9 all=E9g=E9 ?

Je vous remercie d'une =E9ventuelle r=E9ponse

Cordialement

1 réponse

Avatar
Raymond [mvp]
Bonjour.

il faudrait que tu mette les blocages par défaut, quand même:
cocher mode partagé
cocher enregistrement modifié
cocher ouvrir avec enregistrement verrouillés
sur le formulaire mettre aussi verrouillage : Enr Modifié

prend aussi la précaution de placer cet événement:
Private Sub Form_AfterUpdate()
Me.Refresh
End Sub
dans le formulaire principal et tous les sous-formulaires.
le tout devrait améliorer la situation.

AMHA, je réfléchirait fortement à une solution SQL serveur compte tenu du
nombre d'utilisateurs.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Jean-Pierre Collombet" a écrit dans
le message de news:297801c47e07$84a14990$
Bonjour

Je dois construire dans mon entreprise une base Access
(version 97) en réseau.
Cette base est destinée a être utilisée par 50 personnes
en saisie et en consultation.

En fait, j'ai dédoublé la base (recopiage durant la nuit)
pour qu'une serve à
la saisie te l'autre à la consultation.

mon souci premier est de gérer les conflits d'accès en
écriture à la table principale.
En faisant des tests de saisie poussés sur 3 postes
sumulatément, je me suis heurté à l'erreur d'éxécution
3202 " table actuellement verrouillé par un autre
utilisateur".

Il est vrai que j'ai, peut-être, un peu "forcé" le test
puisque j'ai rentré des dizaines d'enregistrements en une
minute, mais ceci dans un souci de reproduire la saisie
potentielle de 50 personnes simultanément.

pour parer à cette erreur, j'ai relevé dans les "options
avancées" le paramètre "nombre de tentatives de mise à
jour" de 2 à 5.
Effectivement je n'ai pas retrouvé l'erreur, mais existe
t'il d'autre(s) paramètre(s) permettant également de plus
sécuriser et de gérer ce type d'erreur. je pense notamment
au paramètre de "verrouillage" pour lequel je n'ai
pécisé "aucun"

A noter que la saisie des infos se fait par un formulaire
avec les émthodes "opendatabse", "openrecordset", "Addnew"
et "update".

Dois-je peut être aussi faire deux sous-bases qui iront en
alimenter une 3ème ?

Le deuxième aspect, après la saisie, est la consultation :
limiter aussi le traffic sur la bande passante.
Access n'étant pas du client-serveur, lors d'une requête,
l'ensemble du contenu de la table interrogée est rapatrié
et exécuté en local.
je me demandais si en interrogeant la base Access en
réseau par Excel, via MS Query et ODBC, le traffic
en aurait été allégé ?

Je vous remercie d'une éventuelle réponse

Cordialement