majala
asked on
Compacting database
I'm using VB6 pro edition.
I try to compact my Access-database every time when I close my program.
Way I tryed to do it:
CompactDatabase App.Path & "/database.mdb", App.Path & "/newdatabase.mdb"
.
.
But when I do this vb gives me an error:
sub of function not defined...
What could be wrong? I remember that I have used this method sometimes before without any problems...
Thanks in advance!
I try to compact my Access-database every time when I close my program.
Way I tryed to do it:
CompactDatabase App.Path & "/database.mdb", App.Path & "/newdatabase.mdb"
.
.
But when I do this vb gives me an error:
sub of function not defined...
What could be wrong? I remember that I have used this method sometimes before without any problems...
Thanks in advance!
dbengine.compactdatabase
ASKER
Now I got an error:
(after using dbengine.compactdatabase)
Run-time error '424':
Object required
(after using dbengine.compactdatabase)
Run-time error '424':
Object required
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Try using \ instead of /
ASKER
Now I got an error which says that database is already open. I have DbGrid and Data controller in my form which is connected to that database. So I have close that connection before I can compact that database. How I close connection?
Dim db As String
db = Data1.DatabaseName
Data1.DatabaseName = ""
Data1.Refresh
DBEngine.CompactDatabase "olddb", "newdb"
Data1.DatabaseName = db
where data1 is the name of your data controler.
db = Data1.DatabaseName
Data1.DatabaseName = ""
Data1.Refresh
DBEngine.CompactDatabase "olddb", "newdb"
Data1.DatabaseName = db
where data1 is the name of your data controler.
and refresh after setting back the databasename, of course.
That should save you.
That should save you.
ASKER
I tryed that your way to close a database and I got that same error I described in a previous message. Anyway I tryed this:
Data1.Database.close
and it worked.
Data1.Database.close
and it worked.
Try using \ instead of /