mdb or accdb

B

Bob Vance

I recently upgraded from MA 2002 to MA2007 my Database is still in mdb
format, Should I convert it to accdb or not?
I am wanting my users to use my database on Microsoft Runtime
 
A

Albert D. Kallal

It Likely is a very good idea to keep the version of the database the same
as the actual version of MS access that you use.

when the issue all kinds above fixes and updates for particular version of
MS access, you can bet your bottoms that the code was first tested with the
same version of access.

when you use the older versions, especially in access 2007, then it's going
have to load a different version of the jet database engine, and that's
probably also not a good idea.

It also as a general rule after have some experience in MS access, you'll
quickly find out that there's many advantages to distribute your application
as a mde (or now accDE). The reason why you do that is because your
application runs faster, loads faster, and further more the code cannot
become un compiled which can be a source of databae bloat. an additional
bonus is that un-handeled errors in your code will NOT reset any varibles.
This means that even your global variables will remain intact. this make
your application far more robust and reliable because an error now will not
blow out any of your variables ever, even when you don't have any error
handling code. this means your application becomes reliable and just
soldiers onward and forward even if an error occurs. This is probably the
greatest advantage of using a mde/accde.

In addition your end users will not be able to modify the reprots, form,
code, or even look at your code. So once again makes a lot of sense to
distribute a mde/accde. Users will not be able to accidentally tamper with
your application. Thus this can save you support dollars because somebody
might have modified your code, or modified part of your forms that broke
your application.

I could likey type on for another fifteen to twenty are even 30 to 40 pages
on this whole development process and why we should probably distribute a
mde.

Of course after saying all the above, it's important to realize that you can
only create a mde, or accde by using the same version of MS access that
you're running for development purposes. I don't suppose I should point out
that if you're going to distribute your application to users, then how do
you propose to distribute updates to users, and that also means you'll
likely have to be using a split database.

So for the above reasons, and additional reasons, it certainly makes sense
to distribute and keep your application in the same version that you're
developing with, because any bug or problem you encounter may not occur all
with a different file format that you're currently using.

Of course the other important reason to upgrade is if you keep an old file
format, then you can't use many of the new features in MS access. The reason
why the file format changes with the new version is because additional
features were added into the file format. These changes are not be
compatible with previous versions. These changes allow you to use new
features. Hence, you'll not be able to use the attachment field data type,
or the new multi-valued fields. I've not checked, but is likely a
possibility that integration with sharepoint would also be broken if you
don't upgrade your file formats.

And for 2007, the support for sharepoint is rather nice. If you sign up for
the free office online, then you can install your database on many computers
all over the country, and they will all be sharing the same data back end
(and, you don't have to purchase SQL server, you don't have to purchase
sharepoint, you don't have to purchase a server). You simply don't need any
hardware, but the free office live, and you get a secure multi-user system
for everyone who runs your appliation. So, this sharepoint stuff is rather
amazing.

If you fail to upgrade your formats to the latest version, then you'll be
forfeiting many of the new features that are available in MS access.
 
B

Bob Vance

Thanks Chris I have been testing it on my laptop with only runtime on it! So
there is no real advantage in changing the file format, I have 3 macros some
people say they are trouble in runtime .........Regards Bob
 
S

Steve Schapel

Bob,

The reason for not liking macros in runtime is that an error can cause
the application to unceremoniously shut down without warning. So it
depends what the macros are, and whether they are likely to error out.
If this is a concern, converting the application to Access 2007 will
then give you access to the new macro error handling functionality.
 
B

Bob Vance

Thanks Albert, I tried to convert my database to accdb from mdb but I am
getting this error each time
You attempted to open a database that is already opened exclusively by user
'Admin' on machine 'ACIPK-MWAHEED'. Try again when
database is avaiable.....................Regards Bob
 
A

Albert D. Kallal

Bob Vance said:
Thanks Albert, I tried to convert my database to accdb from mdb but I am
getting this error each time
You attempted to open a database that is already opened exclusively by
user 'Admin' on machine 'ACIPK-MWAHEED'. Try again when
database is avaiable.....................Regards Bob

I assume the database in on your local drive. While in code (ctrl-g), do a
debug->compile and see if that helps. (You have to be able to compile your
code before you can make a accde - this again is a great reason to use a
mde/acccde, it forces you to compile your code..and thus you don't
distribute/run code with compile errors).

I would also of course do a reboot, and make sure some copy of access is not
running due to some error, or incorrect shutdown.

As mentioned, I would check the permissions, and make sure this is a local
folder as opposed to a network folder...

(try placing (copy) the file in a different dir to see if the problem
persists...
 
T

Tony Toews [MVP]

Albert D. Kallal said:
It Likely is a very good idea to keep the version of the database the same
as the actual version of MS access that you use.

FWIW I've had no problems with folks in A2003 runtime running an A2000
MDE of my app.
when you use the older versions, especially in access 2007, then it's going
have to load a different version of the jet database engine, and that's
probably also not a good idea.

That's a possibility with A2007. However A2000, A2002 and A2003 all
use the same Jet version so I'm not at all worried about them.
It also as a general rule after have some experience in MS access, you'll
quickly find out that there's many advantages to distribute your application
as a mde (or now accDE). The reason why you do that is because your
application runs faster,

Well, I'm not so sure about that.
loads faster, and further more the code cannot
become un compiled which can be a source of databae bloat.

That I would agree with.

Tony
--
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
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
 
B

Bob Vance

Albert I tried all three options you gave me but still got the same error,
My database is on c drive tried using a copy with different name on d drive!
.. you cant import all tables ,forms queries into a blank 2007 Access?
Regards Bob
 
B

Bob Vance

When importing all my data to a blank access 2007 I am getting errors with
my recordset
recHorseID As New ADODB.Recordset
rsOwnerAddress As ADODB.Recordset
My Horses and Clients wont operate..............Thanks Bob
 
B

Bob Vance

Thanks Chris that worked perfect :)
My 2002 Database had
Micosoft DAO 3.6 Object Libary
and 2007 has
Microsoft Office 12.0 Access database Engine Object Libary
Would that look alright to you.............Regards Bob
 
S

Steve Schapel

That's correct, Bob.

Microsoft Office 12.0 Access Database Engine Object Libary is the Access
2007 equivalent of the DAO Library in previous versions.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top