MS 365 ACCESS 64 bit , JRO.JetEngine , Class not registered

PACALA_BA 1 Reputation point
2024-02-03T15:58:05.9466667+00:00

Hi On Windows 10 , MS 365 ACCESS 64 bit I can add reference to Microsoft Jet and Replication Objects 2.6 Library: C:\Program Files\Common Files\System\ado\msjro.dll Set oJe = CreateObject("JRO.JetEngine")  , Error: Class not registered After successful install of Microsoft Access Database Engine 2016 Redistributable accessdatabaseengine_X64.exe  , the same  with Error: Class not registered Why i cannot use JRO Jet Engine ?

Access Development
Access Development
Access: A family of Microsoft relational database management systems designed for ease of use.Development: The process of researching, productizing, and refining new or existing technologies.
830 questions
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. Albert Kallal 4,896 Reputation points
    2024-02-03T17:32:57.5333333+00:00

    Use of replication was depreciated from Access in 2007 - so that was whapping 17 years ago!

    Access now does not use nor require a reference to DAO anymore. And in fact, since 17 years ago, in 2007, or say launching the latest version of Access?

    You don't need (and in fact DO NOT) want a reference to DAO anymore.

    The DAO object library is now included and is part of MS Access. So, if you create a brand new database, then in reference you note that no DAO reference is seen, nor required: Hence, you get/see this:

    User's image

    Now, while there is NOT a DAO reference in above? You still of course are using DAO objects, and you are still able to use DAO in your code. Hence say this:

        Sub MyTest()
        
            Dim rst         As DAO.Recordset
            Dim strSQL      As String
            
            
            strSQL = "SELECT * FROM tblHotelsA ORDER BY HotelName"
            
            Set rst = CurrentDb.OpenRecordset(strSQL)
            
            Do While rst.EOF = False
            
                ' process table code here
                
                rst.MoveNext
            Loop
            
            rst.Close
            
            
        End Sub
    
    

    So, as above shows, your VBA code still is freely using DAO, and that's the recommended data layer in Access (say as opposed to using ADO - which is still supported, but WILL require a reference in VBA to ADO).

    So, MS-Access now includes the DAO object library by default, but replication in Access was depreciated 17 years ago. Access with the accDB format does not support replication. I suppose one might be able to get JET replication to work, but that would be with mdb file formats, and would be using JET and not ACE. And that means FOR SURE you not make this work in x64 bit version, since there is no x64 bit version of JET, and you have to use ACE when using Access x64 bits.

    1 person found this answer helpful.
    0 comments No comments