Locing records i nmulti user

L

Luciano

Hi
I have a multi-user Access 2003/2007 database. In mono user mode everything
works fine, but in multi user mode there seems to be occasionally a Conflict
message giving the users to either Save Record, Copy to Clipboard or Drop
Changes.

I open my tables something like:

Public Function OpenTable(strTableName As String) As DAO.Recordset
On Error GoTo FoutOpenTable
Set ws = DBEngine.Workspaces(0)
Set db = DBEngine.Workspaces(0).Databases(0)
Set OpenTable = db.OpenRecordset(strTableName, dbOpenTable)
ExitFoutOpenTable:
Set db = Nothing
Exit Function
FoutOpenTable:
MsgBox "FoutOpenTable"
Resume ExitFoutOpenTable
End Function

Can sombody help me?
 
J

John W. Vinson

Hi
I have a multi-user Access 2003/2007 database. In mono user mode everything
works fine, but in multi user mode there seems to be occasionally a Conflict
message giving the users to either Save Record, Copy to Clipboard or Drop
Changes.

I open my tables something like:

Public Function OpenTable(strTableName As String) As DAO.Recordset
On Error GoTo FoutOpenTable
Set ws = DBEngine.Workspaces(0)
Set db = DBEngine.Workspaces(0).Databases(0)
Set OpenTable = db.OpenRecordset(strTableName, dbOpenTable)
ExitFoutOpenTable:
Set db = Nothing
Exit Function
FoutOpenTable:
MsgBox "FoutOpenTable"
Resume ExitFoutOpenTable
End Function

Can sombody help me?

If two users are attempting to edit the same record at the same time you will
in fact get this error. It's just a statement of fact: another user DOES have
the record open, and some decision must be made about which user's
incompatible changes are to be accepted and which to be rejected.

One big question - why why WHY are you (apparently) opening a table and
displaying the table datasheet to the user? Users should interact with data
using Forms, based on Queries; as a rule they should never even *SEE* a table.
 
L

Luciano

No, the databse is not split; I tried it, but it takes about factor five more
time to update a fieldand that is must to slow.
 
J

John W. Vinson

I don't allow my users to access the tables; the whole application is based
on forms.

Sorry my clairvoyance wasn't working.

Given that... how are you using this OpenTable function? What purpose does it
serve?
 
L

Luciano

It's about 9 years ago I learned in an Access-trainig to open tables in VBA
with this method. I use the 'Seek' in a indexed table to update or delete
records. It works perfect and very fast. My application has hunderds and
hunderds lines of VBA-code and is running by 7 clients (plannification in the
ballooning-world). Ther are two multi- clients that happens to have
occasionally problems with multi-usering (some records have in some fields a
sort of unreadable chinese characters and very very large number: this make
crash my applicion).
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top