Predmet:Re: Greška u proceduri
Mozda je ovako lakse radi tabela.
Kopiras jednu tabelu od naprimjer zadnje 2013 godine i daj jo ime be.mdb.
Udjes u nju i izbrises podatke sve sem kodinih tabela.
Znaci ulaz izlaz pobrises a ostalo moze ostati.
sada kompajliras tabelu i zatvoris.
Ponovo preimenuj ovu tabelu be_mdb u be.sys.
Ovaj be.sys fajl treba da se nalazi tamo gdje i ostale baze.
U tvom slucaju je to d:\baze.
Kod ispod kopiraj u neki modul.
Pozivas proceduru NovaGodina(BrojGodine)
PreuzmiIzvorni kôd (Visual Basic):Function NovaGodina(Godina)
Dim Db As Database, NovaDb As Database
Dim SQL As String
Dim Rs As Recordset
Dim PutanjaBaza As String, Putanja As String
Dim ImeNoveBaze As String
Set Db = CurrentDb()
SQL = "SELECT TOP 1 Database " _
& "FROM MSysObjects " _
& "WHERE Database Is Not Null"
Set Rs = Db.OpenRecordset(SQL)
Putanja = Rs.Fields(0)
Rs.Close
PutanjaBaza = Put_Baza(Putanja)
ImeNoveBaze = "Skladiste_" & Godina & "_be.mdb"
FileCopy PutanjaBaza & "be.sys", PutanjaBaza & ImeNoveBaze
Set NovaDb = OpenDatabase(PutanjaBaza & ImeNoveBaze)
'I sad dolazi tvoj kod za presnimavanje stanja
'stim da koristis svoju postojecu db i novadb za prenos u novu bazu.
'Mislim da ces se snaci da popravis svoj kod.
End Function
Function Put_Baza(Putanja As String)
Dim tmp As String
tmp = Putanja
Do While Right(tmp, 1) <> "\"
tmp = Left(tmp, Len(tmp) - 1)
Loop
Put_Baza = tmp
End Function
Podrska samo putem foruma, jer samo tako i ostali imaju koristi od toga.