Avatar billede syncroniq Nybegynder
11. januar 2007 - 10:02 Der er 4 kommentarer og
1 løsning

oprette access reference og komprimer basen

Hey,

Jeg vil gerne kunne bruge funktioner fra access i mit program, på en given database. Jeg går ud fra at jeg skal bruge Microsoft Access 11.0 Object Library men ved ikke hvordan.

Nogen der har et kode eksempel? Meget gerne hvor jeg kan se hvordan man komprimer databasen (som fra access selv).

Jeg har søgt nettet uden held. :(
Avatar billede supertekst Ekspert
11. januar 2007 - 10:20 #1
Her er et eksempel, der er anvendt i et større system. Koden findes i Word-VBA, der således håndtere anvendelsen af bl.a. en database, herunder komprimering. Måske kan du anvende dette eksempel:

Sub Start()
Dim ts As String
    xsti = Tools.xsti
    testOmMappeFindes xsti + SikKopDB
   
    kilde1 = xsti + "db_løn.mdb"                    'p.t. database
    kilde2 = xsti + "ny_db_løn.mdb"                'arbejdskopi
   
    lukDB
   
    ts = Format(Now, "dd-mm-yy hhmmss")
    FileCopy kilde1, xsti + SikKopDB + "Kopi_" + ts + "_" + "DB_Løn.mdb" 'Skab en sikkerhedskopi
   
    ShowSize kilde1, "Før komprimering"
   
    If Dir(kilde2) <> "" Then _
      Kill kilde2                                  'slet arbejdsDB hvis eksisterer
     
    DBEngine.CompactDatabase kilde1, kilde2, , , ";pwd=" & Tools.xpw
   
    ShowSize kilde2, "Efter komprimering"
   
    Kill kilde1                                    'slet oprindelige db
    FileCopy kilde2, xsti + "DB_Løn.mdb"            'kopi ny til oprindeligt navn
    Kill kilde2                                    'slet arbejdsDB
End Sub
Avatar billede syncroniq Nybegynder
11. januar 2007 - 10:23 #2
Hey,

Hvad er DBEngine?
Avatar billede syncroniq Nybegynder
11. januar 2007 - 10:42 #3
Hey,

Har fået det til at virke. Smider du et svar, så får du pointene.

Min kode jeg fik til at køre (et meget simpelt program) :

Dim SourceFile As String
Dim DestinationFile As String


Private Sub Command1_Click()
    DBEngine.CompactDatabase SourceFile, DestinationFile
    Label3.Caption = "Filen er dannet"
End Sub

Private Sub Command2_Click()
   
    CD.DialogTitle = "Vælg fil der skal komprimeres"
    CD.ShowOpen
    SourceFile = CD.FileName
    Label1.Caption = "Kildefil : " & SourceFile
   
    CD.DialogTitle = "Vælg destinationsfil for komprimeret database"
    CD.ShowSave
    DestinationFile = CD.FileName
    Label2.Caption = "Destinationsfil : " & DestinationFile

End Sub
Avatar billede supertekst Ekspert
11. januar 2007 - 10:43 #4
"DatabaseMotor" - eksempel fra hjælp:

CompactDatabase Method
       
Copies and compacts a closed database, and gives you the option of changing its version, collating order, and encryption. (Microsoft Jet workspaces only).

Syntax

DBEngine.CompactDatabase olddb, newdb, locale, options, password
Avatar billede supertekst Ekspert
11. januar 2007 - 14:04 #5
Fint det lykkedes - her har du et svar
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
Kurser inden for grundlæggende programmering

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