Prikazi cijelu temu 19.07.2013 11:50
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Lokacija:Osijek


Predmet:Re: Spajanje arhiviranih baza
Sve sam sada to sredio i pokuÅ¡evam kopirati podatke u tmp bazu međutim ne otkopira mi se prva godina (2011) samo 2012 i 2013. Zaustavio sam funkciju i iÅ¡ao sa F8 korak po korak i primjetio da mi varijabla ImeFaila odjedamput promjeni vrijednost (pogledaj slike)
Koristim tvoj prvi kod koji sam neznatno promjenio.
Postavio sam konstantu i za tmp bazu i novim tablicama tao ime tblTransakcije_sve i tblUlazIzlaz_sve
PreuzmiIzvorni kôd (vbnet):
  1. Option Compare Database
  2. Const DirServer = "S:\"
  3. Const DirTemp = "S:\temp\"
  4.  
  5. Function KreirajTemp()
  6. Dim wrk As Workspace
  7. Dim Db As Database, tmpBaza As Database
  8. Dim Rs As Recordset, tmpRs As Recordset
  9. Dim OrgTabela As TableDef, TmpTabela As TableDef
  10. Dim ImeBaze As String, ImeTmpBaze As String
  11. Dim ImeFajla As String, SQL As String
  12. Dim Prefiks As Integer
  13.  
  14. DoCmd.SetWarnings False
  15. ImeTmpBaze = DirTemp & "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_sve")
  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.            
  30. ImeFajla = Dir(DirServer, vbDirectory)
  31.         Do While Len(ImeFajla) > 0
  32.             ImeFajla = Dir
  33.              If right(ImeFajla, 3) = "Mdb" Then
  34.              ImeBaze = DirServer & ImeFajla
  35.              Prefiks = Mid(ImeBaze, (Len(ImeBaze) - 8), 2)
  36.                 SQL = "INSERT INTO tblTransakcije_sve (IDTransakcije, Datum, Skladiste, IDdokumenta, BrDokumenta, " _
  37.                & "PartnerID, RadniNalog, OperID, StatusTR, DatumU, Brisanje )IN '" & ImeTmpBaze _
  38.                & "' SELECT " & Prefiks & "& [IDTransakcije] AS ID, Datum, Skladiste,IDdokumenta, " _
  39.                & "BrDokumenta,PartnerID, RadniNalog, OperID, StatusTR,DatumU, Brisanje " _
  40.                & "FROM tblTransakcije IN '" & ImeBaze & "';"
  41.                DoCmd.RunSQL (SQL)
  42.              End If
  43.         Loop
  44. Set OrgTabela = Nothing
  45. Set TmpTabela = Nothing
  46. 'tabela ulazizlaz
  47. Set OrgTabela = Db.TableDefs("tblUlazIzlaz")
  48. Set TmpTabela = tmpBaza.CreateTableDef("tblUlazIzlaz_sve")
  49. For Each Fld In OrgTabela.Fields
  50.     With TmpTabela
  51.     .Fields.Append .CreateField(Fld.Name, Fld.Type, Fld.Size)
  52.     End With
  53. Next Fld
  54. tmpBaza.TableDefs.Append TmpTabela
  55. ImeFajla = Dir(DirServer, vbDirectory)
  56.         Do While Len(ImeFajla) > 0
  57.             ImeFajla = Dir
  58.              If right(ImeFajla, 3) = "Mdb" Then
  59.              ImeBaze = DirServer & ImeFajla
  60.              Prefiks = Mid(ImeBaze, (Len(ImeBaze) - 8), 2)
  61.                 SQL = "INSERT INTO tblUlazIzlaz_sve ( IDTransakcije, Sifra, Ulaz, Izlaz, Status, DatumU )IN '" & ImeTmpBaze _
  62.                    & "' SELECT " & Prefiks & " & [IDTransakcije] AS ID, Sifra, Ulaz, Izlaz, Status, DatumU " _
  63.                    & "FROM tblUlazIzlaz IN '" & ImeBaze & "';"
  64.                DoCmd.RunSQL (SQL)
  65.              End If
  66.         Loop
  67. Set OrgTabela = Nothing
  68. Set TmpTabela = Nothing
  69. Set tmpBaza = Nothing
  70. Set Db = Nothing
  71. DoCmd.SetWarnings True
  72. End Function


Prilozi:
Image1.jpg
Preuzimanja:213
Velicina datoteke:54.22 KB
Image2.jpg
Preuzimanja:205
Velicina datoteke:59.19 KB
Image3.jpg
Preuzimanja:196
Velicina datoteke:59.41 KB


Pozdrav