A Microsoft Office (Excel, Word) forum. OfficeFrustration

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

Go Back   Home » OfficeFrustration forum » Microsoft Access » Database Design
Site Map Home Register Authors List Search Today's Posts Mark Forums Read  

Stand Alone App Gone Multi User



 
 
Thread Tools Display Modes
  #1  
Old March 11th, 2009, 11:03 PM posted to microsoft.public.access.tablesdbdesign
Brian
external usenet poster
 
Posts: 1,396
Default Stand Alone App Gone Multi User

I created this application a long time ago (Office 95) and it was used by a
few users who were able to work through and with each other to search and add
info. Now the demand has increased to about 50 users needing information from
it.

When do you determine if SQL should be used over Access for your application?

Can you salvage any code, forms, queries or reports in the transition from
Access to SQL?
  #2  
Old March 12th, 2009, 12:33 AM posted to microsoft.public.access.tablesdbdesign
Allen Browne
external usenet poster
 
Posts: 11,706
Default Stand Alone App Gone Multi User

To help you determine if you need to use a different database engine, JET
(the database engine in Access) has these limits:

- If there will be more than a few dozen users.

- If you envision many millions of records in some tables

- If you need serious security

- If you need to use the database on a network with unreliable connections
(including WiFi, WAN, ...)

- If the database must run 24x7 (i.e. you cannot ever take it off-line to
make backups or perform maintenance.)

If none of those apply, you can use the tables in Access. 50 users is
significant, but a well-designed Access application will cope with that. If
many are just reading, not modifying data, it may cope with more.

If you move the back end to SQL Server, and keep the front end as Access,
you will probably need to modify the application significantly, as it is not
really designed as a client/server app. For example, it's quite common to
see an Access form bound to a table with 100k records, with half a dozen
subforms bound to large tables, with each one having several combo boxes.
This kind of thing works fine in Access with JET tables, but you won't find
it usable under SQL Server.

--
Allen Browne - Microsoft MVP. Perth, Western Australia
Tips for Access users - http://allenbrowne.com/tips.html
Reply to group, rather than allenbrowne at mvps dot org.

"Brian" wrote in message
...
I created this application a long time ago (Office 95) and it was used by a
few users who were able to work through and with each other to search and
add
info. Now the demand has increased to about 50 users needing information
from
it.

When do you determine if SQL should be used over Access for your
application?

Can you salvage any code, forms, queries or reports in the transition from
Access to SQL?


  #3  
Old March 12th, 2009, 06:44 AM posted to microsoft.public.access.tablesdbdesign
Dennis
external usenet poster
 
Posts: 1,222
Default Stand Alone App Gone Multi User

Allen,

Where would I go to read about the different approach using SQL vs Access.
I've read a few short articles about this, but they did not explain much
other than it involves some work.

When I design a system, I would like to design it so it can be converted to
SQL with as least work as possible.


--
Dennis


  #4  
Old March 12th, 2009, 07:01 AM posted to microsoft.public.access.tablesdbdesign
Allen Browne
external usenet poster
 
Posts: 11,706
Default Stand Alone App Gone Multi User

Hmm. Others may be able to suggest resources for this.

From Microsoft:
http://support.microsoft.com/kb/241743
http://support.microsoft.com/kb/237980
http://www.microsoft.com/sql/solutio...s/default.mspx

From others:
http://www.jstreettech.com/cartgenie...rDownloads.asp
http://www.ssw.com.au/SSW/Database/D...DocsLinks.aspx

--
Allen Browne - Microsoft MVP. Perth, Western Australia
Tips for Access users - http://allenbrowne.com/tips.html
Reply to group, rather than allenbrowne at mvps dot org.

"Dennis" wrote in message
...

Where would I go to read about the different approach using SQL vs Access.
I've read a few short articles about this, but they did not explain much
other than it involves some work.

When I design a system, I would like to design it so it can be converted
to
SQL with as least work as possible.


  #5  
Old March 12th, 2009, 02:40 PM posted to microsoft.public.access.tablesdbdesign
Dennis
external usenet poster
 
Posts: 1,222
Default Stand Alone App Gone Multi User

Allen,

Once again, I want to thank you for you assitance.

--
Dennis


  #6  
Old March 12th, 2009, 10:40 PM posted to microsoft.public.access.tablesdbdesign
David W. Fenton
external usenet poster
 
Posts: 3,373
Default Stand Alone App Gone Multi User

"Allen Browne" wrote in
:

it's quite common to
see an Access form bound to a table with 100k records, with half a
dozen subforms bound to large tables, with each one having several
combo boxes. This kind of thing works fine in Access with JET
tables, but you won't find it usable under SQL Server.


I wouldn't say that works well with a Jet back end, to be honest. I
was avoiding designs like that long before I ever upsized to SQL
Server, simply because they performed incredibly poorly (as should
be obvious from the description).

--
David W. Fenton http://www.dfenton.com/
usenet at dfenton dot com http://www.dfenton.com/DFA/
  #7  
Old March 12th, 2009, 10:48 PM posted to microsoft.public.access.tablesdbdesign
David W. Fenton
external usenet poster
 
Posts: 3,373
Default Stand Alone App Gone Multi User

=?Utf-8?B?RGVubmlz?= wrote in
:

When I design a system, I would like to design it so it can be
converted to SQL with as least work as possible.


I think Allen overrates the difference between a well-designed
Access front end for use with a Jet back end and for use with SQL
Server. The same things that make a client/server app efficient will
also enhance the efficiency of an app using a Jet back end. The main
principle is:

Don't retrieve data until the users needs it.

That means:

1. never bind a form to a full table -- ask the user which
record/records to load and then write the recordsource on the fly,
with a custom WHERE clauses limiting the number of records to
exactly those that are needed.

2. don't populate subforms that aren't visible to the user -- if
you've got a tabbed form with subforms on different forms, don't
load the subforms until the tab is displayed. Alternatively, don't
assign a recordsource to the subforms until the tab is displayed.
The tab control's OnChange event can handle this easily. This is one
where you will likely compromise, as heavyweight subforms may take a
long time to populate, so you may want to take the performance hit
for those particular subforms in the OnCurrent event of the main
form instead of in the OnChange event of the tab, simply because it
may be better for your users to have the wait to load the data in a
different place.

3. limit all listboxes and combo boxes to reasonable numbers of
records -- there is no such thing as a user-friendly combo box with
10,000 records. In those cases, load the recordsource on the fly
after the user has typed 2 or 3 characters. This will mean that
there is no hit to retrieve the combo box data until the user
actually tries to *use* the combo box. There are some issues with
this, such as displaying previously-entered data, but that can be
worked around in the OnCurrent event of the form the combo box is on
by assigning the recordsource on-the-fly to display just the record
with the current value the combo box is bound to. This can also
cause issues with continuous forms, but my opinion is that
continuous forms should not be used for editing, so combo boxes
don't belong on them in the first place.

That's just three things that follow from the main principle. These
things will enhance the efficiency of an application regardless of
what the back end is, and I've used these principles for years in my
Access/Jet apps on the theory that I might one day upsize to SQL
Server. The end result is that whenever I *have* ended up upsizing
(and it's been surprisingly seldom, precisely because the apps
worked so well as designed with a Jet back end), it's taken very
little work to make things efficient with SQL Server -- that work
was already part of the underlying design of the app from the very
beginning.

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




Thread Tools
Display Modes

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

vB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Forum Jump


All times are GMT +1. The time now is 05:47 PM.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 OfficeFrustration.
The comments are property of their posters.