I have created a database for a client and was told that it was to be a
one-user database. Well, you know the next statement ... now they want 3
people to be able to use the database. (FYI, I have never created a
database for multiusers. I've done some searching but not finding what I
want.)
I have split the database. In Tools, Options, I have set the following:
Default open mode = Shared
Default record locking = Edited Record
Checked Open databases using record-level locking
And this is some of the code behind one of my forms:
Private Sub Form_Open(Cancel As Integer)
If Me.RecordLocks <> 2 Then
Me.RecordLocks = 2 'lock at the record level
End If
End Sub
Private Sub Form_Dirty(Cancel As Integer)
Me.cmdSave.Visible = True
Me.cmdUndo.Visible = True
Me.cmdAdd.Visible = False
Me.ComboStudent.Enabled = False
Me.cmdDelete.Visible = False
End Sub
I reset the above in Form_Current.
In testing to see how my form will react, I opened the database twice and
tried to edit the same record. I get the Locked Record Indicator but
Form_Dirty is activated if they attempt to make a change, so the Save and
Undo buttons appear, but the user can't change anything.
Is there a way to capture the Locked Record Indicator? Or what can I do so
the Form_Dirty doesn't activate? I thought it would be a nice feature to
use a msgbox to tell the 2nd user that someone else is editing the same
record.
I will have a lot of forms to change so the easiest way I can do this the
better.
Thanks in advance for any suggestions/help,
Debbie 6 5607
On Fri, 7 May 2004 00:56:21 -0500, "DebbieG"
<debbieg@accessus-REMOVE-THIS-.net> wrote:
Optimistic locking (.RecordLocks=0) typically is sufficient. This
means multiple users can edit the same record at the same time, and if
they save, the one that was a millisecond quicker to hit the button
saves first, immediately being overwritten by the changes made by the
other user. Typically that is fine.
I don't think there is a way to do what you asked - capture the Locked
Record indicator. However, you can train your users on observing it.
-Tom. I have created a database for a client and was told that it was to be a one-user database. Well, you know the next statement ... now they want 3 people to be able to use the database. (FYI, I have never created a database for multiusers. I've done some searching but not finding what I want.)
I have split the database. In Tools, Options, I have set the following:
Default open mode = Shared Default record locking = Edited Record Checked Open databases using record-level locking
And this is some of the code behind one of my forms:
Private Sub Form_Open(Cancel As Integer) If Me.RecordLocks <> 2 Then Me.RecordLocks = 2 'lock at the record level End If End Sub
Private Sub Form_Dirty(Cancel As Integer) Me.cmdSave.Visible = True Me.cmdUndo.Visible = True Me.cmdAdd.Visible = False Me.ComboStudent.Enabled = False Me.cmdDelete.Visible = False End Sub
I reset the above in Form_Current.
In testing to see how my form will react, I opened the database twice and tried to edit the same record. I get the Locked Record Indicator but Form_Dirty is activated if they attempt to make a change, so the Save and Undo buttons appear, but the user can't change anything.
Is there a way to capture the Locked Record Indicator? Or what can I do so the Form_Dirty doesn't activate? I thought it would be a nice feature to use a msgbox to tell the 2nd user that someone else is editing the same record.
I will have a lot of forms to change so the easiest way I can do this the better.
Thanks in advance for any suggestions/help, Debbie
Tom,
Thank you for your response. I do not want users to be able to edit the
same record at the same time so I have to keep it the way it is. However,
when I try to edit a locked record, it does beep and doesn't allow editing.
Isn't there a way to capture this somehow? Access knows it is locked, so
why does it think the record is dirty when they attempt to edit? What I
really want is for the Save and Undo button not to appear. That is their
clue that they can do something.
Thanks,
Debbie
"Tom van Stiphout" <to*****@no.spam.cox.net> wrote in message
news:vo********************************@4ax.com...
On Fri, 7 May 2004 00:56:21 -0500, "DebbieG"
<debbieg@accessus-REMOVE-THIS-.net> wrote:
Optimistic locking (.RecordLocks=0) typically is sufficient. This
means multiple users can edit the same record at the same time, and if
they save, the one that was a millisecond quicker to hit the button
saves first, immediately being overwritten by the changes made by the
other user. Typically that is fine.
I don't think there is a way to do what you asked - capture the Locked
Record indicator. However, you can train your users on observing it.
-Tom. I have created a database for a client and was told that it was to be a one-user database. Well, you know the next statement ... now they want 3 people to be able to use the database. (FYI, I have never created a database for multiusers. I've done some searching but not finding what I want.)
I have split the database. In Tools, Options, I have set the following:
Default open mode = Shared Default record locking = Edited Record Checked Open databases using record-level locking
And this is some of the code behind one of my forms:
Private Sub Form_Open(Cancel As Integer) If Me.RecordLocks <> 2 Then Me.RecordLocks = 2 'lock at the record level End If End Sub
Private Sub Form_Dirty(Cancel As Integer) Me.cmdSave.Visible = True Me.cmdUndo.Visible = True Me.cmdAdd.Visible = False Me.ComboStudent.Enabled = False Me.cmdDelete.Visible = False End Sub
I reset the above in Form_Current.
In testing to see how my form will react, I opened the database twice and tried to edit the same record. I get the Locked Record Indicator but Form_Dirty is activated if they attempt to make a change, so the Save and Undo buttons appear, but the user can't change anything.
Is there a way to capture the Locked Record Indicator? Or what can I do so the Form_Dirty doesn't activate? I thought it would be a nice feature to use a msgbox to tell the 2nd user that someone else is editing the same record.
I will have a lot of forms to change so the easiest way I can do this the better.
Thanks in advance for any suggestions/help, Debbie
On Fri, 7 May 2004 09:52:40 -0500, "DebbieG"
<debbieg@accessus-REMOVE-THIS-.net> wrote:
I know Access knows. But it is not exposing that to the developer,
afaik.
I do agree with you that it's strange that the Dirty event fires for
the second user. I noticed that too when I ran a test. This seems
contra to what the help file says about the Dirty event. Perhaps we
can resort to some trickery to detect we can't edit, and then not
enable the buttons:
Private Sub Form_Dirty(Cancel As Integer)
If Me.Dirty Then
Me.cmdSave.Visible = True
Me.cmdUndo.Visible = True
Me.cmdAdd.Visible = False
Me.ComboStudent.Enabled = False
Me.cmdDelete.Visible = False
End If
End Sub
-Tom. Tom,
Thank you for your response. I do not want users to be able to edit the same record at the same time so I have to keep it the way it is. However, when I try to edit a locked record, it does beep and doesn't allow editing. Isn't there a way to capture this somehow? Access knows it is locked, so why does it think the record is dirty when they attempt to edit? What I really want is for the Save and Undo button not to appear. That is their clue that they can do something.
Thanks, Debbie
"Tom van Stiphout" <to*****@no.spam.cox.net> wrote in message news:vo********************************@4ax.com.. . On Fri, 7 May 2004 00:56:21 -0500, "DebbieG" <debbieg@accessus-REMOVE-THIS-.net> wrote:
Optimistic locking (.RecordLocks=0) typically is sufficient. This means multiple users can edit the same record at the same time, and if they save, the one that was a millisecond quicker to hit the button saves first, immediately being overwritten by the changes made by the other user. Typically that is fine.
I don't think there is a way to do what you asked - capture the Locked Record indicator. However, you can train your users on observing it.
-Tom.
I have created a database for a client and was told that it was to be a one-user database. Well, you know the next statement ... now they want 3 people to be able to use the database. (FYI, I have never created a database for multiusers. I've done some searching but not finding what I want.)
I have split the database. In Tools, Options, I have set the following:
Default open mode = Shared Default record locking = Edited Record Checked Open databases using record-level locking
And this is some of the code behind one of my forms:
Private Sub Form_Open(Cancel As Integer) If Me.RecordLocks <> 2 Then Me.RecordLocks = 2 'lock at the record level End If End Sub
Private Sub Form_Dirty(Cancel As Integer) Me.cmdSave.Visible = True Me.cmdUndo.Visible = True Me.cmdAdd.Visible = False Me.ComboStudent.Enabled = False Me.cmdDelete.Visible = False End Sub
I reset the above in Form_Current.
In testing to see how my form will react, I opened the database twice and tried to edit the same record. I get the Locked Record Indicator but Form_Dirty is activated if they attempt to make a change, so the Save and Undo buttons appear, but the user can't change anything.
Is there a way to capture the Locked Record Indicator? Or what can I do so the Form_Dirty doesn't activate? I thought it would be a nice feature to use a msgbox to tell the 2nd user that someone else is editing the same record.
I will have a lot of forms to change so the easiest way I can do this the better.
Thanks in advance for any suggestions/help, Debbie
THAT DID IT! You're wonderful!
Thanks,
Debbie
"Tom van Stiphout" <to*****@no.spam.cox.net> wrote in message
news:vv********************************@4ax.com...
On Fri, 7 May 2004 09:52:40 -0500, "DebbieG"
<debbieg@accessus-REMOVE-THIS-.net> wrote:
I know Access knows. But it is not exposing that to the developer,
afaik.
I do agree with you that it's strange that the Dirty event fires for
the second user. I noticed that too when I ran a test. This seems
contra to what the help file says about the Dirty event. Perhaps we
can resort to some trickery to detect we can't edit, and then not
enable the buttons:
Private Sub Form_Dirty(Cancel As Integer)
If Me.Dirty Then
Me.cmdSave.Visible = True
Me.cmdUndo.Visible = True
Me.cmdAdd.Visible = False
Me.ComboStudent.Enabled = False
Me.cmdDelete.Visible = False
End If
End Sub
-Tom. Tom,
Thank you for your response. I do not want users to be able to edit the same record at the same time so I have to keep it the way it is. However, when I try to edit a locked record, it does beep and doesn't allow editing. Isn't there a way to capture this somehow? Access knows it is locked, so why does it think the record is dirty when they attempt to edit? What I really want is for the Save and Undo button not to appear. That is their clue that they can do something.
Thanks, Debbie
"Tom van Stiphout" <to*****@no.spam.cox.net> wrote in message news:vo********************************@4ax.com.. . On Fri, 7 May 2004 00:56:21 -0500, "DebbieG" <debbieg@accessus-REMOVE-THIS-.net> wrote:
Optimistic locking (.RecordLocks=0) typically is sufficient. This means multiple users can edit the same record at the same time, and if they save, the one that was a millisecond quicker to hit the button saves first, immediately being overwritten by the changes made by the other user. Typically that is fine.
I don't think there is a way to do what you asked - capture the Locked Record indicator. However, you can train your users on observing it.
-Tom.
I have created a database for a client and was told that it was to be a one-user database. Well, you know the next statement ... now they want 3 people to be able to use the database. (FYI, I have never created a database for multiusers. I've done some searching but not finding what I want.)
I have split the database. In Tools, Options, I have set the following:
Default open mode = Shared Default record locking = Edited Record Checked Open databases using record-level locking
And this is some of the code behind one of my forms:
Private Sub Form_Open(Cancel As Integer) If Me.RecordLocks <> 2 Then Me.RecordLocks = 2 'lock at the record level End If End Sub
Private Sub Form_Dirty(Cancel As Integer) Me.cmdSave.Visible = True Me.cmdUndo.Visible = True Me.cmdAdd.Visible = False Me.ComboStudent.Enabled = False Me.cmdDelete.Visible = False End Sub
I reset the above in Form_Current.
In testing to see how my form will react, I opened the database twice and tried to edit the same record. I get the Locked Record Indicator but Form_Dirty is activated if they attempt to make a change, so the Save and Undo buttons appear, but the user can't change anything.
Is there a way to capture the Locked Record Indicator? Or what can I do
sothe Form_Dirty doesn't activate? I thought it would be a nice feature to use a msgbox to tell the 2nd user that someone else is editing the same record.
I will have a lot of forms to change so the easiest way I can do this the better.
Thanks in advance for any suggestions/help, Debbie
Tome,
I celebrated a little too soon. This works on the 2nd user but now it
doesn't fire on the 1st user. I tried moving this code to OnCurrent but
that didn't work either. Did it work on your test?
Debbie
"Tom van Stiphout" <to*****@no.spam.cox.net> wrote in message
news:vv********************************@4ax.com...
On Fri, 7 May 2004 09:52:40 -0500, "DebbieG"
<debbieg@accessus-REMOVE-THIS-.net> wrote:
I know Access knows. But it is not exposing that to the developer,
afaik.
I do agree with you that it's strange that the Dirty event fires for
the second user. I noticed that too when I ran a test. This seems
contra to what the help file says about the Dirty event. Perhaps we
can resort to some trickery to detect we can't edit, and then not
enable the buttons:
Private Sub Form_Dirty(Cancel As Integer)
If Me.Dirty Then
Me.cmdSave.Visible = True
Me.cmdUndo.Visible = True
Me.cmdAdd.Visible = False
Me.ComboStudent.Enabled = False
Me.cmdDelete.Visible = False
End If
End Sub
-Tom. Tom,
Thank you for your response. I do not want users to be able to edit the same record at the same time so I have to keep it the way it is. However, when I try to edit a locked record, it does beep and doesn't allow editing. Isn't there a way to capture this somehow? Access knows it is locked, so why does it think the record is dirty when they attempt to edit? What I really want is for the Save and Undo button not to appear. That is their clue that they can do something.
Thanks, Debbie
"Tom van Stiphout" <to*****@no.spam.cox.net> wrote in message news:vo********************************@4ax.com.. . On Fri, 7 May 2004 00:56:21 -0500, "DebbieG" <debbieg@accessus-REMOVE-THIS-.net> wrote:
Optimistic locking (.RecordLocks=0) typically is sufficient. This means multiple users can edit the same record at the same time, and if they save, the one that was a millisecond quicker to hit the button saves first, immediately being overwritten by the changes made by the other user. Typically that is fine.
I don't think there is a way to do what you asked - capture the Locked Record indicator. However, you can train your users on observing it.
-Tom.
I have created a database for a client and was told that it was to be a one-user database. Well, you know the next statement ... now they want 3 people to be able to use the database. (FYI, I have never created a database for multiusers. I've done some searching but not finding what I want.)
I have split the database. In Tools, Options, I have set the following:
Default open mode = Shared Default record locking = Edited Record Checked Open databases using record-level locking
And this is some of the code behind one of my forms:
Private Sub Form_Open(Cancel As Integer) If Me.RecordLocks <> 2 Then Me.RecordLocks = 2 'lock at the record level End If End Sub
Private Sub Form_Dirty(Cancel As Integer) Me.cmdSave.Visible = True Me.cmdUndo.Visible = True Me.cmdAdd.Visible = False Me.ComboStudent.Enabled = False Me.cmdDelete.Visible = False End Sub
I reset the above in Form_Current.
In testing to see how my form will react, I opened the database twice and tried to edit the same record. I get the Locked Record Indicator but Form_Dirty is activated if they attempt to make a change, so the Save and Undo buttons appear, but the user can't change anything.
Is there a way to capture the Locked Record Indicator? Or what can I do
sothe Form_Dirty doesn't activate? I thought it would be a nice feature to use a msgbox to tell the 2nd user that someone else is editing the same record.
I will have a lot of forms to change so the easiest way I can do this the better.
Thanks in advance for any suggestions/help, Debbie
I finally found what I needed. I found it on the Microsoft Knowledge Base
(article 122294 - How to automatically detect if a form is being edited).
There were two methods suggested and I chose to use the Dirty Property in an
Expression. In summary, here's what worked:
I created the following function in the module:
Function EditModeChange (F as Form) as Variant
If F.Dirty then
F!cmdSave.Visible = True
F!cmdUndo.Visible = True
F!cmdAdd.Visible = False
F!ComboStudent.Enabled = False
F!cmdDelete.Visible = False
else
F!cmdSave.Visible = False
F!cmdUndo.Visible = False
F!cmdAdd.Visible = True
F!ComboStudent.Enabled = True
F!cmdDelete.Visible = True
End If
End Function
I added a new textbox to my form:
Name: txtEditModeChange
Control Source: =[Form].[Dirty] & EditModeChange([Form])
Visible: No
In Form_AfterUpdate:
Sub Form_AfterUpdate()
Me!txtEditModeChange.Requery
End Sub
Now, if a second user tries to edit the same record as someone else the Save
and Undo buttons don't appear.
Hope this helps someone else.
Debbie
"DebbieG" <debbieg@accessus-REMOVE-THIS-.net> wrote in message
news:j5********************@accessus.net...
I have created a database for a client and was told that it was to be a
one-user database. Well, you know the next statement ... now they want 3
people to be able to use the database. (FYI, I have never created a
database for multiusers. I've done some searching but not finding what I
want.)
I have split the database. In Tools, Options, I have set the following:
Default open mode = Shared
Default record locking = Edited Record
Checked Open databases using record-level locking
And this is some of the code behind one of my forms:
Private Sub Form_Open(Cancel As Integer)
If Me.RecordLocks <> 2 Then
Me.RecordLocks = 2 'lock at the record level
End If
End Sub
Private Sub Form_Dirty(Cancel As Integer)
Me.cmdSave.Visible = True
Me.cmdUndo.Visible = True
Me.cmdAdd.Visible = False
Me.ComboStudent.Enabled = False
Me.cmdDelete.Visible = False
End Sub
I reset the above in Form_Current.
In testing to see how my form will react, I opened the database twice and
tried to edit the same record. I get the Locked Record Indicator but
Form_Dirty is activated if they attempt to make a change, so the Save and
Undo buttons appear, but the user can't change anything.
Is there a way to capture the Locked Record Indicator? Or what can I do so
the Form_Dirty doesn't activate? I thought it would be a nice feature to
use a msgbox to tell the 2nd user that someone else is editing the same
record.
I will have a lot of forms to change so the easiest way I can do this the
better.
Thanks in advance for any suggestions/help,
Debbie This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
by: David C. Barber |
last post by:
I'm trying to determine which user has locked a given record from VB6.
I know I can use sp_lock and sp_who, and match up the data to determine
which users have locked records in my database,...
|
by: Anastassios Giannaras |
last post by:
Hello
I have made an small access Database that is used by 4-5 people every
day. Very often through the users get the message "Could Not Update;
Currently Locked" There is an entry about that...
|
by: BillB |
last post by:
When I activate frmList.List0, it positions at the end of the table:
- frmList
Private Sub Form_Activate()
Me.List0.SetFocus
Me.List0.ListIndex = Me.List0.ListCount - 1
-
When I DblClick a...
|
by: ethanj /personal/ |
last post by:
We are using Access 2000 database, with the following settings.
Tool > Options > Advance >
Default Record Locking = Edited Record
Open databases using record level locking = True
Form...
|
by: Rolan |
last post by:
Having tried various permutations of Before Update and well for that
matter, After Update, OnExit, OnEnter, etc. and also Locked controls,
I'm still unable to obtain the intended results. There are...
|
by: andrew.newell |
last post by:
Hi,
I use MS Access to connect to and SQL Database this has been working
fine until recently.
Whenever I add a new record (post record 723) it does not allow me to
change it. My DBA has...
|
by: Access Programming only with macros, no code |
last post by:
ERROR MESSAGE:
Could not update; currently locked by another session on this
machine.
BACKGROUND
I have the following objects:
Table1 - HO (which has about 51,000+ records)
Table2 -...
|
by: ljstern |
last post by:
Hello. I am using MS Access 2003 with XP/pro. I have a form that has the following properties set through the property sheet:
form: AllowAdditions = False
CartridgeID field: Locked = True
...
|
by: breal |
last post by:
I have a db table that holds a list of ports. There is a column
in_use that is used as a flag for whether the port is currently in
use. When choosing a port the table is read and the first...
|
by: BarryA |
last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
|
by: nemocccc |
last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
|
by: Sonnysonu |
last post by:
This is the data of csv file
1 2 3
1 2 3
1 2 3
1 2 3
2 3
2 3
3
the lengths should be different i have to store the data by column-wise with in the specific length.
suppose the i have to...
|
by: Hystou |
last post by:
There are some requirements for setting up RAID:
1. The motherboard and BIOS support RAID configuration.
2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
|
by: marktang |
last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
|
by: jinu1996 |
last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
|
by: agi2029 |
last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
|
by: isladogs |
last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM).
In this session, we are pleased to welcome a new...
|
by: conductexam |
last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
| |