Prikazi cijelu temu 29.08.2011 14:31
miro35 Van mreze
Clan
Registrovan od:05.01.2009
Lokacija:-


Predmet:Re: Compact and Repair database iz koda
Evo kod mene compact back end baze:

PreuzmiIzvorni kôd (Text):
  1. Dim fa As Integer
  2.     Dim errloop
  3.     Dim F As Integer
  4.     Dim fileCompact As String
  5.     Dim disk As String
  6.    
  7.    
  8.       disk = Left(CurDir(), 2) ' odseca prva dva karaktera od putanje zbog promenljivosti diska.
  9.  
  10.    
  11.    
  12.     fileCompact = disk & "\IH\Moja_Baza.mdb"    ' apsolutna putanja
  13.      'fileCompact = disk & DLookup("[PUTANJA]", "Table1", "[SIFRAKOR]=" & var_sifrakor)  ' relativna putanja
  14.      
  15.      
  16.     F = FreeFile
  17.     Open fileCompact For Binary Shared As #F
  18.     SizeBefore = LOF(F)
  19.     Close F
  20.    
  21.     If MsgBox("Zelite li kompresiju podataka?", vbQuestion + vbYesNo, "Potvrda kompresije") = vbYes Then
  22.            
  23.         On Error GoTo Err_Compact
  24.        
  25.         DoCmd.Hourglass True
  26.        
  27.         If FileExists(Mid(fileCompact, 1, Len(fileCompact) - 3) & "bak") Then
  28.             Kill Mid(fileCompact, 1, Len(fileCompact) - 3) & "bak"
  29.         End If
  30.    
  31.         Name fileCompact As Mid(fileCompact, 1, Len(fileCompact) - 3) & "bak"
  32.         DBEngine.CompactDatabase Mid(fileCompact, 1, Len(fileCompact) - 3) & "bak", fileCompact
  33.         DoCmd.Hourglass False
  34.         MsgBox "Kompresija je izvrÅ¡ena!", vbInformation, "Obavijest"
  35.        
  36.    
  37.         F = FreeFile
  38.         Open fileCompact For Binary Shared As #F
  39.         SizeAfter = LOF(F)
  40.         Close F
  41.         PercentCompaction = (SizeBefore - SizeAfter) / SizeBefore
  42.  
  43.     End If
  44.  
  45.     Exit Sub
  46.  
  47. Err_Compact:
  48.  
  49.     For Each errloop In DBEngine.Errors
  50.         MsgBox "Compaction unsuccessful!" & vbCr & _
  51.             "Error number: " & errloop.Number & _
  52.             vbCr & errloop.Description
  53.  
  54.     Next errloop
  55.  
  56. Done:
  57. End Sub
  58. Function FileExists(strFile As String) As Boolean
  59. Dim I As Integer
  60.  
  61. On Error Resume Next
  62. I = Len(Dir(strFile))
  63. FileExists = (Not Err And I > 0)
  64.  
  65. End Function

Miro