|
|
|
|
|
Dicas
|
|
Visual Basic (Banco de Dados)
|
|
|
Título da Dica: Evitando Erros de Atualização em Bases Access (DAO)
|
|
|
|
Postada em 11/8/2003 por d@®l@n
Evite o erro de acesso 3260 ("Couldn't update; currently record is locked by user '' on machine ''"), que ocorre quando duas ou mais aplicações acessam a mesma tabela de uma base de dados Access (Jet). O acesso é realizado por objetos recordset (como table ou dynaset), sobre uma tabela que contenha uma chave (primária ou não).
Se uma das aplicações está ociosa (apenas abriu o registro e ainda não o alterou) e outra aplicação tenta alterar ou adicionar dados, o erro citado ocorre. Para evitar este problema, inclua o método Idle dbFreeLOcks após o recordset ser aberto. Se for um table recordset, inclua-o após ter definido a propriedade Index. Veja um exemplo:
Set db = Workspaces(0).Opendatabase("Test.mdb") Set TB = Db.OpenRecordSet("Customer_Master", dbOpenTable) TB.Index = "PrimaryKey" DB.Engine.Idle (dbFreeLocks)
|
|
|
|
|