Change DB Without MS Access???

  • 18 years ago

    I have been searching for an answer all afternoon.
    I want to know if it is possible to access data (Selct and Edit functions) in an MS Access database table with a VB application without having MS Access installed.
    This is for the distribution of applications to users who don't have MS Access.
    If this is possible, How? What must be included in the distribution pack?
    Thks in advance
    Brad

  • 18 years ago

    If you use the package and deployment wizard (VB6) or a setup project (VB.NET) then it should detect any dependancies and include them in the install files.   If you still have problems past that you might have to include a MDAC update.  You can get that at http://www.microsoft.com/data/.  


  • 18 years ago

    I have tried that in the past without success. I created MS Access 2000 table and when tried to run the application, told me the access table was not the right version. The user had Access'97 on his machine. When I converted the database to a 97 format the program worked fine - Access still installed on machine. Maybe I didn't include the correct dependencies? What is the MDAC and how does it relate to Jet4? If I am using Access 2000 which MDAC vers is the right one to download?
    Sorry for all the questions but I'm new to this side of development and have an urgent need to solve the problem. I have a couple of apps I need to develop which have a stand alone DB.
    Thx
    Brad

  • 18 years ago

    MDAC stands for Microsoft Data Access Components..its a set of libraries/binaries that are used for data and database manipulation.


    Quote:
    What is the MDAC and how does it relate to Jet4? If I am using Access 2000 which MDAC vers is the right one to download?


    just like bjk said..you'd have to update your MDAC to the latest version that would apply to the operating system version that you're using or targeting. more info on that can be found on the ms url that bjk had provided. lookup the appropriate version that you'd need from that url.


    also, make sure that when running your app on the user's machine that it was installed properly. you may create a setup program for your app using the P&D wizard or MS Visual Studio Installer (w/c may be preferable than p&d)


    dunno if this info would suffice, but i hope that it may be a bit useful.

  • 18 years ago

    One thing I forgot to mention is that the MS Access Jet drivers come separately from the MDAC updates but you should be able to find them on the same page as that url.  You have to install the MDAC update first though, thats important... Hope it helps...


  • 18 years ago

    It all depends on what database engine you use to connect to the database.


    Do you use ADO, RDO, or DAO. The most popular one I use is DAO and for Access 2000/2002(XP) you need the DAO 3.6 Library to connect to these database files. With ADO it really doesn't make a difference what version of Access you are using to create the database.


    I've never used RDO so I couldn't and am not going to comment on that.


    If you use DAO or ADO then when you run the PDW it should pick up all required files for ADO or DAO

  • 18 years ago

    RDO - Remote data objects, ADO predecessor


    daniel...

  • 18 years ago

    yes already new that, never used it was what i said


  • 18 years ago

    Let me explain.


    MS Jet is the "engine" that allows database technologies like ODBC and OLEDB to connect to mdb and other data storages.  The two most recent versions of Jet are Jet 3.51 and Jet 4.0.  Jet 3.51 comes with Office 97 and can only open dbs up to Access 97 format.  With the release of Office and Access 2000, a new Jet version was released:  Jet 4.0.  This engine can open all previous Access db formats as well as the newest ones.


    As for database technologies, you have two main choices:  ADO and DAO.  DAO is the older one and cannot use OLEDB.  DAO can only use ODBC or the "propietary" Jet format.  DAO was designed to take full advantage of the Jet engine; this is why more and more people prefer it to access MS Access dbs even though it is older and probably discontinued.  Microsoft has acknowledged that DAO can be up to 10 times faster than ADO when polling data.


    ADO on the other hand is designed to connect to OLEDB providers.  Jet was born in the non-OLEDB days, and although Jet 3.51 and Jet 4 both provide OLEDB, they are not as effective as using DAO in a Jet workspace.


    So, to summarize, if you want to access a MS Access db, you need Jet.  Which one?  Depends on the db version, but as I mentioned earlier, the latest will do the work just fine.  Now the access:  Are you using DAO?  That means your program is dependant on dao3x0.dll, where the x stands for 5 if you use Jet 3.51, or 6 if you use Jet 3.51 or 4.  Finally, I don't know why you have to install MDAC (ADO) before Jet.  It is something only MS guys know.  Just do it.


    As a big note, the Jet installer does NOT provide dao3x0.dll.  You need to redistribute it when you create your installer.

  • 18 years ago

    I always install my apps on a clean test pc testing win98 and windows 2000.  That way if there is a problem you know exactly what you have to update to get it to work...

Post a reply

Enter your message below

Sign in or Join us (it's free).

Contribute

Why not write for us? Or you could submit an event or a user group in your area. Alternatively just tell us what you think!

Our tools

We've got automatic conversion tools to convert C# to VB.NET, VB.NET to C#. Also you can compress javascript and compress css and generate sql connection strings.

“I invented the term Object-Oriented, and I can tell you I did not have C++ in mind.” - Alan Kay