How to get version of MDB from VB

How to get version of Access for an MDB file using VB code?
dvsrajuAsked:
Who is Participating?
 
kulikuliConnect With a Mentor Commented:
try:
set db=currentdb()
msgbox db.properties("AccessVersion")
0
 
kulikuliCommented:
Before being able to read the version you should append a property to the database object using the CreateProperty method.
Then set its value to the version you want to.
Then you are able to retreive the version from VB by reading the property's value.
0
 
kulikuliCommented:
You can enumerate the properties by looping through the database's Properties collection

On creating properties:
There are a couple of examples to be found in the Help-file at the following topics:
CreateProperty
AllowByPassKey
0
Easily Design & Build Your Next Website

Squarespace’s all-in-one platform gives you everything you need to express yourself creatively online, whether it is with a domain, website, or online store. Get started with your free trial today, and when ready, take 10% off your first purchase with offer code 'EXPERTS'.

 
HelicopterCommented:
Or you can try this:

Print SysCmd(7)
0
 
kulikuliCommented:
Helicopter, does this also work from VB?
0
 
dvsrajuAuthor Commented:
I am looking for an answer on how to get the version from an already existing MDB. I just need to know the version of Access for an existing MDB using VB code.
0
 
dvsrajuAuthor Commented:
I need to find the Access version for an existing MDB through VB code.
0
 
HelicopterCommented:
It's still ambiguous. Do you want to be running a database app and report on the version of access that the db is using? (in which case my answer will do the job)

or do you want to (e.g.) list all the mdb files on your drive and have some external application which reports the version for each of them? In which case I think you are going to need a registry search.
0
 
dvsrajuAuthor Commented:
I need to find the version of several MDB's on a particular drive, but those MDB's may not have been created on that system. So I do not expect the registry search to be of any help for the files that are not created by the system.
0
 
dvsrajuAuthor Commented:
If there are no properties for the MDB file, then this option does not work. Even for those MDB's that have properties, we are getting something like 6.74 or 7.53 for version Access 95 and Access 97 respectively where as I expect to get version 7.0 or 8.0 respectively.
0
 
kulikuliCommented:
All the MDB's have from version 7.0 and 8.0 HAVE this property. I don't know about version 2.0 but I assume it will be allright(couldn't test it, because I haven't installed it). You are right about the values that differ from the exact version number. But they still are in line with the exact version number. You have to consider that lower than 7.0 it will be MS Access 7.0 and higher than 7.0 it will be 8.0. You should check 2.0 , but I am quite sure it will be lower than 2.0 if the property exists.

Best regards,

kulikuli
0
 
peroveCommented:
Use this instead

Eval(SysCmd(SYSCMD_ACCESSVER))

this give you 7,or ( or whatever)

0
 
HelicopterCommented:
I already tried that one Perove...(s)he wants the version number of all mdbs on the hard drive without opening them
0
 
lightcrossCommented:
try this site.  its awesome.  you have two options.

1. list all the mdb files on any or all drives connected to your pc (including network drives)

2. a program that allows you to rightclick file and detect version.  it will also allow you to double-click and it will detect and open the correct version of access for that particular file.


http://www.aylott.com.au/accver.htm
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.