[ ex-Neznalac @ 12.02.2007. 20:43 ] @
Koji je cod za Compact and Repair Database...Na on click sa forme ! Na on click sa forme ! Ne treba mi beckup znam njega napisati već Compact and Repair Database... ali da ne koristim menu. |
[ ex-Neznalac @ 12.02.2007. 20:43 ] @
[ Getsbi @ 13.02.2007. 09:59 ] @
Možda ti pomogne ovaj moj kod za kompresiju baze.
Code: Private Sub Command4_Click() Dim fa As Integer Dim errloop Dim f As Integer Dim fileCompact As String Dim disk As String disk = Left(CurDir(), 2) ' odseca prva dva karaktera od putanje zbog promenljivosti diska. ' fileCompact = disk & "\TF - industrijski menadzment\diplomski rad\struktura_kor.mdb" ' apsolutna putanja fileCompact = disk & DLookup("[PUTANJA]", "AS_KLIJENTI", "[SIFRAKOR]=" & var_sifrakor) ' relativna putanja f = FreeFile Open fileCompact For Binary Shared As #f SizeBefore = LOF(f) Close f If MsgBox("Zelite li kompresiju podataka?", vbYesNo) = vbYes Then On Error GoTo Err_Compact DoCmd.Hourglass True If FileExists(Mid(fileCompact, 1, Len(fileCompact) - 3) & "bak") Then Kill Mid(fileCompact, 1, Len(fileCompact) - 3) & "bak" End If Name fileCompact As Mid(fileCompact, 1, Len(fileCompact) - 3) & "bak" DBEngine.CompactDatabase Mid(fileCompact, 1, Len(fileCompact) - 3) & "bak", fileCompact DoCmd.Hourglass False MsgBox "Kompresija je izvrsena!", vbInformation, "Obavestenje" f = FreeFile Open fileCompact For Binary Shared As #f SizeAfter = LOF(f) Close f PercentCompaction = (SizeBefore - SizeAfter) / SizeBefore End If Exit Sub Err_Compact: For Each errloop In DBEngine.Errors MsgBox "Compaction unsuccessful!" & vbCr & _ "Error number: " & errloop.Number & _ vbCr & errloop.Description Next errloop Done: End Sub Evo je nedostajuća funkcija : Function FileExists(strFile As String) As Boolean Dim i As Integer On Error Resume Next i = Len(Dir(strFile)) FileExists = (Not Err And i > 0) End Function [Ovu poruku je menjao Getsbi dana 10.09.2007. u 23:29 GMT+1] [ ilekicika @ 25.09.2019. 03:11 ] @
Pokušao sam da primenim ovaj cod za Comakt and Repair Database ali mi ne polazi za rukom. Baza mi je urađena u Access 2003 tako što su forme, upiti i izveštji na jednom komjuteru a tabele na serveru povezane linkom. Pokušao sam i na bazi koja se nalazi kompletno na jednom kompjuteru i opet ne radi. Zamoli bih ako možete da okačite primer baze gde se nalazi ugrađen ovaj cod. Pozdrav.
[ ilekicika @ 25.09.2019. 15:29 ] @
Evo uspeo sam, radi ali kada uklonim lozinku sa baze u kojoj su tabele. Sa lozinkom neće, pokušao sam sve moguće konbinacije ali mi javlja grešku Compaction unsuccessvul Error number:3421 Data type conversion error. Molim za pomoć.
[ Getsbi @ 26.09.2019. 15:04 ] @
Nije pisano za zaključanu bazu. To nisam ni pokušavao.
[ ilekicika @ 29.09.2019. 07:52 ] @
Hvala što ste se javili. Pronašao sam rešenje za zaštićenu bazu lozinkom. Codu u ovom delu treba dodati par stavki, i u konkretnom slučaju radi, ali i dalje imam problem, cod radi samo kad je baza razdvojena, kada se kompresuje Back End baza a ne i Front End baza. Cod da radi na otvorenoj bazi nezavisno od lozinke. Da li ima rešenja da se kompresuje kad je baza otvorena sa dugmeta koje se nalazi na nekoj formi kao što to radi kad se Compact and Repair Database... aktivira sa vodoravnog menija.
DBEngine.CompactDatabase Mid(fileCompact, 1, Len(fileCompact) - 3) & "bak", fileCompact, dbLangGeneral & ";pwd=xxxxxx", , dbLangGeneral & ";pwd=xxxxxx" Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|