Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access
Access Forum d'entraide sur Microsoft Access. Avant de poster -> La F.A.Q Access
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 06/09/2007, 12h25   #1
Invité de passage
 
Inscription : août 2004
Messages : 10
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 10
Points : 2
Points : 2
Par défaut projet ADP - Comment gérér le verrouillage des enreg. dans un formulaire

Bonjour à tous,

Je migre une application Access .mdb vers de l'.adp (SQL Serveur).

Je cherche le moyen de "jouer" sur le verrouillage des enregistrements (dans des formulaires) dans le cas d'une modification simultanée d'un même enregistrement par deux utilisateurs.

Sous Access .mdb, il y a RECORDLOCKS qui permet de gérer 3 modes :

Aucun (0)- (Par défaut) Dans les formulaires, deux ou plusieurs utilisateurs peuvent modifier le même enregistrement simultanément. Ce procédé est également connu sous le nom de « verrouillage optimiste ».

Général (1) - Tous les enregistrements de la requête ou de la table sous-jacente sont verrouillés lorsque le formulaire se trouve en mode Formulaire

Enr modifié (2) - Une page d'enregistrements est verrouillée dès qu'un utilisateur commence à modifier un champ de l'enregistrement et le reste aussi longtemps que l'utilisateur ne passe pas à un autre enregistrement.

Quelqu'un connait-il l'équivalent dans les projets ADP ACCESS ?

Merci d'avance de votre aide et bonne journée.

Alain.
alain.nico est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2007, 14h50   #2
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 098
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 098
Points : 11 624
Points : 11 624
Bonjour,

Le verrouillage sous SQL server est automatique, c'est le moteur qui détermine quel est le plus approprié suivant la requete soumise.

On peut même les afficher (les verrous en place) via un select sur la table sys.dm_tran_lock (de mémoire). Suivant la version d'SQL server ils sont plus ou moins "performant".

Voir le forum SQL server ou encore le site MSDN pour plus d'info.

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/11/2008, 15h52   #3
Membre à l'essai
 
Inscription : novembre 2008
Messages : 30
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : novembre 2008
Messages : 30
Points : 21
Points : 21
Par défaut RecordLocks provoque une erreur...

Bonjour,

je cherche également à vérouiller mes enregistrements, mais quand j'utilise RecordLocks et que j'ouvre mon formulaire (avec les données vérouillées donc), un message me dit que la table est déjà ouverte en mode exclusif ou par l'interface utilisateur. J'ai programmé à tout hasard la fermeture de cette table au moment de l'ouverture de mon formulaire, ca ne change rien...

Voici mon code :
Private Sub OuvertureForm_Click()
'Je commence par l'ouvrir en mode création pour effectuer quelques modif et le vérouillage... :
DoCmd.OpenForm "OSC", acDesign
'Je demande une ouverture en mode formulaire double affichage :
Forms!OSC.DefaultView = 5
'Je vérouille les enregistrements :
Forms!OSC.RecordLocks = 1
'Je ferme mon formulaire qui était ouvert en mode création :
DoCmd.Close acForm, "OSC"
'là, j'ai essayé de fermé la table dont on me dit qu'elle est ouverte en mode exclusif, à tout hasard :
DoCmd.Close acTable, "OSC"
'Enfin, j'ouvre mon formulaire ! ;
DoCmd.OpenForm "OSC"
End Sub

Ca m'indique toujours que la table que je veux ouvrir est en mode exclusif ou déjà ouverte par l'interface utilisateur et Access me propose un Débogage.

J'ai déjà essayé DoCmd.SetWarnings Off, ça change rien non plus, mon formulaire refuse de s'ouvrir.
Le problème semble venir de RecordLocks.

Quelqu'un a une idée ?
Merci.
NaïsMouart est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h41.


 
 
 
 
Partenaires

Hébergement Web