Avatar billede schoesler Nybegynder
10. september 2002 - 08:54 Der er 5 kommentarer og
1 løsning

Compact og Repair

Hej Eksperter
Nu har jeg fået en ide igen. Findes der en kode for compact og repair eller er der andre måder man kan gøre dette uden at skal "blotte" applikationen.
Hilsen Jan
Avatar billede moses Praktikant
10. september 2002 - 08:59 #1
Public Sub KomprimerAccess(DBPath As String)

Dim fso As Object
Dim engine As Object
Dim tmpFile As String
Dim tmpExt As String

If FileExist(DBPath) Then
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set engine = CreateObject("DAO.DBEngine.40")
   
    On Error Resume Next
    tmpFile = Left$(DBPath, Len(DBPath) - 4)
    tmpExt = Right$(DBPath, 4)
    tmpFile = tmpFile & " 2" & tmpExt
    engine.CompactDatabase DBPath, tmpFile
    fso.DeleteFile DBPath
    fso.MoveFile tmpFile, DBPath
   
    Set fso = Nothing
    Set engine = Nothing
Else
    'Filen eksisterer ikke og kan derfor ikke komprimeres
End If
End Sub
Avatar billede moses Praktikant
10. september 2002 - 09:00 #2
Hvis du gør det ovre fra Visual Basic, skal du så lige have reference til DAO biblioteket.
Avatar billede moses Praktikant
10. september 2002 - 09:02 #3
Læg mærke til, at man KUN kan komprimere over i en anden fil, hvorefter man så sletter den gamle og omdøber den nye til navnet på den gamle!
Så rettighederne skal lige være på plads.
Avatar billede hugopedersen Nybegynder
10. september 2002 - 13:14 #4
Lige gyldig hvordan du end går så kan du IKKE lave compact/repair på den db du har åben uden at lukke den ned !  Gør i stedet det at du sætter din Access 2000 db til at compacte når den lukkes.

Du kan lave noget kode der kan compacte en evt. backend fil, men det kræver at du er alene bruger i det øjeblik du gør det.

Koden til det er ikke så svær - det der er opgaven er at finde ud af om du er alene på.
Avatar billede terry Ekspert
10. september 2002 - 14:42 #5
hi hugo
This cant be such a big problem "det der er opgaven er at finde ud af om du er alene på." If you can open exclusive then your alone!
Avatar billede hugopedersen Nybegynder
10. september 2002 - 14:46 #6
That is why I call it 'opgaven'  It isn't a problem but it is the part that needs most line of code :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester