Access 2007 & Concurrency
 
Home My Account Forum Try It! Buy It!
About Contact Us Site Map
StrataFrame Forum
Home      Members   Calendar   Who's On
Welcome Guest ( Login | Register )
      


12»»

Access 2007 & ConcurrencyExpand / Collapse
Author
Message
Posted 04/01/2008 12:54:45 PM
StrataFrame Beginner

StrataFrame BeginnerStrataFrame BeginnerStrataFrame BeginnerStrataFrame BeginnerStrataFrame BeginnerStrataFrame BeginnerStrataFrame BeginnerStrataFrame Beginner

Group: StrataFrame Users
Last Login: 07/03/2008 8:49:49 AM
Posts: 30, Visits: 269
I need help trying to figure out why the StrataFrame concurrency exception is not thrown when using a Microsoft Access 2007 database.
I've checked and double checked my settings... When I apply the same thing to an SQL Server everything works fine... Any ideas?

Attached is a sample project with the settings I am using.


  Post Attachments 
TestProject.zip (5 views, 165.95 KB)
Post #15302
Posted 04/02/2008 8:57:23 PM
StrataFrame Beginner

StrataFrame BeginnerStrataFrame BeginnerStrataFrame BeginnerStrataFrame BeginnerStrataFrame BeginnerStrataFrame BeginnerStrataFrame BeginnerStrataFrame Beginner

Group: StrataFrame Users
Last Login: 07/03/2008 8:49:49 AM
Posts: 30, Visits: 269
Bump
Post #15355
Posted 04/02/2008 11:00:13 PM
StrataFrame User

StrataFrame UserStrataFrame UserStrataFrame UserStrataFrame UserStrataFrame UserStrataFrame UserStrataFrame UserStrataFrame User

Group: StrataFrame Users
Last Login: 07/16/2008 12:26:47 PM
Posts: 405, Visits: 1,682
Hi Crones,

I willing to test your sample project, please post steps to do the same test you are doing.

Edhy Rijo
Progytech (Computer Consultants)
Post #15356
Posted 04/02/2008 11:18:20 PM
StrataFrame Beginner

StrataFrame BeginnerStrataFrame BeginnerStrataFrame BeginnerStrataFrame BeginnerStrataFrame BeginnerStrataFrame BeginnerStrataFrame BeginnerStrataFrame Beginner

Group: StrataFrame Users
Last Login: 07/03/2008 8:49:49 AM
Posts: 30, Visits: 269
The steps to reproduce what SHOULD cause an concurrency exception is to start the project, and after the form loads and displays the values, open the database with Access and change the values of the table and save the changes. Then click the save button on the app.

When I do the same steps using SQLExpress, I get the concurrency exception which is what I need to happen.

Thanks for checking it out.
Post #15357
Posted 04/02/2008 11:24:08 PM
StrataFrame User

StrataFrame UserStrataFrame UserStrataFrame UserStrataFrame UserStrataFrame UserStrataFrame UserStrataFrame UserStrataFrame User

Group: StrataFrame Users
Last Login: 07/16/2008 12:26:47 PM
Posts: 405, Visits: 1,682
Ok, I am able to duplicate your results.  Have you tried with OptimisticTimeStamp or OptimisticRowVersion?

My guess is that somehow Access is either not sending the event or SF is not catching it.

Edhy Rijo
Progytech (Computer Consultants)
Post #15358
Posted 04/03/2008 9:28:57 AM


StrataFrame Developer

StrataFrame Developer

Group: StrataFrame Developers
Last Login: Yesterday @ 9:36:54 PM
Posts: 4,200, Visits: 4,251
The only way that the concurrency will work with Access is by using a row version field.  The Optimistic all fields and timestamp options will not work with Access.  If you create a row version field and then set the CRUD settings on the BO, it will work.  I updated and posted the sample that you had started.  When you create the version field, be sure to have all records update with a 0 for teh default value or it will not work.  The reason is when you add the new version field it will basically be empty...so it will get overlooked.

  Post Attachments 
AccessTest.zip (2 views, 212.68 KB)
Post #15364
Posted 04/03/2008 9:53:34 AM
StrataFrame User

StrataFrame UserStrataFrame UserStrataFrame UserStrataFrame UserStrataFrame UserStrataFrame UserStrataFrame UserStrataFrame User

Group: StrataFrame Users
Last Login: 07/16/2008 12:26:47 PM
Posts: 405, Visits: 1,682
Trent L. Taylor (04/03/2008)
The only way that the concurrency will work with Access is by using a row version field.  The Optimistic all fields and timestamp options will not work with Access.  If you create a row version field and then set the CRUD settings on the BO, it will work.  I updated and posted the sample that you had started.  When you create the version field, be sure to have all records update with a 0 for teh default value or it will not work.  The reason is when you add the new version field it will basically be empty...so it will get overlooked.

Hi Trent,

One question, will the Version field be incremented automatically by SF or do we have to update this field in every change of the record to trigger the concurrency rule?

Also what would be the reccomended concurrency rule for MS-SQL2005?

Edhy Rijo
Progytech (Computer Consultants)
Post #15365
Posted 04/03/2008 10:33:29 AM


StrataFrame Developer

StrataFrame Developer

Group: StrataFrame Developers
Last Login: Yesterday @ 9:36:54 PM
Posts: 4,200, Visits: 4,251
One question, will the Version field be incremented automatically by SF or do we have to update this field in every change of the record to trigger the concurrency rule?

It will be auto-managed just as the SQL Server and others do.

Also what would be the reccomended concurrency rule for MS-SQL2005?

Regardless of the database, row versioning is always the best method as the query is far less complicated than when using all fields.  This is actually a section that we cover during training and show the massive differences between using row versioning and any other type of checking.

Post #15367