Hur kan man göra om man vill att databasen ska komprimeras automatisk vid uppstart? Du kan använda ADOX kontrollen för det. Sök i tip & tricks efter det ordet. Jag tror inte att den funktionen finns i ADOX...? Jag använder JRO för detta. Börja med att sätte en referens till "Microsoft JET and Replications Objects 2.6 Library" (msjro.dll). >Det går även med DAO hm... tack för hjälpen men jag har fortfarande ett problem... Har du programkoden i Access? I sådana fall finns det på verktygsmenyn i editorn. Är det i VB har du det på Project-menyn. Ok det här använder jag till min Access 2000 databas genom VB.Komprimera databasen vid start
Kan man även göra så att när man har kört några uppgraderingsfrågor att databasen "zippas av sig själv"? Finns det något vb-kommando som man kan lägga in i en vb-modul??
/MiaSv: Komprimera databasen vid start
/PelleSv: Komprimera databasen vid start
Dim jroJet As JRO.JetEngine
Set jroJet = New JRO.JetEngine
jroJet.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\från.mdb;Jet OLEDB", "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\till.mdb"
/JohanSv: Komprimera databasen vid start
Det beror på vilket format det är på databasen. Till Access 2000 måste (?) man nog använda JRO.
/JohanSv: Komprimera databasen vid start
hur sätter man en referens? =)
(Jag arbetar med access 2000)
/MiaSv: Komprimera databasen vid start
/JohanSv: Komprimera databasen vid start
<code>
'i koden kör det här
Call Komprimera(App.Path & "MinData.mdb")
'I en modul
Public Sub Komprimera(Location As String)
Dim strTempFile As String
' skapa en tillfällig fil
strTempFile = App.Path & "Temp.mdb"
' om filen finns kvar så ta bort den
If Len(Dir(strTempFile)) Then Kill strTempFile
' komprimera till tillfällig fil
DBEngine.CompactDatabase Location, strTempFile
' ta bort orginal filen
Kill Location
'nu återskapar vi namnet på databasen fast komprimerad
FileCopy strTempFile, Location
' ta bort tillfällig fil
Kill strTempFile
End Sub
</code>
Hoppas du har nytta av det.