Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Modélisation
Modélisation Le forum qui vous aide à résoudre vos questions relatives à la modélisation (tables et relations) de votre base de données sous Access. Pour les états et les formulaires, postez dans le forum IHM.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/03/2011, 10h49   #1
Membre expérimenté
 
Inscription : juillet 2005
Messages : 555
Détails du profil
Informations personnelles :
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : juillet 2005
Messages : 555
Points : 578
Points : 578
Par défaut Verrouillage et déverrouillage

Bonjour,

Ce problème a déjà été exposé sans doute.

Je dois verrouiller un formulaire avant enregistrement si cet enregistrement a été chargé sur un autre poste.

Comment faire pour verrouiller un seul enregistrement sachant que chaque enregistrement représente une quantité extrêmement faible de données quelques octets.

Lorsque l’on base le formulaire sur une requête access verrouille trop d’enregistrements et cela fausse le verrouillage.

J’ai l’idée de créer une table de verrous dans laquelle, au chargement du formulaire j’ajoute un enregistrement avec le champ contenant l'index de l'enregistrement à verrouiller, puis au déchargement j’efface ce dernier.

Est-ce une bonne idée ?
N’y-a-t-il pas mieux ?
a bientôt
naphta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2011, 15h48   #2
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 3 939
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Maintenance données produits
Secteur : Distribution

Informations forums :
Inscription : décembre 2005
Messages : 3 939
Points : 6 278
Points : 6 278
Bonjour,

Regarde Modifier le paramètre de verrouillage au niveau de la page ou de l'enregistrement.
Ça permet de choisir la granularité du verrouillage.
Ensuite, au niveau des requêtes et des formulaires, tu peux choisir entre verrouillage optimiste ou pessimiste («Aucun» ou «Enr modifié»).

A+
LedZeppII est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2011, 16h15   #3
Membre expérimenté
 
Inscription : juillet 2005
Messages : 555
Détails du profil
Informations personnelles :
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : juillet 2005
Messages : 555
Points : 578
Points : 578
Par défaut les verrous

Merci du rappel Led Zepp2

J’ai l’impression de l’avoir déjà demandé et d’avoir déjà essayé, mais je vais recommencer.

Le client veut un verrou violent style interdiction stricte d'entrer dans les zones de saisies.

Bon WE
naphta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/03/2011, 13h19   #4
Membre Expert
 
Homme Michel
Ingénieur développement logiciels
Inscription : mai 2005
Messages : 1 584
Détails du profil
Informations personnelles :
Nom : Homme Michel
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2005
Messages : 1 584
Points : 2 143
Points : 2 143
Bonjour,
Citation:
J’ai l’idée de créer une table de verrous dans laquelle, au chargement du formulaire j’ajoute un enregistrement avec le champ contenant l'index de l'enregistrement à verrouiller, puis au déchargement j’efface ce dernier.
Est-ce une bonne idée ?
Après avoir essayé maints paramètrages sur les formulaires, je n'ai pas trouvé de verrouillage fiable intégré à Access Aussi je pense que OUI c'est une bonne solution de gérer une table des verrous dans laquelle tu mets les enregistrements verrouillés par qui et quand.
Bien cogiter aussi le déverrouillage : normalement l'utilisateur qui a verrouillé, déverrouille quand il quitte le formulaire mais il faut blinder l'appli en prévoyant des cas d'exceptions .
__________________
"tout le monde veut sauver la planète, mais personne ne veut descendre les poubelles." J Yanne
micniv est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 11/03/2011, 18h58   #5
Membre expérimenté
 
Inscription : juillet 2005
Messages : 555
Détails du profil
Informations personnelles :
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : juillet 2005
Messages : 555
Points : 578
Points : 578
Par défaut mauvaise idée

Bonsoir,

Bon ça marche avec la fameuse table de verrous !

Je ne voulais pas lier le formulaire à un requête ou une table par souci de performances. Donc pas de verrous, dernier arrivé dernier servi, pas bon.

Alors j'ai l'idée d'une table de verrous, on enregistre juste l'index de l'enregistrement ouvert dans cette table puis on le supprime après lecture/modification. On bloque le prochain utilisateur si l'index présent dans la table.

mais le souci c'est : que ce passe-t-il après un plantage ?

alors c'est une très mauvaise idée que j'abandonne.

a+
naphta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2011, 09h37   #6
Membre Expert
 
Homme Michel
Ingénieur développement logiciels
Inscription : mai 2005
Messages : 1 584
Détails du profil
Informations personnelles :
Nom : Homme Michel
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2005
Messages : 1 584
Points : 2 143
Points : 2 143
Non, Naphta, ce n'est pas une si mauvaise idée quand même !
Dans ma prochaine appli, il m'est demandé de maitriser le verrouillage et de pouvoir afficher le nom de l'utilisateur qui verrouille un enregistrement.
Pour ce, je compte :
. créer un maximum de formulaires indépendants(pour la performance et la disponibilité en réseau) (pas mal de code en perspective n'est-ce pas !)
. créer une table de verrouillage comme exposé par Naphta.
Pour gérer les plantages, je prévois 2 choses :
. chaque fois qu'un utilisateur se connecte à l'appli, tous les verrous associés à son nom donc (laissés depuis le précédent plantage éventuel) sont supprimés
. un utilisateur de profil ADMIN peut supprimer les verrous manuellement.

Maintenant à la pratique
__________________
"tout le monde veut sauver la planète, mais personne ne veut descendre les poubelles." J Yanne
micniv est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 18h45   #7
Membre expérimenté
 
Inscription : juillet 2005
Messages : 555
Détails du profil
Informations personnelles :
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : juillet 2005
Messages : 555
Points : 578
Points : 578
Par défaut Oui, oui

Bonjour,

Merci micniv !

j'avais bien pensé à ajouter le user par son login avec "environ"
mais fallait que je rende l'appli vite ! et ça ramolli le cerveau.


ton idée de nettoyage est parfaite,
je dois faire de nouvelles modifs à ce client
je vais tester ton idée !

super merci

A bientôt
naphta est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h27.


 
 
 
 
Partenaires

Hébergement Web