Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
Discussion GroupsFormsForms ProgrammingQueriesModules / DAO / VBAReports / PrintingMacrosDatabase DesignSecurityConversionImporting / LinkingSQL Server / ADPMultiuser / NetworkingReplicationSetup / ConfigurationDeveloper ToolkitsActiveX ControlsNew UsersGeneral 1General 2
Access DirectoryToolsTutorialsUser Groups
Related Topics
SQL ServerOther DB ProductsMS OfficeMore Topics ...

MS Access Forum / Security / May 2007

Tip: Looking for answers? Try searching our database.

To Split or not to Split

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Matt W. - 05 Apr 2007 18:40 GMT
I have a database that only 1 person will be editing data. However about 60
people will have permission to certain forms. My question is if only one
person will be editing and everyone else will just be able to view data, is
it still necessary to split?
Ed Metcalfe - 05 Apr 2007 22:46 GMT
Matt,

It's rarely *necessary* to split the database, but I would still recommend
it.

Splitting the database makes releasing code updates far more straight
forward. Performance can also be improved by installing the database
frontend on each user's local drive (this means queries, forms, reports,
code, etc. do not have to be loaded across the network).

Ed Metcalfe.

>I have a database that only 1 person will be editing data. However about 60
> people will have permission to certain forms. My question is if only one
> person will be editing and everyone else will just be able to view data,
> is
> it still necessary to split?
Matt W. - 06 Apr 2007 13:22 GMT
Isn't there a way to update one form instead of changing 60 different forms
if I split?

> Matt,
>
[quoted text clipped - 13 lines]
> > is
> > it still necessary to split?
Matt W. - 06 Apr 2007 13:44 GMT
Nevermind, i already know the answer to that question. I would make the
change to the FE and update each users FE with that of the new one.  

When manually splitting a secure database, I want to copy the original mdb
and that will be my BE. Should I give it a .be extension or .mdb or doesn't
it matter?

> Isn't there a way to update one form instead of changing 60 different forms
> if I split?
[quoted text clipped - 16 lines]
> > > is
> > > it still necessary to split?
Joan Wild - 06 Apr 2007 14:09 GMT
It doesn't matter what you name it.

Signature

Joan Wild
Microsoft Access MVP

> Nevermind, i already know the answer to that question. I would make the
> change to the FE and update each users FE with that of the new one.
[quoted text clipped - 30 lines]
>> > > is
>> > > it still necessary to split?
Tony Toews [MVP] - 06 Apr 2007 21:54 GMT
>Splitting the database makes releasing code updates far more straight
>forward.

Agreed.

>Performance can also be improved by installing the database
>frontend on each user's local drive (this means queries, forms, reports,
>code, etc. do not have to be loaded across the network).

Actually no.   Performance is worsened.  In A97 some reports went from
20 seconds to 20 minutes.    However there are things you can do to
get much of that performance back.

But the benefits of splitting far outweigh the downside.

Tony
Signature

Tony Toews, Microsoft Access MVP
  Please respond only in the newsgroups so that others can
read the entire thread of messages.
  Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm

Ed Metcalfe - 07 Apr 2007 01:02 GMT
>>Splitting the database makes releasing code updates far more straight
>>forward.
[quoted text clipped - 12 lines]
>
> Tony

Tony,

I'm confused. I realise that accessing linked tables may be slower than
accessing tables stored in the frontend, but surely loading forms, reports,
code, etc from a database on the local drive is quicker than loading them
over a network connection.

It's been a long time since I've used Access 97 (is the performance decrease
with split databases resolved in later versions) but I don't recall *ever*
having a form take 20 mins to open. I also don't recall there ever being
that much of a difference in performance between split and unsplit
databases.

Is this issue one that only affects bound forms perhaps? If so I wouldn't
have seen it (I don't use them)...

Ed Metcalfe.
Tony Toews [MVP] - 07 Apr 2007 02:32 GMT
>>>Performance can also be improved by installing the database
>>>frontend on each user's local drive (this means queries, forms, reports,
[quoted text clipped - 10 lines]
>code, etc from a database on the local drive is quicker than loading them
>over a network connection.

Yes, having a FE MDB/MDE on the local system is faster than having it
on the server.   However, in my experience based on what I saw in A97,
splitting the MDB made for much worse performance.

Also a client didn't want to copy the FE MDE onto the Citrix server so
I setup the Auto FE Updater to copy the FE MDE from the distribution
folder to a user defined folder on the same server.  Then Access on
the Citrix server was indeed pulling the forms, etc, across the
network.  While I'm sure the performance was worse than having the FE
MDE on the server it wasn't that noticeable.

>It's been a long time since I've used Access 97 (is the performance decrease
>with split databases resolved in later versions) but I don't recall *ever*
>having a form take 20 mins to open.

These were reports not forms.

>I also don't recall there ever being
>that much of a difference in performance between split and unsplit
>databases.

There was but it was really noticeable on complex forms which had lots
of subforms and combo boxes.

>Is this issue one that only affects bound forms perhaps? If so I wouldn't
>have seen it (I don't use them)...

I seldom use unbound forms so I couldn't tell you.

Tony
Signature

Tony Toews, Microsoft Access MVP
  Please respond only in the newsgroups so that others can
read the entire thread of messages.
  Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm

Ed Metcalfe - 07 Apr 2007 02:37 GMT
>>>>Performance can also be improved by installing the database
>>>>frontend on each user's local drive (this means queries, forms, reports,
[quoted text clipped - 43 lines]
>
> Tony

Thanks Tony.
David W. Fenton - 08 Apr 2007 00:12 GMT
> In A97 some reports went from
> 20 seconds to 20 minutes.

I never saw any such thing, Tony.

But, yes, splitting *can* worsen performance compared to an unsplit
A97 MDB that was being shared on a server. But with later versions
of Access, that wasn't even an option. A97 could cope with sharing a
front end (split or not), but no later version Access can do it at
all without very frequent corruption problems.

Signature

David W. Fenton                  http://www.dfenton.com/
usenet at dfenton dot com    http://www.dfenton.com/DFA/

Tony Toews [MVP] - 08 Apr 2007 02:13 GMT
>> In A97 some reports went from
>> 20 seconds to 20 minutes.
>
>I never saw any such thing, Tony.

<shrug>  We had 100 page reports with each line having a one or two
line subreport.  That was particularly nasty.  I moved the data from
the subreport onto the main report and turned the fields off or on
depending and got the report back to 20 seconds.

Tony
Signature

Tony Toews, Microsoft Access MVP
  Please respond only in the newsgroups so that others can
read the entire thread of messages.
  Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm

David W. Fenton - 08 Apr 2007 00:10 GMT
> It's rarely *necessary* to split the database, but I would still
> recommend it.

I would say in 99.999% of cases, it's ABSOLUTELY NECESSARY to split
the database. The only exception would be the single-user database
that is used by only one person who is also the database's designer
(i.e., nobody else is making changes to the front end).

Deploying *unsplit* should be the *exception*, as split apps are the
standard way to do it.

Signature

David W. Fenton                  http://www.dfenton.com/
usenet at dfenton dot com    http://www.dfenton.com/DFA/

Ed Metcalfe - 08 Apr 2007 01:16 GMT
>> It's rarely *necessary* to split the database, but I would still
>> recommend it.
[quoted text clipped - 6 lines]
> Deploying *unsplit* should be the *exception*, as split apps are the
> standard way to do it.

David,

I agree.

I didn't really explain myself very well. What I really meant was it is
rarely *essential* to split an Access database. It is certainly almost
always a good idea to.

Ed Metcalfe.
David W. Fenton - 10 Apr 2007 22:11 GMT
>>> It's rarely *necessary* to split the database, but I would still
>>> recommend it.
[quoted text clipped - 13 lines]
> it is rarely *essential* to split an Access database. It is
> certainly almost always a good idea to.

And I'm DISAGREEING with you -- it *is* essential in all but the
tiniest number of instances.

Signature

David W. Fenton                  http://www.dfenton.com/
usenet at dfenton dot com    http://www.dfenton.com/DFA/

Keith Wilby - 11 Apr 2007 08:21 GMT
> And I'm DISAGREEING with you -- it *is* essential in all but the
> tiniest number of instances.

FWIW I agree with David.  For the amount of effort involved to split you
might as well anyway since, in my experience, the chances of corruption are
significantly decreased.  I think that "it's rarely *necessary* to split the
database" is very bad advice.

Keith.
www.keithwilby.com
Ed Metcalfe - 14 Apr 2007 00:45 GMT
>> And I'm DISAGREEING with you -- it *is* essential in all but the
>> tiniest number of instances.
[quoted text clipped - 6 lines]
> Keith.
> www.keithwilby.com

Keith,

At no point have I advised anyone not to split their database. I thought I
had made it fairly clear in my original post that I am advising that the
database should be split...

Ed Metcalfe.
Chris Mills - 14 Apr 2007 02:37 GMT
FWIW, a primary reason for me to split databases, is nothing to do with
performance, whether it works, (all of which are probably true, hard to prove,
and I accept as true...)

It's because, I can't replace the program with an updated one if live data is
also mingled in with it!

This is probably why you get some people trying to modify programs "on-line"
(which with my capacity for mistakes would be disastrous!)

I inherited one site with mixed program/data. I had to test what I would do at
my site, then go to their site, get everyone out, and hopefully remember the
mod I had tested.
-----
For this reason, I split even a single-user database. OTOH I have had multiple
users share a networked Front-End (A97) with no dire problems, but whether
that is recommended or not is a separate issue from splitting! (I don't
recommend such, I just used a guinea pig customer to try it)(not theory,
actual tests!!!)
-----
I note that Ed, in his first brief reply, correctly identified relevant
issues. Then it got sidetracked by Tony Toews mentioning a potential
performance downside of splitting. Then it got further sidetracked as to
whether "rarely necessary" was an appropriate wording (probably not because it
implied "advisable"). Ed has made it abundantly clear, I think, what will or
may work vs what is recommended best practise.

I have indicated above, that even if unsplit databases work, they are clearly
inconvenient. And since A2000, modifying live programs has become (either
dangerous or impossible), whether or not the program is mixed up with data or
just a split shared Front-End.

No complaints from me, Ed! :-)
Chris
Ed Metcalfe - 14 Apr 2007 02:49 GMT
> No complaints from me, Ed! :-)
> Chris

Thank you Chris.   :-)
Chris Mills - 14 Apr 2007 07:23 GMT
For the likes of the David Fenton's etc (whom I respect very greatly and agree
with BTW), it must be assumed that he has actually TESTED the various options.
Yet the averrance to suggesting testing this or that alternative, might
suggest they/he never tried anything else themselves other than the "official
line"?

It's an established scientific principle, that anyone "following" should also
TEST for themselves, not merely take established dogma. Otherwise, we would
still be following Newtonian gravity rather than Einstein's General Theory of
Relativity...

EVERYONE should take the established "facts", or theories, and test them again
for themselves. Just occasionally, someone might question whether it's needed
(say) to remove Admin from the Admins group, for a recent independent example.
(there is no very good factual reason!)

Good on ya for kicking up a minor stormdust, Ed. Even if completely wrong, the
OP sure got some opinions!

(my own experience of "access corruption", though more often than I would
like, I am unable to relate to some of the purported causes. That's because,
like David Fenton, I use the recommended layout most times, and therefore have
little statistical data on the "unrecommended methods". All but one or two of
my 500 or 600 sites use recommended methods, and therefore my nbr sites means
nothing in respect of alternatives!)

(We must presume that David, etc, has extensive experience of "bad practise"!)

Chris

> > No complaints from me, Ed! :-)
> > Chris
>
> Thank you Chris.   :-)
David W. Fenton - 16 Apr 2007 14:49 GMT
> For the likes of the David Fenton's etc (whom I respect very
> greatly and agree with BTW), it must be assumed that he has
> actually TESTED the various options. Yet the averrance to
> suggesting testing this or that alternative, might suggest they/he
> never tried anything else themselves other than the "official
> line"?

I have never created an Access application that was unsplit in
production use.

But I've taken over a lot of them when I was hired to fix the
problems the users were encountering.

So, yes, I've got plenty of experience with unsplit databases --
just not ones designed by *me*.

Signature

David W. Fenton                  http://www.dfenton.com/
usenet at dfenton dot com    http://www.dfenton.com/DFA/

Chris Mills - 04 May 2007 12:45 GMT
"David W. Fenton" wrote in message

> I have never created an Access application that was unsplit in
> production use.
[quoted text clipped - 4 lines]
> So, yes, I've got plenty of experience with unsplit databases --
> just not ones designed by *me*.

And very much appreciated, David.

My experience (of taking over unsplit databases) is limited to one in A2.0 (a
point-of-sale critical one for a retail outlet). There were no problems at all
(that is, there were plenty of problems, but none directly attributable to
being unsplit, or let's say I never proved such!)(it was split, for a reason
you would need to ask the deceased Batchelor of Engineering programmer, who
taught me a thing or two otherwise, by functions ie departments)

Since I don't write unsplit databases, my experience of that is naturally
limited. Slightly related, is that I HAVE run an A97 database, Front-End
SHARED on a server amongst 1/2 doz. NO PROBS. I don't recommend it, I just did
it on one site for the hell of it (and easier during initial "volatile"
development!)

Of course, you mentioned a big change after A97 (ie A2000 onwards). So far as
I've read, that's to do with the bad practice of modifying a design on-line ie
whilst live (barely possible, and thinks: where are the backups even if
possible?) But this is the first I can recall reading that such causes
"corruptions" (as distinct from just whilst trying to modify the design of a
live database!)

And whilst we're at it, let's mention (with the greatest respect and interest,
no sarcasm), Tom Wickerath backed up by posts from Peter Miller, that memo or
large object fields are apparently more prone to corruptions because the
actual data is contained on the "heap". That may be so. Some of my programs
are 90% memo fields, for reasons which are irrelevant here (well, because my
program is so general-purpose that it doesn't put any operator-limit within
reason), and, I claim, I suffer corruptions like anyone but not so much as,
for instance, Tom would claim experience of!

So. Are the untoward corruptions because they were unsplit, or split but
shared FE, or had too many memo fields, or were running A2000 or later, or on
a WAN, or whatever else you say it suffered from? You must be very old to have
experience of all of them!

(My most memorable anecdotal experiences of corruption is this: one or several
of my customers starts experiencing them perhaps daily, but no others do so
it's not the program or "layout" per se. It's...it's...never provable but
either a) they have a bad operator who aborts out of the program b) a subtly
corrupted FE or BE which nevertheless passes all tests c) a bad network or
errant PC or something. Anyway, I solved those sites through no fault of my
own, eventually they stabilised, so they either fired the errant personnel,
changed their computer or network, and I never did find out why they
stabilised because they were remote sites so I couldn't analyse it even if I
knew how. They already had all the std Access layout recommendations. Perhaps
some of the PC's weren't SP'd, but anyone claiming experience would at least
know that asking by telephone results in "honest lies". :-)

Now, I don't for a moment recommend unsplit, (Tony Toews came up with the only
interesting reason), and neither do I read does Ed. But at the same time, it
seems to be the least of my worries. Are you saying the sites you took over
were suffering from corruptions which you solved by splitting? Did anything
else change concommitant with those changes which might have relevance? (eg
did you improve the code as well or PC's or network or something?) It is sooo
easy to be misled, including myself of course. Such as blaming corruptions on
unsplit with no adequately controlled experiment. Anecdotal evidence I
ackowledge as important however, because I have no direct evidence either way
either. If you do, then you haven't presented it beyond a generality.

My purpose, is that this stuff worries me, as I'm sure it does all Access
programmers, and that is all I mean.
Chris :-)
David W. Fenton - 05 May 2007 00:10 GMT
[]

> Since I don't write unsplit databases, my experience of that is
> naturally limited. Slightly related, is that I HAVE run an A97
> database, Front-End SHARED on a server amongst 1/2 doz. NO PROBS.
> I don't recommend it, I just did it on one site for the hell of it
> (and easier during initial "volatile" development!)

A97 was more tolerant of a shared front end, but I never did it
except as a stop-gap.

> Of course, you mentioned a big change after A97 (ie A2000
> onwards). So far as I've read, that's to do with the bad practice
[quoted text clipped - 3 lines]
> distinct from just whilst trying to modify the design of a live
> database!)

Well, you *can't* modify a live A2K+ front end unless you have
exclusive access to it. This is because of the monolithic save
model, where the whole Access project (the forms/reports/etc.) are
saved in a BLOB field of a single record in a system table, as
opposed to A97 and earlier, where each object was a separate record.
Two people can't be editing a single record simultaneously unless
you use optimistic locking and Microsoft chose PESSIMISTIC locking
for the Access project. Thus, simultaneous editing of the Access
project is PROHIBITED at the program level.

I shudder to think what would have happened if they'd chosen
optimistic locking. Of course, I'm skeptical of the benefits of the
monolithic save model in the first place -- seems like a sour grapes
response to a problem that could have been solved in another way.
For one, I don't edit front ends live, since my users don't share
them, so it seems to me that they could have kept the old save model
and required exclusive access for editing the Access project records
and gotten the stability they claim the monolithic save model was
implemented to provide without any of the horrid downside of it
(speed, increased dangers of corruption).

> And whilst we're at it, let's mention (with the greatest respect
> and interest, no sarcasm), Tom Wickerath backed up by posts from
[quoted text clipped - 5 lines]
> reason), and, I claim, I suffer corruptions like anyone but not so
> much as, for instance, Tom would claim experience of!

It's quite well-known that memo field data is not stored with the
record it belongs to but that only a pointer to the data page where
the memo's data is located is stored with the record. That point can
become easily corrupted, and that's the source of instability with
memo fields. The easiest way to work around it is to not edit memos
in bound controls.

> So. Are the untoward corruptions because they were unsplit, or
> split but shared FE, or had too many memo fields, or were running
> A2000 or later, or on a WAN, or whatever else you say it suffered
> from? You must be very old to have experience of all of them!

I don't know. It depends on the contexts.

If you split, but share the front end, you're not getting most of
the benefit of splitting, so I don't see why anyone would do that
(except extreme laziness, which is the only reason I've ever done
it).

Memo corruption has little of nothing to do with the splitting
issue. It's entirely a multi-user and network stability issue.

> (My most memorable anecdotal experiences of corruption is this:
> one or several of my customers starts experiencing them perhaps
[quoted text clipped - 10 lines]
> weren't SP'd, but anyone claiming experience would at least know
> that asking by telephone results in "honest lies". :-)

It's very easy for PCs to revert to non-stable versions of
Access/Jet. Most of my A2K and later apps have code that logs the
Access and Jet versions at sign-on. I don't prevent them from
running if they don't have the correct ones, but if something goes
wrong, I check that log table first to see if anyone is running with
inappropriate software updates. This is almost always the source of
corruption that pops up in an environment that has historically been
stable.

> Now, I don't for a moment recommend unsplit, (Tony Toews came up
> with the only interesting reason), and neither do I read does Ed.
> But at the same time, it seems to be the least of my worries. Are
> you saying the sites you took over were suffering from corruptions
> which you solved by splitting?

Some were. One Access 2 site was running unsplit with a shared
Access 2 database when they converted everybody to Windows 2000.
They had terrible problems (partly due to not knowing to install the
Jet 2.5 service pack, but mostly to incompatibilities in Win2K).
Splitting and putting the front end on everybody's workstation ended
the corruption immediately.

Another client was using A2K and had the same problem, unsplit and
shared. Splitting and putting front ends on the workstations fixed
the problem.

> Did anything
> else change concommitant with those changes which might have
> relevance? (eg did you improve the code as well or PC's or network
> or something?)

In these kinds of situations, which I consider emergencies, the
first thing is stability. I split and distribute front ends to all
the users. At that point, the problems simply go away. No further
work is needed to figure out if there are code issues.

> It is sooo
> easy to be misled, including myself of course. Such as blaming
> corruptions on unsplit with no adequately controlled experiment.
> Anecdotal evidence I ackowledge as important however, because I
> have no direct evidence either way either. If you do, then you
> haven't presented it beyond a generality.

It's not that split apps never corrupt. It's that the most likely
cause of corruption in an unsplit app is that it's unsplit and,
consequently, shared. I don't believe in sharing a front end, so I
never even contemplate splitting and sharing.

> My purpose, is that this stuff worries me, as I'm sure it does all
> Access programmers, and that is all I mean.

I believe there are absolutely no valid objections to splitting and
giving an individual front end to each user. Given that this is the
optimal environment, I don't do any experimenting with any of the
other options, as I consider it a complete waste of time. Why
investigate something that I can prove is conceptually prone to
failure in some cases, even if it might very well work in many?

Signature

David W. Fenton                  http://www.dfenton.com/
usenet at dfenton dot com    http://www.dfenton.com/DFA/

Keith Wilby - 16 Apr 2007 10:00 GMT
>>> And I'm DISAGREEING with you -- it *is* essential in all but the
>>> tiniest number of instances.
[quoted text clipped - 14 lines]
>
> Ed Metcalfe.

That's no doubt true Ed but I still think that the statement "it's rarely
*necessary* to split the database" is wrong, that's all I'm saying, I'm not
trying to be confrontational.

Keith.
Tony Toews [MVP] - 06 Apr 2007 21:54 GMT
>I have a database that only 1 person will be editing data. However about 60
>people will have permission to certain forms. My question is if only one
>person will be editing and everyone else will just be able to view data, is
>it still necessary to split?

See the "Splitting your app into a front end and back end Tips" page
at http://www.granite.ab.ca/access/splitapp/ for more info.  See the
Auto FE Updater downloads page
http://www.granite.ab.ca/access/autofe.htm to make this relatively
painless..   The utility also supports Terminal Server/Citrix quite
nicely.

Tony
Signature

Tony Toews, Microsoft Access MVP
  Please respond only in the newsgroups so that others can
read the entire thread of messages.
  Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm

 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.