Nemam neke informacije. Da li ti je to što arhiviraš (trebalo bi da budu samo tabele BackEnd) ili su tu i ostali objekti od kojih je moguće da je neki ostao nezatvoren. Ja u principu radim BackEnd na drugoj lokaciji od glavnog .mdb u kojem su mi ostali objekti FrontEnd i odatle pokrećem arhiviranje tabela. Tabele sa BackEnd-a su mi ulinkovane u momentu arhiviranja i zatvorene. Evo ti parče koda možda ti pomogne.
Code:
Private Sub Command4_Click()
Dim fileBackup As String
Dim fileBackupDestination As String
Dim disk As String
Dim foldername As String
Dim DATUM As String
Dim KORISNIK As String
disk = Left(CurDir(), 2) ' tekuci disk
DATUM = Format(Date, "dd_mm_yy") ' pretvaranje tekuceg datuma u string
foldername = disk & "\Arhiv\" & DATUM ' putanja za folder
MkDir foldername ' kreira folder
'fileBackup = disk & "\TF - industrijski menadzment\diplomski rad\virmani.mdb" 'pogonsko knjigovodstvo.mdb" ' apsolutna putanja
'fileBackupDestination = disk & "\arhiv\virmani.mdb" 'pogonsko knjigovodstvo.mdb" ' apsolutna putanja
fileBackup = disk & DLookup("[PUTANJA]", "AS_KLIJENTI", "[SIFRAKOR]=" & var_sifrakor) ' relativna putanja izvora
KORISNIK = Right(fileBackup, 8)
' fileBackupDestination = Left(fileBackup, 3) & "Arhiv" & Mid(fileBackup, 3, 255) ' relativna putanja cilja
fileBackupDestination = disk & "\Arhiv\" & DATUM & "\" & KORISNIK
If IsNull(fileBackup) Then
MsgBox ("Nije selektovan izvorni fajl")
GoTo Done
End If
If IsNull(fileBackupDestination) Then
MsgBox ("Ne postoji destinacija selektovanog fajla")
GoTo Done
End If
If fileBackup = fileBackupDestination Then
MsgBox ("Ne mozete da kopirate u isti fajl")
GoTo Done
End If
If Not FileExists(fileBackup) Then
MsgBox ("Izvorni fajl ne postoji")
GoTo Done
End If
If FileExists(fileBackupDestination) Then
If MsgBox("Da li zelite da arhivirate podatke?", vbYesNo) = vbNo Then
GoTo Done
End If
End If
DoCmd.Hourglass True
FileCopy fileBackup, fileBackupDestination
DoCmd.Hourglass False
MsgBox "Arhiviranje je obavljeno", vbInformation, "Obavestenje"
Done:
End Sub
Code:
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
Linkovanje tabela obzirom da imam više korisnika radim automatski iz kooda ali to možda i nije bitno za tvoj slučaj.
[Ovu poruku je menjao Getsbi dana 27.09.2008. u 20:36 GMT+1]