Prikazi cijelu temu 19.07.2013 12:50
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Lokacija:Tuzla


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

Probaj moj ako hoces a mozemo i tvoj dotjerati.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.