|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : août 2004 Messages : 10 ![]() |
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. |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Fabrice CONSTANSIngénieur développement logiciels Inscription : avril 2005 Messages : 7 098 ![]() |
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 |
|
00
|
|
|
#3 |
|
Membre à l'essai
![]() Inscription : novembre 2008 Messages : 30 ![]() |
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. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com