runtime error 3343

M

MikeF

Attempting to copy an Access query into Excel.
All References [dao, etc] are set properly, and all syntax below is correct.

DEBUG lands here ...
("D:\ExcTst.accdb")
Set MyQueryDef = MyDatabase.QueryDefs("qryTest_ToExcel")
.... And Runtime Error 3343 / Unrecognized Database Format appears.

How can this be fixed?
Thanx,
- Mike


*** Here's the first part of the code in entirety:

Sub RunAccessTestQuery()

Dim MyDatabase As DAO.Database
Dim MyQueryDef As DAO.QueryDef
Dim MyRecordset As DAO.Recordset
Dim i As Integer

Set MyDatabase = DBEngine.OpenDatabase _
("D:\ExcTst.accdb")
Set MyQueryDef = MyDatabase.QueryDefs("qryTestToExcel")

Set MyRecordset = MyQueryDef.OpenRecordset
 
J

joel

first look at vba help

CreateQueryDef Method Example

Second I would record a macro and then go to the worksheet and try the query
manually from the menu

Data - Import External Data - New Database Query

Then select the query and see if it works. The recorded mqacro should give
you the proper syntax.
 
M

MikeF

Joel,
Thanx for the info.
Nothing works.

*Except* ...
If I open a brand new file, insert a module, copy this code to it, hit f5
--- it runs just fine.
It doesn't make sense.
... At least to me.

joel said:
first look at vba help

CreateQueryDef Method Example

Second I would record a macro and then go to the worksheet and try the query
manually from the menu

Data - Import External Data - New Database Query

Then select the query and see if it works. The recorded mqacro should give
you the proper syntax.

MikeF said:
Attempting to copy an Access query into Excel.
All References [dao, etc] are set properly, and all syntax below is correct.

DEBUG lands here ...
("D:\ExcTst.accdb")
Set MyQueryDef = MyDatabase.QueryDefs("qryTest_ToExcel")
... And Runtime Error 3343 / Unrecognized Database Format appears.

How can this be fixed?
Thanx,
- Mike


*** Here's the first part of the code in entirety:

Sub RunAccessTestQuery()

Dim MyDatabase As DAO.Database
Dim MyQueryDef As DAO.QueryDef
Dim MyRecordset As DAO.Recordset
Dim i As Integer

Set MyDatabase = DBEngine.OpenDatabase _
("D:\ExcTst.accdb")
Set MyQueryDef = MyDatabase.QueryDefs("qryTestToExcel")

Set MyRecordset = MyQueryDef.OpenRecordset
 
J

joel

Access unlike excel is not forward and backwards compatable. With Access
when you get a new version of Access it upgrades the database and makes it
incompatable with previous versions of Access. With Access if you want to
use a database with an earlier version of Access you have to save it in the
earlier version and then it is no longer compatable with the new version.
The database has a version ID in the file to indicate which version of access
it can be used with.

All microsoft office product keep the same file structure. Office products
have Tables, Documents, Pictures, Slices. The .XLS file, .DOC file, .MDB
file, .PPT file all have the same top level structure that can contain
Tables, Documents, Pictures, slides. A Table can be an Excel Sheet, a Access
Table, a Word Table. All the same. Each ahve a version number inbedded in
the Table.

I think you problem is the Worksheet version number isn't compatible with
the Access Table version number. Is that simple enough explanation?

MikeF said:
Joel,
Thanx for the info.
Nothing works.

*Except* ...
If I open a brand new file, insert a module, copy this code to it, hit f5
--- it runs just fine.
It doesn't make sense.
.. At least to me.

joel said:
first look at vba help

CreateQueryDef Method Example

Second I would record a macro and then go to the worksheet and try the query
manually from the menu

Data - Import External Data - New Database Query

Then select the query and see if it works. The recorded mqacro should give
you the proper syntax.

MikeF said:
Attempting to copy an Access query into Excel.
All References [dao, etc] are set properly, and all syntax below is correct.

DEBUG lands here ...
("D:\ExcTst.accdb")
Set MyQueryDef = MyDatabase.QueryDefs("qryTest_ToExcel")
... And Runtime Error 3343 / Unrecognized Database Format appears.

How can this be fixed?
Thanx,
- Mike


*** Here's the first part of the code in entirety:

Sub RunAccessTestQuery()

Dim MyDatabase As DAO.Database
Dim MyQueryDef As DAO.QueryDef
Dim MyRecordset As DAO.Recordset
Dim i As Integer

Set MyDatabase = DBEngine.OpenDatabase _
("D:\ExcTst.accdb")
Set MyQueryDef = MyDatabase.QueryDefs("qryTestToExcel")

Set MyRecordset = MyQueryDef.OpenRecordset
 

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