Centar za edukaciju-BiH


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

#11 11.07.2013 09:12
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Funkcija SUM uz uvijet
Ja sam to napravio ovako.
Baze se zovu Prodaja_2011_be.mdb , Prodaja_2012_be.mdb i Prodaja_2013_be.mdb
Na kompjuteru korisnika sam mapirao particiju sa servera i ona ima putanju
S:\
originalna putanja je
\\Rd-prodaja\ServerRD~Prodaja_2013_be.mdb

Slicice prilozenih slika:
Image1.jpg
Tip datoteke:Informacije o tipu datoteke za:jpg jpg
Preuzimanja:274
Velicina datoteke:96.69 KB
Velicina slike: 827 x 613 Pikseli
Image2.jpg
Tip datoteke:Informacije o tipu datoteke za:jpg jpg
Preuzimanja:277
Velicina datoteke:68.84 KB
Velicina slike: 805 x 583 Pikseli
Image3.jpg
Tip datoteke:Informacije o tipu datoteke za:jpg jpg
Preuzimanja:263
Velicina datoteke:55.64 KB
Velicina slike: 640 x 320 Pikseli


Pozdrav
↑  ↓

#12 11.07.2013 10:11
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Spajanje arhiviranih baza
Promjenio sam naslov teme jer se viÅ¡e ne radi o onome o čemu smo poćeli.
Pozdrav
↑  ↓

#13 11.07.2013 18:21
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,612


Predmet:Re: Spajanje arhiviranih baza
Evo samo na pocetku u konstanti promijeni putanu da tvojih baza:
PreuzmiIzvorni kôd (Visual Basic):
  1. Const DirPutanja = "D:\Internet\obrada\_TempBaza\Baze\"
  2. Function KreirajTemp()
  3. Dim wrk As Workspace
  4. Dim Db As Database, tmpBaza As Database
  5. Dim Rs As Recordset, tmpRs As Recordset
  6. Dim OrgTabela As TableDef, TmpTabela As TableDef
  7. Dim ImeBaze As String, ImeTmpBaze As String
  8. Dim ImeFajla As String, SQL As String
  9. Dim Prefiks As Integer
  10.  
  11.  
  12.  
  13. DoCmd.SetWarnings False
  14. ImeTmpBaze = Db_Putanja & "tmp.mdb"
  15. If Dir(ImeTmpBaze) <> "" Then Kill ImeTmpBaze
  16. Set Db = CurrentDb()
  17. Set wrk = DBEngine.Workspaces(0)
  18. 'Tabela transakcije
  19. Set tmpBaza = wrk.CreateDatabase(ImeTmpBaze, dbLangGeneral)
  20. Set OrgTabela = Db.TableDefs("tblTransakcije")
  21. Set TmpTabela = tmpBaza.CreateTableDef("tblTransakcije")
  22. For Each fld In OrgTabela.Fields
  23.     With TmpTabela
  24.     .Fields.Append .CreateField(fld.Name, fld.Type, fld.Size)
  25.     End With
  26. Next fld
  27. tmpBaza.TableDefs.Append TmpTabela
  28.            
  29. ImeFajla = Dir(DirPutanja, vbDirectory)
  30.         Do While Len(ImeFajla) > 0
  31.             ImeFajla = Dir
  32.              If Len(ImeFajla) > 2 Then
  33.              ImeBaze = DirPutanja & ImeFajla
  34.              Prefiks = Mid(ImeBaze, (Len(ImeBaze) - 8), 2)
  35.                 SQL = "INSERT INTO tblTransakcije (IDTransakcije, Datum, Skladiste, IDdokumenta, BrDokumenta, " _
  36.                & "PartnerID, RadniNalog, OperID, StatusTR, DatumU, Brisanje )IN '" & ImeTmpBaze _
  37.                & "' SELECT " & Prefiks & "& [IDTransakcije] AS ID, Datum, Skladiste,IDdokumenta, " _
  38.                & "BrDokumenta,PartnerID, RadniNalog, OperID, StatusTR,DatumU, Brisanje " _
  39.                & "FROM tblTransakcije IN '" & ImeBaze & "';"
  40.                DoCmd.RunSQL (SQL)
  41.              End If
  42.         Loop
  43. Set OrgTabela = Nothing
  44. Set TmpTabela = Nothing
  45. 'tabela ulazizlaz
  46. Set OrgTabela = Db.TableDefs("tblUlazIzlaz")
  47. Set TmpTabela = tmpBaza.CreateTableDef("tblUlazIzlaz")
  48. For Each fld In OrgTabela.Fields
  49.     With TmpTabela
  50.     .Fields.Append .CreateField(fld.Name, fld.Type, fld.Size)
  51.     End With
  52. Next fld
  53. tmpBaza.TableDefs.Append TmpTabela
  54. ImeFajla = Dir(DirPutanja, vbDirectory)
  55.         Do While Len(ImeFajla) > 0
  56.             ImeFajla = Dir
  57.              If Len(ImeFajla) > 2 Then
  58.              ImeBaze = DirPutanja & ImeFajla
  59.              Prefiks = Mid(ImeBaze, (Len(ImeBaze) - 8), 2)
  60.                 SQL = "INSERT INTO tblUlazIzlaz ( IDTransakcije, Sifra, Ulaz, Izlaz, Status, DatumU )IN '" & ImeTmpBaze _
  61.                    & "' SELECT " & Prefiks & " & [IDTransakcije] AS ID, Sifra, Ulaz, Izlaz, Status, DatumU " _
  62.                    & "FROM tblUlazIzlaz IN '" & ImeBaze & "';"
  63.                DoCmd.RunSQL (SQL)
  64.              End If
  65.         Loop
  66. Set OrgTabela = Nothing
  67. Set TmpTabela = Nothing
  68. Set tmpBaza = Nothing
  69. Set Db = Nothing
  70. DoCmd.SetWarnings True
  71. End Function
  72. Function Db_Putanja() As String
  73.  '------------------------------------------------
  74. 'Ova funkcija pronalazi putanju postojee baze
  75. 'Autor funkcije ZXZ
  76. '-------------------------------------------------
  77.    Dim Db As Database, Putanja As String
  78.    
  79.     On Error Resume Next
  80.     Set Db = DBEngine(0)(0)
  81.     Putanja = Db.Name
  82.     Do Until Right$(Putanja, 1) = "\"
  83.         Putanja = Left$(Putanja, Len(Putanja) - 1)
  84.     Loop
  85.  
  86.     Db_Putanja = Putanja
  87. End Function

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

#14 11.07.2013 18:51
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Spajanje arhiviranih baza
Kopirao sam ovo u modul i isprobao u Immediate prozoru sa
? KreirajTemp()

funkcija je napravila novu bazu tmp.mdb sa tablicama tblTransakcije i tblUlazIzlaz

Još pitanje dali ovo treba staviti u bazu na serveru ili na Front end
Pozdrav
Ovaj post je ureden 1 puta. Posljednja izmjena 11.07.2013 18:54 od strane pmiroslav. ↑  ↓

#15 11.07.2013 21:29
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,612


Predmet:Re: Spajanje arhiviranih baza
To ide na tvoju api, i konstantu pises putanju do baza na serveru.
Sad mozes drzati linkane tabele iz api i napraviti Query od njih bez obzira sto se stalno baza temp brise i pravi.
Ona ce pokupiti sve podatke iz svih godina koje se nalaze na pisanoj putanji.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#16 13.07.2013 21:07
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,612


Predmet:Re: Spajanje arhiviranih baza
Sta bi za ovo.
Jel treba jos pojasnjenja.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#17 13.07.2013 22:14
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Spajanje arhiviranih baza
Sve je OK. Isprobao sam na malom primjeru i sve radi svrÅ¡eno. Ali viked je, a prava baza mi je na poslu pa ću u ponedeljek probati na originalu, Jedino joÅ¡ ostaje da pomjenim IdTransakcije kao Å¡to sam rekao u postu #9.
MožeÅ¡ li mi i tu pomoći da se nekim kodom da se to brže odradi.
Pozdrav
↑  ↓

#18 13.07.2013 22:30
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,612


Predmet:Re: Spajanje arhiviranih baza
Rijesio sam ti ja to.
Mozda nisi dobro pogledao.
Na svaki idTransakcije dodao sam i 2 cifre godine te sam tako rijesio duplikate.
Znaci nema duplikata i sve je relacijski ispravno.
Nisam htio relacije kodom praviti jer to mozes napraviti u Query-u i njega nemoras brisati on uvijek moze ostati isti bez obzira sto se baza temp svaki puta brise kada pokrenes proceduru.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#19 14.07.2013 10:42
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Spajanje arhiviranih baza
Nisam dobro gledao pa to nisam odmah uočio. To je genijalno.
Hvala na trudu i možda će joÅ¡ biti pitanja sutra kada probam na pravoj bazi.
Pozdrav
↑  ↓

#20 15.07.2013 07:33
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Spajanje arhiviranih baza
Evo upravo isprobavam kod i problem mi pravi *.ldb fail koji se napravi na serveru. Pri pokretanju funkcije KreirajTemp() javlja se greška

Unrecognized database format 'S:\Prodaja_2013_be.ldb'
Pozdrav
↑  ↓

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


Sva vremena su GMT +02:00. Trenutno vrijeme: 2: 14 pm.