VBA - Compact and repair Access 2016 Database from an excel macro

RuiFlora

Board Regular
Joined
Feb 28, 2014
Messages
58
Hi Guys,

I am trying to copy data from excel to Access with ADODB and then in the end i want to compact and repair the database.
The copy process is working fine but i am getting an error for the Compact/repair part. I have the following:

'--------------------------------------
Dim dbPath As String, scn As String, Pathwb as String
Dim Catalog As Object
Dim cn As ADODB.connection

dbPath = Pathwb.Path & "\Flatfile.accdb"
dbPathCompacted = Pathwb.Path & "\NewFlatfile.accdb"

scn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & dbPath & ";"

Set Catalog = CreateObject("ADOX.Catalog")

Catalog.Create scn
Set Catalog = Nothing

Set cn = New ADODB.connection

With cn
.Open scn
.Execute "CREATE TABLE Flatfile 'Creates the db fields.....
End With

TheSQL = "INSERT INTO Flatfile 'SQL to insert into...




cn.Execute TheSQL
cn.Close

DBEngine.CompactDatabase dbPath, dbPathCompact -----> Here I am getting the error "3343: Unrecognized database format (...) \Flatfile.accdb

End Sub
'----------------------------------------------------

I looked over and over the forums about a solution but it goes down to JetEngine which is not supported in latest Access versions. I am stuck.

Thanks a lot if someone has an idea how to solve this.

Cheers!
 
Last edited:

Excel Facts

Copy a format multiple times
Select a formatted range. Double-click the Format Painter (left side of Home tab). You can paste formatting multiple times. Esc to stop

Forum statistics

Threads
1,215,039
Messages
6,122,799
Members
449,095
Latest member
m_smith_solihull

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top