Ralf J. said:
flexibility. We may or may not want to at a later date go
to a more powerfull DB engine such as: SQL Server or
perhaps Oracle. Using .NET should allow us to make a DB
switch more easily. Wouldn't it simply be a matter of
changing some connect code?
Sure, but the same applies to ms-access also. Ms-access makes a fine client
to sql server, Oracle, or whatever. I don't see why using .net is going to
make changing the back end datasystem ANY easier at all. If you develop the
ms-access application to work with sql server, or Oracle or whatever, then I
see virtually ZERO time saving to write this thing in .net. In other words,
you might want to use .net, but the argument that it is easer to change the
database engine is nonsense.
If we developed completely in
Access and made a DB switch at a later date we would have
to develope a new interface from scratch which
Why in the world would you have to develop a new interface? If you don't
have
to develop a new interface in .net, the same would apply to ms-access.
If you develop the access application to use, or work with sql server from
the start, then changing to MySql, or whatever engine you use will likely
not be any more work then changing your .net application to use a different
data engine. In theory, you would just change the ODBC connection strings in
ms-access also.
Of course, if you design the .net application to completely hide, or make
the database interface with a nice object that you use for "ALL" database
operations, then yes, I suppose it would be far easier to change the data
engine. However, this ease of change is going to be based on your original
deigns that takes this into account (ie: you isolate all data operations to
a object that you create). However, you could also write a nice class object
in ms-access that isolates most of the database operations also.
You also have to remember that the access runtime can top out at about 160
megs. Normally it is smaller, but it not exactly a light weight install at
all. In fact, it is larger then the whole CLR.
I would say if your plan is to design with a different database engine in
mind, then I would use .net forms, and NOT rely on ms-access at all. You can
most centrally use the JET engine, and thus use the mdb files, but not have
to install ms-access, or the large ms-access runtime.
Either you decide you want to use ms-access as a report writer, or you
don't. However, this is a separate issue from changing the database engine.
So, if your goal here is to not be tied to ms-access, then I would not use
it. You can and most certainly should use JET, but using both .net and
ms-access to avoid using ms-access does not make sense.