Error 3343 - Unrecognized database format typically means the format of the database has changed in some way that the program cannot open the database.
Error 3265 - Item not found in this collection typically means that the database has been corrupt and cannot be opened by OPS 32.
Possibilities:
1. You are opening a later Access database in an earlier version, such as trying to open an Access 2000 database from Access 97, or Your Access database may be corrupt or damaged which is most likely.(http://www.datarevive.com/unrecognized-database-format.php) which there is a feature to repair databases in Job Cal and OPS 32, but you can also go into Access and repair the database with that.
2. (Microsoft http://support.microsoft.com/kb/238401) Another (but very remote) possibility:
CAUSE
Access 2000 and Access 2002 use the Jet 4.0 engine, which creates Jet 4.0 format database files. Jet 3.5 components do not recognize such a format.
• |
If you are using ADO, you get error -2147467259 when you try to connect to your Access 2000 or 2002 database through the Microsoft.Jet.OLEDB.3.51 provider. |
• |
If you are using DAO, you get error 3343 when you use the Microsoft DAO 3.51 Object Library. |
• |
The DAO generic Data Control does not work against Access 2000 or 2002 databases and always generates error 3343 unless it is used as instructed in the "Resolution" section of this article. This occurs because this control is based on Jet 3.51 and only recognizes Jet 3.51 (or before) database formats. |
RESOLUTION
To resolve this problem, use one of the following methods:
• |
Install Visual Studio Service Pack 4 or later. (If you are using the Data Control, change its Connect property to Access 2000.) |
• |
For ADO (or the ADO Data Control), use the Microsoft.Jet.OLEDB.4.0 provider. |
• |
For DAO, add a reference to the Microsoft DAO 3.6 Object Library. |
• |
If you use the generic Data Control, you must open a DAO 3.6 recordset and then assign it to be the source of the Data Control as follows:Option Explicit
Private daoDB36 As Database
Private rs As DAO.Recordset
Dim sPath As String
Private Sub Form_Load()
sPath = _
"C:\Program Files\Microsoft Office\Office\Samples\Northwind.mdb"
Set daoDB36 = DBEngine(0).OpenDatabase(sPath)
Set rs = daoDB36.OpenRecordset("Customers")
Set Data1.Recordset = rs
End Sub
|
• |
This problem has been addressed by Visual Basic Service Pack 4. A new value (Access 2000) has been added for the Connect property that will allow the DAO Data Control to open Access 2000 databases. |