jeg ved ikke om du kan med ado (tror det ikke, kan ikke finde det) men du kan med DAO, her er et eksempel fra hjælpen (husk at tilføje Microsoft DAO 3.6 til dine referencer)
--------------------- This example uses the CompactDatabase method to change the version of a database. To run this code, you must have a Microsoft Jet version 1.1 database called Nwind11.mdb and you cannot use this code in a module belonging to Nwind11.mdb.
Sub CompactDatabaseX2()
Dim dbsNorthwind As Database Dim prpLoop As Property
Set dbsNorthwind = OpenDatabase("Nwind11.mdb")
' Show the properties of the original database. With dbsNorthwind Debug.Print .Name & ", version " & .Version Debug.Print " CollatingOrder = " & .CollatingOrder .Close End With
' Make sure there isn't already a file with the ' name of the compacted database. If Dir("Nwind20.mdb") <> "" Then _ Kill "Nwind20.mdb"
' This statement creates a compact and encrypted ' Microsoft Jet 2.0 version of a Microsoft Jet version ' 1.1 database. DBEngine.CompactDatabase "Nwind11.mdb", _ "Nwind20.mdb", , dbEncrypt + dbVersion20
Set dbsNorthwind = OpenDatabase("Nwind20.mdb")
' Show the properties of the compacted database. With dbsNorthwind Debug.Print .Name & ", version " & .Version For Each prpLoop In .Properties On Error Resume Next If prpLoop <> "" Then Debug.Print " " & _ prpLoop.Name & " = " & prpLoop On Error GoTo 0 Next prpLoop .Close End With
Komprimering af databasen kræver Access installeret på klienten og adgang til Objekt-hierakiet i Access. Hvis det er komprimeing af databser ude på klienter, der ikke har Access installeret, vil jeg foreslå at man har to Access databaser med samme struktur. Det access gør når den 'komprimerer' en database er:
1) opretter en ny database med strukturen 2) kopierer dataene fra den ene originale database til den nye 3) sletter den originale 4) omdøber den nye database fil til samme navn som den gamle
Man kan gøre nøjagtig det samme via ado. Det eneste man skal gøre er, at have en tom database fil man omdøber til den fil man benytter i pkt 1. Hvis I ikke tror mig, så tag en stor Access database og komprimer den fra access mens I holder øje med biblioteket den ligger i fra explorer!
Kennethrisum: Det er meget forkert det du siger, det er INTET krav at access skal være installeret. a1: Jeg er også lidt bange for at ADO mere er tiltænkt ODBC(ol.), men det er sku' da noget lort at man skal lave ref. til to database motorer.
Måske ikke forkert i forhold til virkeliheden, men i forhold til mit spørgsmål.
Synes godt om
Ny brugerNybegynder
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.