J'ai une application VBA qui est crachée en deux pour l'extrémité avant; et backend tout en mettant à jour comment empêcher deux utilisateurs de l'éditer ??Enregistrer le verrouillage dans vba
Répondre
Yoy peut essayer d'invoquer verrouillage pessimiste
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Set cnn = New ADODB.Connection
cnn.ConnectionString = " Provider=sqloledb;" & _
"Data Source=(local);Initial Catalog=pubs;uid=sa;pwd="
cnn.Open
Set rst = New ADODB.Recordset
rst.ActiveConnection = cnn
rst.CursorType = adOpenKeyset
rst.LockType = adLockPessimistic 'Invoke Pessimistic Locking
rst.CursorLocation = adUseServer
rst.Open "Select * from Table Where ID ='" _
& strID & "'", _
Options:=adCmdText
rst!Name = "New name" 'Lock occurs here
'... when it is locked, you may do other operations
rst.Update 'Lock Released Here
Vous devrez mettre en œuvre la gestion des erreurs, parce que quand 2ème client veut modifier et ne peut pas verrouiller le dossier lors de délai d'attente, l'erreur sera soulevée.
Cependant le verrouillage pessimiste est pas le meilleur scénario, je pense à verrouillage optimiste et soit Wins première ou la dernière stratégie Wins
Voici un livre en ligne Alison Balter's mastering Microsoft Access 2000 development, il devrait vous aider.
L'accès est verrouillé. De Access:
Spécifiez le niveau de verrouillage utilisé dans une base de données Access dans un environnement multi-utilisateur
Dans le menu Outils, cliquez sur Options.
Cliquez sur l'onglet Avancé.
Pour faire le verrouillage d'enregistrement le nouveau réglage par défaut pour la actuelle base de données Microsoft Access, sélectionnez les Ouvrir avec case à cocher de verrouillage niveau de l'enregistrement .
Pour verrouiller le nouveau paramètre par défaut pour la base de données Access actuelle, désactivez les cases à cocher Ouvrir à l'aide de la case à cocher de verrouillage du niveau d'enregistrement .Remarques
Ce paramètre a lieu la prochaine fois que vous ouvrez la base de données Access, mais vous doit utiliser la commande Ouvrir dans le menu Fichier plutôt que la liste de la plupart fichiers récemment utilisés à la fin de le menu Fichier . Ce comportement est le même que le paramètre pour le mode ouvert par défaut.
Si vous sélectionnez Ouvrir avec verrouillage d'enregistrement de niveau, cela devient le comportement par défaut pour l'accès aux données par une forme, une feuille de données et le code qui utilise un objet recordset à boucle dans les dossiers, mais pas par requêtes d'action, ni via le code que effectue des opérations en bloc à l'aide des instructions SQL . Pour plus d'informations, voir Chapitre 16, «Base de données multi-utilisateur Applications», dans le Guide du programmeur Microsoft Office 2000/Visual Basic.