PC Review


Reply
Thread Tools Rate Thread

Can I Suppress Write Conflict Message?

 
 
cmw
Guest
Posts: n/a
 
      21st Jul 2008
My application uses VB code to perform a variety of validations on data
entered on a form. There are edit, cancel and save buttons.

User encounters a "Write Conflict" message box on the save button. Can this
message box be suppressed? The set warnings flag does not work on this
message. I've tried changing the record locking setting on the options menu,
doesn't appear to have any impact.

Edit Button - when clicked, the system performs validations and writes data
to the table. The user may add or update additional data.
Cancel Button - executes DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, ,
acMenuVer70 (undoes the user entered data) then overlays data added on Edit
click
Save Button - executes DoCmd.DoMenuItem acFormBar, acRecordsMenu,
acSaveRecord, , acMenuVer70 which results in a message box "Write Conflict"
followed by an explanation and 2 choices, "Copy to Clipboard" or "Drop
Changes".

Thanks

 
Reply With Quote
 
 
 
 
Graham Mandeno
Guest
Posts: n/a
 
      21st Jul 2008
Hi cmw

I don't quite understand the function of the Edit button. You say:

> Edit Button - when clicked, the system performs validations and writes
> data
> to the table. The user may add or update additional data.


I suspect this is what is causing your problem. If this button writes data
to the same record that is current on your form, then when the Save button
is clicked, Access will detect that the data in the underlying table has
been changed since it was loaded into the form and that will give you the
"write conflict" message.

What exactly IS the purpose of having both an Edit and a Save button?

As an aside, DoMenuItem is obsolete. (A hint which supports this is in the
"acMenuVer70" - version 7.0 was Access 95!!. Yes, I know the code wizard
still generates code using DoMenuItem, but wizards are notoriously old with
long grey beards :-)

Instead, to undo changes to the current record, use:
Me.Undo

and to save changes to the current record, use either:
Me.Dirty = False
or
DoCmd.RunCommand acCmdSaveRecord
--
Good Luck :-)

Graham Mandeno [Access MVP]
Auckland, New Zealand


"cmw" <(E-Mail Removed)> wrote in message
news:A322A34C-F2D3-494B-B792-(E-Mail Removed)...
> My application uses VB code to perform a variety of validations on data
> entered on a form. There are edit, cancel and save buttons.
>
> User encounters a "Write Conflict" message box on the save button. Can
> this
> message box be suppressed? The set warnings flag does not work on this
> message. I've tried changing the record locking setting on the options
> menu,
> doesn't appear to have any impact.
>
> Edit Button - when clicked, the system performs validations and writes
> data
> to the table. The user may add or update additional data.
> Cancel Button - executes DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, ,
> acMenuVer70 (undoes the user entered data) then overlays data added on
> Edit
> click
> Save Button - executes DoCmd.DoMenuItem acFormBar, acRecordsMenu,
> acSaveRecord, , acMenuVer70 which results in a message box "Write
> Conflict"
> followed by an explanation and 2 choices, "Copy to Clipboard" or "Drop
> Changes".
>
> Thanks
>



 
Reply With Quote
 
cmw
Guest
Posts: n/a
 
      22nd Jul 2008
Hi Graham -

When the form is opened, the Allow Updates property is false, the edit
button sets the property to true, determines which fields can be edited based
on the user's credentials and writes data to the table.

When the record is saved, the data the user entered on the window is saved
(cancelled performs an undo). I know it's the write to the table that causes
the problem, programming logic makes the determination what "system" data to
update, the user doesn't. The save button saves the user's changes. I'd like
to suppress the popup so the user doesn't get what is percieved to be an
error message.

I'll look into changing the code to DoCmd.RunCommand acCmdSaveRecord. This
was my first application in Access - I used examples from books and the help
menus to develop it. It's been in use a few years, the newer code is more up
to date, but this is the oldest window.

Thanks
"Graham Mandeno" wrote:

> Hi cmw
>
> I don't quite understand the function of the Edit button. You say:
>
> > Edit Button - when clicked, the system performs validations and writes
> > data
> > to the table. The user may add or update additional data.

>
> I suspect this is what is causing your problem. If this button writes data
> to the same record that is current on your form, then when the Save button
> is clicked, Access will detect that the data in the underlying table has
> been changed since it was loaded into the form and that will give you the
> "write conflict" message.
>
> What exactly IS the purpose of having both an Edit and a Save button?
>
> As an aside, DoMenuItem is obsolete. (A hint which supports this is in the
> "acMenuVer70" - version 7.0 was Access 95!!. Yes, I know the code wizard
> still generates code using DoMenuItem, but wizards are notoriously old with
> long grey beards :-)
>
> Instead, to undo changes to the current record, use:
> Me.Undo
>
> and to save changes to the current record, use either:
> Me.Dirty = False
> or
> DoCmd.RunCommand acCmdSaveRecord
> --
> Good Luck :-)
>
> Graham Mandeno [Access MVP]
> Auckland, New Zealand
>
>
> "cmw" <(E-Mail Removed)> wrote in message
> news:A322A34C-F2D3-494B-B792-(E-Mail Removed)...
> > My application uses VB code to perform a variety of validations on data
> > entered on a form. There are edit, cancel and save buttons.
> >
> > User encounters a "Write Conflict" message box on the save button. Can
> > this
> > message box be suppressed? The set warnings flag does not work on this
> > message. I've tried changing the record locking setting on the options
> > menu,
> > doesn't appear to have any impact.
> >
> > Edit Button - when clicked, the system performs validations and writes
> > data
> > to the table. The user may add or update additional data.
> > Cancel Button - executes DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, ,
> > acMenuVer70 (undoes the user entered data) then overlays data added on
> > Edit
> > click
> > Save Button - executes DoCmd.DoMenuItem acFormBar, acRecordsMenu,
> > acSaveRecord, , acMenuVer70 which results in a message box "Write
> > Conflict"
> > followed by an explanation and 2 choices, "Copy to Clipboard" or "Drop
> > Changes".
> >
> > Thanks
> >

>
>
>

 
Reply With Quote
 
Graham Mandeno
Guest
Posts: n/a
 
      22nd Jul 2008
Hi cmw

What are the fields that you are changing in code? Can you post the code
for your Edit button?

If they are fields such as "LastChangeDate" and "LastChangedBy" then the
best place to set these is in the BeforeUpdate event of the form after the
user clicks the Save button. The point is that if your code changes the
fields in the current record of the form's recordset, it won't be seen as
two independent streams editing the same record at the same time.

Oh, your Edit button will still need to set AllowUpdates, but that is all.
--
Good Luck :-)

Graham Mandeno [Access MVP]
Auckland, New Zealand

"cmw" <(E-Mail Removed)> wrote in message
news:F178A1A4-F57C-4A1E-A906-(E-Mail Removed)...
> Hi Graham -
>
> When the form is opened, the Allow Updates property is false, the edit
> button sets the property to true, determines which fields can be edited
> based
> on the user's credentials and writes data to the table.
>
> When the record is saved, the data the user entered on the window is saved
> (cancelled performs an undo). I know it's the write to the table that
> causes
> the problem, programming logic makes the determination what "system" data
> to
> update, the user doesn't. The save button saves the user's changes. I'd
> like
> to suppress the popup so the user doesn't get what is percieved to be an
> error message.
>
> I'll look into changing the code to DoCmd.RunCommand acCmdSaveRecord. This
> was my first application in Access - I used examples from books and the
> help
> menus to develop it. It's been in use a few years, the newer code is more
> up
> to date, but this is the oldest window.
>
> Thanks
> "Graham Mandeno" wrote:
>
>> Hi cmw
>>
>> I don't quite understand the function of the Edit button. You say:
>>
>> > Edit Button - when clicked, the system performs validations and writes
>> > data
>> > to the table. The user may add or update additional data.

>>
>> I suspect this is what is causing your problem. If this button writes
>> data
>> to the same record that is current on your form, then when the Save
>> button
>> is clicked, Access will detect that the data in the underlying table has
>> been changed since it was loaded into the form and that will give you the
>> "write conflict" message.
>>
>> What exactly IS the purpose of having both an Edit and a Save button?
>>
>> As an aside, DoMenuItem is obsolete. (A hint which supports this is in
>> the
>> "acMenuVer70" - version 7.0 was Access 95!!. Yes, I know the code wizard
>> still generates code using DoMenuItem, but wizards are notoriously old
>> with
>> long grey beards :-)
>>
>> Instead, to undo changes to the current record, use:
>> Me.Undo
>>
>> and to save changes to the current record, use either:
>> Me.Dirty = False
>> or
>> DoCmd.RunCommand acCmdSaveRecord
>> --
>> Good Luck :-)
>>
>> Graham Mandeno [Access MVP]
>> Auckland, New Zealand
>>
>>
>> "cmw" <(E-Mail Removed)> wrote in message
>> news:A322A34C-F2D3-494B-B792-(E-Mail Removed)...
>> > My application uses VB code to perform a variety of validations on data
>> > entered on a form. There are edit, cancel and save buttons.
>> >
>> > User encounters a "Write Conflict" message box on the save button. Can
>> > this
>> > message box be suppressed? The set warnings flag does not work on this
>> > message. I've tried changing the record locking setting on the options
>> > menu,
>> > doesn't appear to have any impact.
>> >
>> > Edit Button - when clicked, the system performs validations and writes
>> > data
>> > to the table. The user may add or update additional data.
>> > Cancel Button - executes DoCmd.DoMenuItem acFormBar, acEditMenu,
>> > acUndo, ,
>> > acMenuVer70 (undoes the user entered data) then overlays data added on
>> > Edit
>> > click
>> > Save Button - executes DoCmd.DoMenuItem acFormBar, acRecordsMenu,
>> > acSaveRecord, , acMenuVer70 which results in a message box "Write
>> > Conflict"
>> > followed by an explanation and 2 choices, "Copy to Clipboard" or "Drop
>> > Changes".
>> >
>> > Thanks
>> >

>>
>>
>>



 
Reply With Quote
 
cmw
Guest
Posts: n/a
 
      22nd Jul 2008
The code is updating an "Record in Use" type of field. I can't use the
BeforeUpdate as I need the field to be updated to prevent other users from
attempting to update same record.

I figured out another way - on the edit click, I check to see if the record
is in use, if it's not, I set it and save it (using the DoCmd.RunCommand
acCmdSaveRecord). On the Cancel click, if it's dirty, I undo (removing the
changes made on the window), then regardless of if dirty or not, update the
Record in Use to null and save the record before setting the allowupdates to
false.

Seems to be working okay.

Thanks for the tip on the saving.

"Graham Mandeno" wrote:

> Hi cmw
>
> What are the fields that you are changing in code? Can you post the code
> for your Edit button?
>
> If they are fields such as "LastChangeDate" and "LastChangedBy" then the
> best place to set these is in the BeforeUpdate event of the form after the
> user clicks the Save button. The point is that if your code changes the
> fields in the current record of the form's recordset, it won't be seen as
> two independent streams editing the same record at the same time.
>
> Oh, your Edit button will still need to set AllowUpdates, but that is all.
> --
> Good Luck :-)
>
> Graham Mandeno [Access MVP]
> Auckland, New Zealand
>
> "cmw" <(E-Mail Removed)> wrote in message
> news:F178A1A4-F57C-4A1E-A906-(E-Mail Removed)...
> > Hi Graham -
> >
> > When the form is opened, the Allow Updates property is false, the edit
> > button sets the property to true, determines which fields can be edited
> > based
> > on the user's credentials and writes data to the table.
> >
> > When the record is saved, the data the user entered on the window is saved
> > (cancelled performs an undo). I know it's the write to the table that
> > causes
> > the problem, programming logic makes the determination what "system" data
> > to
> > update, the user doesn't. The save button saves the user's changes. I'd
> > like
> > to suppress the popup so the user doesn't get what is percieved to be an
> > error message.
> >
> > I'll look into changing the code to DoCmd.RunCommand acCmdSaveRecord. This
> > was my first application in Access - I used examples from books and the
> > help
> > menus to develop it. It's been in use a few years, the newer code is more
> > up
> > to date, but this is the oldest window.
> >
> > Thanks
> > "Graham Mandeno" wrote:
> >
> >> Hi cmw
> >>
> >> I don't quite understand the function of the Edit button. You say:
> >>
> >> > Edit Button - when clicked, the system performs validations and writes
> >> > data
> >> > to the table. The user may add or update additional data.
> >>
> >> I suspect this is what is causing your problem. If this button writes
> >> data
> >> to the same record that is current on your form, then when the Save
> >> button
> >> is clicked, Access will detect that the data in the underlying table has
> >> been changed since it was loaded into the form and that will give you the
> >> "write conflict" message.
> >>
> >> What exactly IS the purpose of having both an Edit and a Save button?
> >>
> >> As an aside, DoMenuItem is obsolete. (A hint which supports this is in
> >> the
> >> "acMenuVer70" - version 7.0 was Access 95!!. Yes, I know the code wizard
> >> still generates code using DoMenuItem, but wizards are notoriously old
> >> with
> >> long grey beards :-)
> >>
> >> Instead, to undo changes to the current record, use:
> >> Me.Undo
> >>
> >> and to save changes to the current record, use either:
> >> Me.Dirty = False
> >> or
> >> DoCmd.RunCommand acCmdSaveRecord
> >> --
> >> Good Luck :-)
> >>
> >> Graham Mandeno [Access MVP]
> >> Auckland, New Zealand
> >>
> >>
> >> "cmw" <(E-Mail Removed)> wrote in message
> >> news:A322A34C-F2D3-494B-B792-(E-Mail Removed)...
> >> > My application uses VB code to perform a variety of validations on data
> >> > entered on a form. There are edit, cancel and save buttons.
> >> >
> >> > User encounters a "Write Conflict" message box on the save button. Can
> >> > this
> >> > message box be suppressed? The set warnings flag does not work on this
> >> > message. I've tried changing the record locking setting on the options
> >> > menu,
> >> > doesn't appear to have any impact.
> >> >
> >> > Edit Button - when clicked, the system performs validations and writes
> >> > data
> >> > to the table. The user may add or update additional data.
> >> > Cancel Button - executes DoCmd.DoMenuItem acFormBar, acEditMenu,
> >> > acUndo, ,
> >> > acMenuVer70 (undoes the user entered data) then overlays data added on
> >> > Edit
> >> > click
> >> > Save Button - executes DoCmd.DoMenuItem acFormBar, acRecordsMenu,
> >> > acSaveRecord, , acMenuVer70 which results in a message box "Write
> >> > Conflict"
> >> > followed by an explanation and 2 choices, "Copy to Clipboard" or "Drop
> >> > Changes".
> >> >
> >> > Thanks
> >> >
> >>
> >>
> >>

>
>

 
Reply With Quote
 
 
 
Reply

Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Suppress the Write Conflict Dialog Box =?Utf-8?B?RWFybENQaGlsbGlwcw==?= Microsoft Access VBA Modules 4 4th Apr 2007 08:16 PM
How do you suppress a WRITE CONFLICT message. =?Utf-8?B?Um9tYW4gQi4=?= Microsoft Access 4 17th May 2006 09:41 PM
Write Conflict Message =?Utf-8?B?RmlzaGVyNjY2?= Microsoft Access 0 12th Jul 2005 06:16 PM
Write conflict message =?Utf-8?B?THVpcw==?= Microsoft Access VBA Modules 4 14th Jun 2005 03:53 AM
Write Conflict message =?Utf-8?B?THVpcw==?= Microsoft Access VBA Modules 1 30th Nov 2004 02:32 PM


Features
 

Advertising
 

Newsgroups
 


All times are GMT +1. The time now is 05:18 AM.