kbrad said:
I know all the advice is to split a database into 2 parts - application and
data -and put the data on a server and the application on individual pcs.
Unfortunately the person I am creating an application for is adamant that
it
is not to be split and is to be used by a couple of pcs accessing the
database which will be on the network.
You should still push to get your application split.
I have no idea why they would not want to split, but then how can you offer
updates
to software if you don't split? With data+ code in one file..you can't offer
software
updates!
How can you even work on a bug, or the next great report why users are
working? (please don't tell me you ask everyone to exit while you work?).
I mean, you can most certainly put a few word documents on the server. But,
I would think that users would have word installed on each pc. The same
concept goes for the runtime, or full version of ms-access (or Excel, or
whatever for that matter!).
And, in fact, in any multiple user applications that YOU write, then YOU
SHOULD do the same idea. Be it Word, Excel, or some application that you
create with ms-access, that mde should be installed on EACH workstation
(and, you are using a mde for the application part..right?).
Just because you start developing software, that does not mean you throw out
all the ideas of installing Word, or Excel, or YOUR mde application on each
workstation.
It is very possible that the people asking you this
question don't understand the difference between a file with data in it, and
something that is an actual software application that you write with
code/forms etc.? On the other hand, if the people giving you this
advice don't know the difference between a file with data, and
a application that runs on windows, then that would explain the
"hesitance" here.
I am willing to bet that the client does not understand the difference
between a document, or a file, and a application?
There is no way that the company is suggesting to install word, or Excel
on the server..are they?
Why such
a huge change of heart here? Why for the last zillion years did the company
installs software on each pc, but all of a sudden now have a brain freeze,
and start installing software on the server for each computer? When did this
idea come along?
I have not talked to ANY support person (who usually knows little about
ms-access), and even they have NEVER EVER suggested that they start
installing software that should run on each pc be now all of a sudden
installed on the server? I simply do NOT believe your request that the
company now wants to remove software from each desktop, and try and run it
on the server???
I guess, we have to bring this whole discussion down a bit, and explain
what
a application is:
A software application is typically something that has code, and has a
interface that interacts with the user. These applications (word, Excel, or
you cool application you just wrote using some development tools) is
generally installed on a pc.
So,
when you have a split database, the back end file is simply a document file
that the front end (software part) opens. Again, you do this with Excel,
Word etc. The same concepts apply here to ms-access. So, it is
important to note that ms-access can store both code, and data. Ms-access is
different then a "document", since ms-access is a tool to MAKE software. I
mean, the fact of the matter is that some developers sat down and make word.
The fact is you sat down, and developed some software also. So, Word, Excel,
or your application
obviously will have two parts:
Application part
+
data file part, or so called document file part when speaking of word
etc.
The main idea or concept I trying to explain here is that you as a general
rule install your applications on your pc. So, you install word on your pc.
So,
you install Excel on your pc. So, you install ms-access on your pc. Now, if
you happen to be a developer, and crate an application with ms-access (or
VB,
or c++, or vb.net), then once again, you should install that application on
each workstation. I don't think this approach should be changed at all here
just because you purchased Word, but actually wrote your own application
here?
(why should the fact that you "MAKE" or purchase software decide where it
gets installed? What kind of logic is that??).
However, just like Word, or Excel, if you want to share the data part, then
you are free to put the data part on a file share and let others use that
file. In the case of Word, Excel, or YOUR cool option, you never did need
to install word, or Excel on the server. You simply use the application
INSTALLED ON YOUR PC to OPEN that file!!
Remember, that data file is just a
dumb plain old file, and the server has no knowledge that word, or excel, or
your cool application is going to open that file. So, you are free to place
word documents on the server. You are free to place Excel documents on the
server. And, you are free to place the data part from YOUR application on
the server also!
All the server is doing here is dishing out files to users. So, be
it word, Excel, or your cool application, no one is suggesting that you
install these applications on the server.
It is importation that I be fair, and I can't possibility assume that the IT
department knows ms-access. It would be MOST un-fair, and un-kind for me to
criticize someone simply because they don't know a product (that would be
just plain rude on my part!!).
However, while your IT department might not understand ms-access, I can bet
you a zillion dollars that the IT department DOES IN FACT AS A GENERAL RULE
install software on each pc. This concept they can understand, and if can't
grasp that concept, then I do have serious criticisms. (so, they don't have
to know ms-access, but any IT department BETTER understand that desktop
software gets installed on each desktop!).
The only thing left here is then to explain that ms-access is a tool used to
MAKE software. Once the concept is explained that ms-access is a tool used
to create software, then I think all will grasp the concept of why you
install it on each pc (since, they do that for all other software).
Again, I am willing to bet that your IT department as a general rule does
install the
software on each pc, and they likely should continue this time honored
approach that they been doing since windows came out. I just don't believe
that your IT department is REALLY suggesting, or asking that code now be
placed on the server instead of each pc.
If those IT people really are suggesting that software be installed on the
server, and NOT on the desktop, then one has to ask why did install
practically everything else on the pc?