Function KreirajTemp()
Dim wrk As Workspace
Dim Db As Database, tmpBaza As Database
Dim Rs As Recordset, tmpRs As Recordset
Dim Fld As Field
Dim OrgTabela As TableDef, TmpTabela As TableDef
Dim ImeBaze As String, ImeTmpBaze As String
Dim ImeFajla As String, SQL(2) As String
Dim Prefiks As Integer, God As Integer
Dim PrefiksS As String
DoCmd.SetWarnings False
ImeTmpBaze = Db_Putanja & "tmp.mdb"
If Dir(ImeTmpBaze) <> "" Then Kill ImeTmpBaze
Set Db = CurrentDb()
Set wrk = DBEngine.Workspaces(0)
'Provjera:
God = Format(Date, "yy")
ImeFajla = Dir(DirPutanja, vbDirectory)
Do While Len(ImeFajla) > 0
ImeFajla = Dir
If Right(ImeFajla, 3) = "Mdb" Then
Prefiks = Mid(ImeFajla, (Len(ImeFajla) - 8), 2)
If Prefiks < God Then: God = Prefiks
End If
Loop
'Tabela transakcije
Set tmpBaza = wrk.CreateDatabase(ImeTmpBaze, dbLangGeneral)
Set OrgTabela = Db.TableDefs("tblTransakcije")
Set TmpTabela = tmpBaza.CreateTableDef("tblTransakcije")
For Each Fld In OrgTabela.Fields
With TmpTabela
.Fields.Append .CreateField(Fld.Name, Fld.Type, Fld.Size)
End With
Next Fld
tmpBaza.TableDefs.Append TmpTabela
Set OrgTabela = Nothing
Set TmpTabela = Nothing
'tabela ulazizlaz
Set OrgTabela = Db.TableDefs("tblUlazIzlaz")
Set TmpTabela = tmpBaza.CreateTableDef("tblUlazIzlaz")
For Each Fld In OrgTabela.Fields
With TmpTabela
.Fields.Append .CreateField(Fld.Name, Fld.Type, Fld.Size)
End With
Next Fld
tmpBaza.TableDefs.Append TmpTabela
Set OrgTabela = Nothing
Set TmpTabela = Nothing
'Prenos podataka
ImeFajla = Dir(DirPutanja, vbDirectory)
Do While Len(ImeFajla) > 0
ImeFajla = Dir
If Right(ImeFajla, 3) = "Mdb" Then
ImeBaze = DirPutanja & ImeFajla
Prefiks = Mid(ImeBaze, (Len(ImeBaze) - 8), 2)
PrefiksS = Format(Prefiks, "00")
If Prefiks = God Then
SQL(0) = "WHERE IDTransakcije<>1"
Else
SQL(0) = ""
End If
SQL(1) = "INSERT INTO tblTransakcije (IDTransakcije, Datum, Skladiste, IDdokumenta, BrDokumenta, " _
& "PartnerID, RadniNalog, OperID, StatusTR, DatumU, Brisanje )IN '" & ImeTmpBaze _
& "' SELECT " & PrefiksS & "& [IDTransakcije] AS ID, Datum, Skladiste,IDdokumenta, " _
& "BrDokumenta,PartnerID, RadniNalog, OperID, StatusTR,DatumU, Brisanje " _
& "FROM tblTransakcije IN '" & ImeBaze & "' " & SQL(0)
DoCmd.RunSQL (SQL(1))
SQL(2) = "INSERT INTO tblUlazIzlaz ( IDTransakcije, Sifra, Ulaz, Izlaz, Status, DatumU )IN '" & ImeTmpBaze _
& "' SELECT " & PrefiksS & " & [IDTransakcije] AS ID, Sifra, Ulaz, Izlaz, Status, DatumU " _
& "FROM tblUlazIzlaz IN '" & ImeBaze & "' " & SQL(0)
DoCmd.RunSQL (SQL(2))
End If
Loop
Set tmpBaza = Nothing
Set Db = Nothing
DoCmd.SetWarnings True
End Function