Centar za edukaciju-BiH


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

#41 18.07.2013 15:43
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,612


Predmet:Re: Spajanje arhiviranih baza
E sad bi trebalo mozda popraviti i onaj kod za temp bazu.
Samo SQl treba popraviti. Bit ce jos jednostavniji kod jer sad prebacujes sve podatke.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#42 18.07.2013 18:54
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Spajanje arhiviranih baza
HočeÅ¡ li biti ljubazan pa mi objaniti Å¡to znači ovaj uvjet u SQL-u.

"SELECT * FROM tblTransakcije WHERE False<>false"
Pozdrav
↑  ↓

#43 18.07.2013 20:50
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,612


Predmet:Re: Spajanje arhiviranih baza
Ako je upolju false a uslov na tom polju razlicito od false onda znaci da niti jedan red nece zadovoljiti uslov pa ces dobiti praznu tabelu za unos.
To koristim da nebi podizao podatke bez veze kada netrebaju.
U ovom slucaju su mi tabele trebale samo za upis a ne za pregled.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#44 18.07.2013 20:52
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,612


Predmet:Re: Spajanje arhiviranih baza
Moglo bi se to napisati i ovako:
SELECT *
FROM tblTransakcije
WHERE 1<>1

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

#45 19.07.2013 11:50
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


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


Slicice prilozenih slika:
Image1.jpg
Tip datoteke:Informacije o tipu datoteke za:jpg jpg
Preuzimanja:213
Velicina datoteke:54.22 KB
Velicina slike: 961 x 267 Pikseli
Image2.jpg
Tip datoteke:Informacije o tipu datoteke za:jpg jpg
Preuzimanja:205
Velicina datoteke:59.19 KB
Velicina slike: 1003 x 273 Pikseli
Image3.jpg
Tip datoteke:Informacije o tipu datoteke za:jpg jpg
Preuzimanja:196
Velicina datoteke:59.41 KB
Velicina slike: 990 x 272 Pikseli


Pozdrav
↑  ↓

#46 19.07.2013 12:50
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,612


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.
↑  ↓

#47 19.07.2013 13:57
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Spajanje arhiviranih baza
Ako sve tri baze kopiram na svoj kompjuter u direktorij "D:\Server\" i napišem
Const DirPutanja = "D:\Server\"
Sve se otkopira u redu.
Ali kod mene je situacija kao Å¡to sam objasnio u postu #11 ove teme.
Kako onda da napišem putanju ?

PS. Kod sa kojim radim je ovaj tvoj samo Å¡to sam promjenio putanju i naziv tablica u tmp.mdb
Pozdrav
Ovaj post je ureden 1 puta. Posljednja izmjena 19.07.2013 14:02 od strane pmiroslav. ↑  ↓

#48 19.07.2013 15:31
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,612


Predmet:Re: Spajanje arhiviranih baza
Evo ja sam stavio na drugi comp i sve radi kroz mrezu.
Evo kako se putanjea pise:
Const DirPutanja = "\\ImePS\Dir\Dir\"
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#49 19.07.2013 18:23
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Spajanje arhiviranih baza
Meni nije jasno dali ja radim dobar posao pa molim objašnjenje.
Tablice moje baze su smjeÅ¡tene na kompjuteru čije je ime Rd-prodaja. Tu sam napravio direktorij koji se zove ServerRD i u tom direktoriju su baze sa tablicama. Znači izvorna putanja do baza je
"\\Rd-prodaja\ServerRD\"
Međutim radi bržeg pristupa direktoriju sa bazama uradio sam 'Map Network Drive..." tako da sada u exploreru imam mrežni disk čije je ime ServerRD on 'Rd-prodaja'(S:).
Kada linkam tablice linkam se na S:\ i to radi dobro.
Zašto je to onda problem kada u ovoj funkciji napišem
Const DirPutanja = "S:\"
Pozdrav
↑  ↓

#50 19.07.2013 22:16
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,612


Predmet:Re: Spajanje arhiviranih baza
Da budem iskren nisam mapirao disk jos od dosa.
Koliko se sjecam ti mapiras disk sa drugog compa a treba i dodati i direktorije.
U tvom slucaju bi to bilo:
S:\ServerRD\
Mada je po meni mnogo blje dati putanju i ne mapirati diskove.
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: 33 pm.