First; have you experienced yourself a corruption problem with Access?
Because it would be a far more better idea to describe your situation and
problem then to go around fishing for a possible explanation.
With Access as the backend (using Jet), your only chance of dodging
corruption if to have a rock solid LAN where everything, including routers,
are on power backup (UPS) and with no possibility of network saturation.
(Don't expect to have no problem if your network is frequently running at
over 50% of its capacity.) For the WAN, your only practical chance is
probably to use a properly configured TS/Citrix server; here again with no
possibility of saturation (in this case, this mean a very, very powerful
machine and all timeouts set to their maximum). You can try with a VPN but
in this case, you must use a very good VPN that will run the connection in a
very reliable way (no dropped packet).
With SQL-Server as the backend; Access can usually automatically deal with
simple cases by using the transaction mecanism of SQL-Server but for more
complicated multi-steps transaction, there is no solution other than making
the update yourself outside of a bound form. Most often, the solution used
by programmers is to add command buttons for complex and critical multi-step
tasks, like creating or saving a new order with its associated bill and then
crossing their fingers leaving the rest to be handled automatically by
Access bound forms.
However, for the .NET Framework, MS took the decision to drop all these
configurations and to keep instead a single solution where all (and I mean
all) updates - for bound, unbound or no form, single or multi-steps - can be
directly controlled inside a single or multiple transactions by the
programmer at his leisure. The fact that they have taken this decision
should give you an idea of what MS itself thinks of all these other
solutions.
Finally, if you take a look at other posts; you will find many people that
will say exactly the opposite; so finally, it's up to you to take your own
decision.

Signature
Sylvain Lafontaine, ing.
MVP - Technologies Virtual-PC
E-mail: http://cerbermail.com/?QugbLEWINF
>> You have experiencing data corruption with SQL-Server as the backend?
>> That's very strange.
[quoted text clipped - 19 lines]
>
> Thanks.
Joe Butler - 07 Jun 2005 10:54 GMT
I haven't experienced corruption of an Access database, probably because
I've never used one in a stressed situation.
However, it's my intention to author a multi-user networked application with
a Jet backend (maybe MySQL, I don't know yet) via a, potentially, busy LAN
or otherwise stressed server. So, it looks like I'll need to perform some
capability tests specifically looking at corruption before settling on Jet.
I'll be using straight VC++ 6 SDK and SQL to interface with the database.
Thanks.
> First; have you experienced yourself a corruption problem with Access?
> Because it would be a far more better idea to describe your situation and
[quoted text clipped - 60 lines]
> >
> > Thanks.
Lynn Trapp - 07 Jun 2005 14:35 GMT
You might want to read through this website.
http://www.granite.ab.ca/access/corruptmdbs.htm

Signature
Lynn Trapp
MS Access MVP
www.ltcomputerdesigns.com
Access Security: www.ltcomputerdesigns.com/Security.htm
Jeff Conrad's Big List: www.ltcomputerdesigns.com/JCReferences.html
>I haven't experienced corruption of an Access database, probably because
> I've never used one in a stressed situation.
[quoted text clipped - 93 lines]
>> >
>> > Thanks.
Joe Butler - 07 Jun 2005 15:30 GMT
Thanks.
I was already aware of the oplocks issues, but I hadn't realised that Samba
has been implicated in mdb corruption.
A vendor of an Access-based application has told me that the current version
of Jet/Access means that the oplocks issues is not an issue anymore - but I
think that what this vendor is suspect.
I'll probably get around to knocking up an automated test that I can leave
running for days at a time to test just how flakey Jet is under different
loads. If it's likely to cause too many problems, then I'll look at
workarounds (communicating with program on server rather than opening
datafile directly, or using MySQL instead).
> You might want to read through this website.
>
[quoted text clipped - 104 lines]
> >> >
> >> > Thanks.
Lynn Trapp - 07 Jun 2005 15:46 GMT
> I'll probably get around to knocking up an automated test that I can leave
> running for days at a time to test just how flakey Jet is under different
> loads.
Doing a stress test like that is always a good idea before taking any
application to production. Good luck with it.

Signature
Lynn Trapp
MS Access MVP
www.ltcomputerdesigns.com
Access Security: www.ltcomputerdesigns.com/Security.htm
Jeff Conrad's Big List: www.ltcomputerdesigns.com/JCReferences.html