Prikazi cijelu temu 15.07.2013 12:32
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Lokacija:Tuzla


Predmet:Re: Spajanje arhiviranih baza
Da u pravu si nisam te razumio:
Evo procedura ispravljena.
PreuzmiIzvorni kôd (Visual Basic):
  1. Function KreirajTemp()
  2. Dim wrk As Workspace
  3. Dim Db As Database, tmpBaza As Database
  4. Dim Rs As Recordset, tmpRs As Recordset
  5. Dim OrgTabela As TableDef, TmpTabela As TableDef
  6. Dim ImeBaze As String, ImeTmpBaze As String
  7. Dim ImeFajla As String, SQL As String
  8. Dim Prefiks As Integer
  9.  
  10.  
  11.  
  12. DoCmd.SetWarnings False
  13. ImeTmpBaze = Db_Putanja & "tmp.mdb"
  14. If Dir(ImeTmpBaze) <> "" Then Kill ImeTmpBaze
  15. Set Db = CurrentDb()
  16. Set wrk = DBEngine.Workspaces(0)
  17. 'Tabela transakcije
  18. Set tmpBaza = wrk.CreateDatabase(ImeTmpBaze, dbLangGeneral)
  19. Set OrgTabela = Db.TableDefs("tblTransakcije")
  20. Set TmpTabela = tmpBaza.CreateTableDef("tblTransakcije")
  21. For Each fld In OrgTabela.Fields
  22.     With TmpTabela
  23.     .Fields.Append .CreateField(fld.Name, fld.Type, fld.Size)
  24.     End With
  25. Next fld
  26. tmpBaza.TableDefs.Append TmpTabela
  27.            
  28. ImeFajla = Dir(DirPutanja, vbDirectory)
  29.         Do While Len(ImeFajla) > 0
  30.             ImeFajla = Dir
  31.              If Right(ImeFajla, 3) = "Mdb" Then
  32.              ImeBaze = DirPutanja & ImeFajla
  33.              Prefiks = Mid(ImeBaze, (Len(ImeBaze) - 8), 2)
  34.                 SQL = "INSERT INTO tblTransakcije (IDTransakcije, Datum, Skladiste, IDdokumenta, BrDokumenta, " _
  35.                & "PartnerID, RadniNalog, OperID, StatusTR, DatumU, Brisanje )IN '" & ImeTmpBaze _
  36.                & "' SELECT " & Prefiks & "& [IDTransakcije] AS ID, Datum, Skladiste,IDdokumenta, " _
  37.                & "BrDokumenta,PartnerID, RadniNalog, OperID, StatusTR,DatumU, Brisanje " _
  38.                & "FROM tblTransakcije IN '" & ImeBaze & "';"
  39.                DoCmd.RunSQL (SQL)
  40.              End If
  41.         Loop
  42. Set OrgTabela = Nothing
  43. Set TmpTabela = Nothing
  44. 'tabela ulazizlaz
  45. Set OrgTabela = Db.TableDefs("tblUlazIzlaz")
  46. Set TmpTabela = tmpBaza.CreateTableDef("tblUlazIzlaz")
  47. For Each fld In OrgTabela.Fields
  48.     With TmpTabela
  49.     .Fields.Append .CreateField(fld.Name, fld.Type, fld.Size)
  50.     End With
  51. Next fld
  52. tmpBaza.TableDefs.Append TmpTabela
  53. ImeFajla = Dir(DirPutanja, vbDirectory)
  54.         Do While Len(ImeFajla) > 0
  55.             ImeFajla = Dir
  56.              If Right(ImeFajla, 3) = "Mdb" Then
  57.              ImeBaze = DirPutanja & ImeFajla
  58.              Prefiks = Mid(ImeBaze, (Len(ImeBaze) - 8), 2)
  59.                 SQL = "INSERT INTO tblUlazIzlaz ( IDTransakcije, Sifra, Ulaz, Izlaz, Status, DatumU )IN '" & ImeTmpBaze _
  60.                    & "' SELECT " & Prefiks & " & [IDTransakcije] AS ID, Sifra, Ulaz, Izlaz, Status, DatumU " _
  61.                    & "FROM tblUlazIzlaz IN '" & ImeBaze & "';"
  62.                DoCmd.RunSQL (SQL)
  63.              End If
  64.         Loop
  65. Set OrgTabela = Nothing
  66. Set TmpTabela = Nothing
  67. Set tmpBaza = Nothing
  68. Set Db = Nothing
  69. DoCmd.SetWarnings True
  70. End Function

Podrska samo putem foruma, jer samo tako i ostali imaju koristi od toga.