leeinnh said:
I would have 25 users but not all 25 would be accessing the program
concurrently.
Maybe 5 or 6 would be using the program at the same time.
That's not a problem. Access is designed to handle that many users just
fine.
If by that you mean access will be over the local network, not a WAN or the
Internet, then that's fine, too. If you need to run over a WAN, things get
more complicated.
We need a high level of security...we need 24x7 uptime with back-up.
Depending on how literally you mean these requirements, they argue for using
a SQL Server back-end, which will probably increase your costs somewhat --
either by a little or a lot depending on what edition of SQL Server you can
use. SQL Server Express is free (with a maximum database size of 4GB), but
you'll still have expenses related to setting it up and adminstering it. If
you already have SQL Server installed, of course, that's not much of an
issue.
By back-end, I refer to the database that actually stores your data. Any
multi-user Access application is best split into a front-end (containing all
the user-interface elements, forms, reports, and code) and a back-end
(containing the data tables). For an Access application, the front-end must
be an Access (Jet/ACE) database, but the back-end can be of a number of
database types. The front-end database, installed on the user's PC, links
to the back-end on the server, and the user never needs to know or care
about the split.
The reasons I asked about security and up-time are:
1. The Access (Jet/ACE) database format is not nearly as secure as that of
an enterprise-scale server database like SQL Server. Essentially, if a user
can get access to the database file, they can crack it and extract data from
it. Also, it's harder to restrict a determined user from seeing data he
shouldn't see. You can design your front-end to limit user access to
specific areas, but it won't keep out a determined, technically savvy user
who understands Access very well.
2. An Access (Jet/ACE) database should be inactive, and ideally closed, when
backups are taken. A backup taken when there is some database process going
on may prove to be invalid later on. Therefore, if your database is going
to be active 24x7, you need to use some other back-end database such as SQL
Server. On the other hand, if you can count on there being a period when
you can reasonably lock the database against all outside connections, you
can backup a Jet database or perform other maintenance at that time.
So you see, you can develop your application with an Access front-end,
giving you all the power of Access as a development environment, and use
either an Access database or a client-server database such as SQL Server as
the back-end, as circumstances warrant.
answer to your question 2: I have no problem taking the time to
learn...learning is like a hobby to me.
That's the fun part!
In regards to my answers, do you think this would be something that could
be
accomplished for my office? Or is the number of users, level of security
or
the need for 24x7 uptime and back-ups a negative for programming with
Access?
I can only hope I've given you more information to make an informed judgment
on the question. *I* would do it, but then this is what I do both as
vocation and avocation.