Centar za edukaciju-BiH



Warning: filesize(): stat failed for uploads/topics/Slika1_2.jpg in /home2/icentarb/public_html/icentar/showtopic.php on line 406

Warning: getimagesize(uploads/topics/Slika1_2.jpg): failed to open stream: No such file or directory in /home2/icentarb/public_html/icentar/showtopic.php on line 414

Warning: filesize(): stat failed for uploads/topics/PrimjerMp.rar in /home2/icentarb/public_html/icentar/showtopic.php on line 406

#21 15.07.2013 09:15
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,612


Predmet:Re: Spajanje arhiviranih baza
Citat:
Unrecognized database format 'S:\Prodaja_2013_be.ldb'
Ili je ostecena ili je neka novija verzija od od ove kojom radis.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#22 15.07.2013 11:11
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Spajanje arhiviranih baza
Neznam dali si me razumio. Kada otvorim front aplikaciju koja je linkovana sa serverom u direktoriju na serveru se napravi lock file 'Prodaja_2013_be.ldb' Ovo nije fail sa podacima, a funkcija želi iz njega kopirati podatke u 'temp.mdb?
U funkciji KreirajTemp() varijabla 'ImeFaila' u jednom trenutku dobije ime "Prodaja_2013_be.ldb" i tu se javlja greška. Trebalo bi nekako napraviti da se uzimaju u obzir samo *.mdb datoteke.
Ja sam probao sa If ImeFajla = " *.ldb " Then GoTo Kraj , ali to me ne sluša

Slicice prilozenih slika:
Slika1.jpg
Tip datoteke:Informacije o tipu datoteke za:jpg jpg
Preuzimanja:3
Velicina datoteke: Bajt
Velicina slike: {@imagesize->0} x {@imagesize->1} Pikseli
Slika2.jpg
Tip datoteke:Informacije o tipu datoteke za:jpg jpg
Preuzimanja:217
Velicina datoteke:21.63 KB
Velicina slike: 315 x 210 Pikseli


Pozdrav
↑  ↓

#23 15.07.2013 12:32
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,612


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

Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#24 15.07.2013 12:59
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Spajanje arhiviranih baza
Sada to radi kako treba. Moram to dotjerati u svojoj bazi pa ako još bude kakovih problema...

Za sada puno hvala.
Pozdrav
↑  ↓

#25 15.07.2013 19:44
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Spajanje arhiviranih baza
Å to se tiče kopiranja podataka u temp bazu to sve radi OK. Međutim vraćam se na problem zbog kojeg sam i otvorio ovu temu. Naime u sve tri baze iz kojih kopram u temp.mdb u tnlTransakcije počinje se sa Inventurom tj prvi ulaz je prenos zavrÅ¡nog stanja iz proÅ¡le godine. Kod kopiranja bi trebalo izbječi kopirati to stanje znači IDTransakcije = 1 (ali ne za prvu godinu o ovo slučaju iz baze Prodaja_2011_be treba se prepisati IdTransakcije = 1, a iz svih ostali godina ne)
Dali ima riješenja za ovako nešto?
Pozdrav
↑  ↓

#26 15.07.2013 21:39
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,612


Predmet:Re: Spajanje arhiviranih baza
Kazes ne ovu prvu.
Hoce li uvijek ova prva biti 2011 ili je mozda najniza po broju odnosno godini.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#27 16.07.2013 07:11
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Spajanje arhiviranih baza
Kod mene je slučaj da je to 2011 jer onda je zapoćet rad sa konkretnom bazom ali možda bi bolje bilo kada bi se mogla odabrati najniža godina ako se aÅ¡likacija u nekom drugom skladiÅ¡tu počne kristiti ispočetka.
Pozdrav
↑  ↓

#28 16.07.2013 10:18
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,612


Predmet:Re: Spajanje arhiviranih baza
Evo pa istestiraj.
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 Fld As Field
  6. Dim OrgTabela As TableDef, TmpTabela As TableDef
  7. Dim ImeBaze As String, ImeTmpBaze As String
  8. Dim ImeFajla As String, SQL(2) As String
  9. Dim Prefiks As Integer, God As Integer
  10. Dim PrefiksS As String
  11.  
  12.  
  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. 'Provjera:
  20. God = Format(Date, "yy")
  21. ImeFajla = Dir(DirPutanja, vbDirectory)
  22.     Do While Len(ImeFajla) > 0
  23.         ImeFajla = Dir
  24.         If Right(ImeFajla, 3) = "Mdb" Then
  25.             Prefiks = Mid(ImeFajla, (Len(ImeFajla) - 8), 2)
  26.             If Prefiks < God Then: God = Prefiks
  27.         End If
  28.     Loop
  29. 'Tabela transakcije
  30. Set tmpBaza = wrk.CreateDatabase(ImeTmpBaze, dbLangGeneral)
  31. Set OrgTabela = Db.TableDefs("tblTransakcije")
  32. Set TmpTabela = tmpBaza.CreateTableDef("tblTransakcije")
  33. For Each Fld In OrgTabela.Fields
  34.     With TmpTabela
  35.     .Fields.Append .CreateField(Fld.Name, Fld.Type, Fld.Size)
  36.     End With
  37. Next Fld
  38. tmpBaza.TableDefs.Append TmpTabela
  39. Set OrgTabela = Nothing
  40. Set TmpTabela = Nothing
  41. 'tabela ulazizlaz
  42. Set OrgTabela = Db.TableDefs("tblUlazIzlaz")
  43. Set TmpTabela = tmpBaza.CreateTableDef("tblUlazIzlaz")
  44. For Each Fld In OrgTabela.Fields
  45.     With TmpTabela
  46.     .Fields.Append .CreateField(Fld.Name, Fld.Type, Fld.Size)
  47.     End With
  48. Next Fld
  49. tmpBaza.TableDefs.Append TmpTabela
  50. Set OrgTabela = Nothing
  51. Set TmpTabela = Nothing
  52. 'Prenos podataka
  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.                 PrefiksS = Format(Prefiks, "00")
  60.                 If Prefiks = God Then
  61.                 SQL(0) = "WHERE IDTransakcije<>1"
  62.                 Else
  63.                 SQL(0) = ""
  64.                 End If
  65.                      SQL(1) = "INSERT INTO tblTransakcije (IDTransakcije, Datum, Skladiste, IDdokumenta, BrDokumenta, " _
  66.                     & "PartnerID, RadniNalog, OperID, StatusTR, DatumU, Brisanje )IN '" & ImeTmpBaze _
  67.                     & "' SELECT " & PrefiksS & "& [IDTransakcije] AS ID, Datum, Skladiste,IDdokumenta, " _
  68.                     & "BrDokumenta,PartnerID, RadniNalog, OperID, StatusTR,DatumU, Brisanje " _
  69.                     & "FROM tblTransakcije IN '" & ImeBaze & "' " & SQL(0)
  70.                     DoCmd.RunSQL (SQL(1))
  71.                     SQL(2) = "INSERT INTO tblUlazIzlaz ( IDTransakcije, Sifra, Ulaz, Izlaz, Status, DatumU )IN '" & ImeTmpBaze _
  72.                         & "' SELECT " & PrefiksS & " & [IDTransakcije] AS ID, Sifra, Ulaz, Izlaz, Status, DatumU " _
  73.                         & "FROM tblUlazIzlaz IN '" & ImeBaze & "' " & SQL(0)
  74.                     DoCmd.RunSQL (SQL(2))
  75.                      
  76.              End If
  77.         Loop
  78. Set tmpBaza = Nothing
  79. Set Db = Nothing
  80. DoCmd.SetWarnings True
  81. End Function

Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#29 17.07.2013 09:05
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Spajanje arhiviranih baza
Jučer sam testirao ovaj tvoj novi kod i vidim da nije dobro. Zapravo ja sam se zapleo i nisam dobro objasnio. U mom slučaju u prvoj bazi 2011 godine imam 2822 artikla čije stanje je upisano kao ulaz na inventuri pa se inventurno stanje tih artikala se u narednim godinama viÅ¡e nebi trebalo prikazivati. Ali u 2012 imam 132 novo upisana artikla (Query_2012 Without Matching Query_2011) i to bi trebalo upisati. I onda opet u 2013 imam 124 nova artikla kojih nije bilo u predhodnim godinama itd.
E sad ako se ovo može riješiti dobro, a ako ne može opet dobro.

Prilozi:
Informacije o tipu datoteke za:rar  PrimjerMp.rar
Preuzimanja:5
Velicina datoteke: Bajt


Pozdrav
↑  ↓

#30 17.07.2013 09:56
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,612


Predmet:Re: Spajanje arhiviranih baza
Tebi u stvari trebaju oni koji imaju u koloni IdDokumenta <>1.
Jesam li u pravu?
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

Stranice (9):1,2,3,4,5,6,7,8,9


Sva vremena su GMT +02:00. Trenutno vrijeme: 11: 47 pm.