zxz 23.02.2014 21:50
Predmet:Re: Relink sa više kompjutera

Modul ti treba ali ti netrebaju procedure koje sam napisao.
U tom modulu imaju procedure za otvaranje prozora.

pmiroslav 25.02.2014 13:31
Predmet:Re: Relink sa više kompjutera

Da se vratimo na Funkciju Relink2() i problemu sa greÅ¡kom koja se javaljala (o tome smo raspravljali do posta #14). NaÅ¡ao sam problem, a bio je u tome Å¡to mi dvije tablice imaju naziv od dva odvojena stringa (Nacin Placanja i Nacin Isporuke). Znam da je to početnička greÅ¡ka ali to je ostalo od ranije i taj naziv vuče se u dosta Querya i funkcija pa mi je problem to ispraviti. Možemo li onda u funkciji Relink2 napraviti neku promjenu da se može koristiti takav string. Koliko sam primjetio ovo se odnosi na dio

ImeTabele = Rs!Name
Set Rst = Db.OpenRecordset("SELECT * FROM " & ImeTabele & " WHERE False<>False")

jer se ovdje procedura zaustavi.

zxz 25.02.2014 14:17
Predmet:Re: Relink sa više kompjutera

Set Rst = Db.OpenRecordset("SELECT * FROM [" & ImeTabele & "] WHERE False<>False")
Treba staviti u srtednje zagrade.
Moja greska i navika.
Nikad ne pravim ime sa dvije rijeci tako da sam naucio da ne kucam zagrade u imenu tabele.

pmiroslav 27.02.2014 10:31
Predmet:Re: Relink sa više kompjutera

Ovo sada radi, ali još nisam zadovoljan jer ne mogu uvijek birati putanju, a to mi treba.
Zato sam pokušao nešto napraviti sam pa sam napravio tablicu 'tblPutanja' sa poljema 'Putanja' u koje sam upisao putanje do baza koje me zanimaju.
Npr:
D:\Radno\Prodaja_2011_be.mdb
D:\Radno\Prodaja_2012_be.mdb
D:\Radno\Prodaja_2013_be.mdb
D:\Radno\Prodaja_2014_be.mdb
\\Server\RadneBaze\Prodaja_2011_be.mdb
\\Server\RadneBaze\Prodaja_2012_be.mdb
\\Server\RadneBaze\Prodaja_2013_be.mdb
\\Server\RadneBaze\Prodaja_2014_be.mdb

Zatim sam napisao kod:
PreuzmiIzvorni kôd (vbnet):
  1. Function Relink(Putanja As String)
  2. Dim db As DAO.Database
  3. Dim SQL As String
  4. Dim Rs As Recordset
  5. Dim ImeTablice As String
  6.  
  7. Set db = CurrentDb
  8. SQL = "SELECT Name FROM MSysObjects WHERE Database<>Null"
  9. Set Rs = db.OpenRecordset(SQL)
  10. DoCmd.Hourglass True
  11. Do While Not Rs.EOF
  12.     ImeTablice = Rs!Name
  13.     db.TableDefs(ImeTablice).Connect = ";DATABASE=" & Putanja
  14.     db.TableDefs(ImeTablice).RefreshLink
  15. Rs.MoveNext
  16. Loop
  17. Rs.Close
  18.  
  19. DoCmd.Hourglass False
  20. DoCmd.OpenQuery "Q_MsysObjects"
  21.  
  22. End Function

Pozivam ga iz forme na kojem je txtPutanja sa
Call Relink(txtPutanja)
To radi ali jako sporo, treba 3 - 4 minute da se relinkuje oko 40 tablica

zxz 27.02.2014 13:45
Predmet:Re: Relink sa više kompjutera

Hoce to ponekad sporo raditi pogotovo ako je mreza opterecena.
Neznam sta da ti kazem nemam neku ideju za sad.

pmiroslav 27.02.2014 14:12
Predmet:Re: Relink sa više kompjutera

Stvar je u tome Å¡to sada dok ovo isprobavam baze mi uopće nisu na mreži već je sve na mom kompjuteru.
da vidim u čemu je stvar napravio sam novu tablicu koja se zove 'Tablice' sa jednim poljem 'Tablica' i u kodu sam dodao dio

Set rs2 = dbs.OpenRecordset("tablice")

Do While Not Rs.EOF
ImeTablice = Rs!Name
dbs.TableDefs(ImeTablice).Connect = ";DATABASE=" & Putanja
dbs.TableDefs(ImeTablice).RefreshLink
rs2.AddNew
rs2!Tablica = ImeTablice
rs2.Update
Rs.MoveNext
Loop

tako da mi se ime svake tablica koja se relinka upiše.

Dobi sam rezultat da se svaka ime svake tablice upisalo 19 puta.
Zašto Loop prolazi toliko krugova?

zxz 27.02.2014 14:34
Predmet:Re: Relink sa više kompjutera

Nije mi ovo bas nesto kako valja.
Zasto upisujes stalno imena tablica to je poznato i uvijek isto.
Nije ista putanja pa nju eventualno treba zapisati.
ja bih napravio tablicu sa sa 3 polja id utanja i ime tablice.

pmiroslav 27.02.2014 14:56
Predmet:Re: Relink sa više kompjutera

Pa ne upisujem ih stalno, rekao sam prije da sam to napravio kako bih izbrojio koliko puta se petlja Do__Loop vrti.
A i putanju sam zapisao kao Å¡to sam objasnio u postu #30.

zxz 26.02.2014 16:02
Predmet:Re: Relink sa više kompjutera

Sta bi sa ovim.
Mozda ne funkcionise.
Nisam ja puno gledao samo dao odgoc+vor pa ako ne radi da pogledam.

zxz 27.02.2014 18:28
Predmet:Re: Relink sa više kompjutera

Nemogu bas da sagledam kako si to napravio.
Vjerovatno se negdje nesto ponavalja jer i gore imas relink.
Jeli moguce zakaciti primjer toga sto si napravio.