Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190
iCentar » Racunari i oprema » Programirannje i baze podataka » Access » Relink sa viÅ¡e kompjutera
pmiroslav 28.02.2014 11:54
Predmet:Re: Relink sa više kompjutera

Izgleda da je sada sve u redu. Čini mi se da je SQL zezao

SQL = "SELECT Name FROM MSysObjects WHERE Database<>Null ORDER by Name"

Pa sam umjesto toga napravio tablicu sa popisom svih linkovanih tablica

Set Rs = dbs.OpenRecordset("_tblTablice")

Evo primjer, samo u _tblPutanja treba upisati ispravne putanje.
Prilozi:
Server.rar (Velicina datoteke:177.13 KB)

zxz 28.02.2014 12:20
Predmet:Re: Relink sa više kompjutera

Uf ne svidja mi se ovo nista ali sad nemam vremena.
Kad nadjem vremena pokusat cu ono sto smo radili dodtjerati do kraja.
Koliko se sjecam tamo ti je sve radilo sem toga sto si htio da mozes nekada i mijenjati putanju baza.

pmiroslav 28.02.2014 13:16
Predmet:Re: Relink sa više kompjutera

Ti si profesor, meni treba da radi tako nekako, zanači da mogu birati putanju.
Ako imaÅ¡ bolje rijeÅ¡enje bit ću ti zahvalan.

zxz 28.02.2014 21:18
Predmet:Re: Relink sa više kompjutera

Hehe ovo profesor i ne zvuci lose samo da je istinito.
Evo pa vidi.
Ako imas primjedbi napisi ali nemoj nista popravljati.
Prilozi:
ProbaLinkZXZ.zip (Velicina datoteke:62.81 KB)

pmiroslav 01.03.2014 09:41
Predmet:Re: Relink sa više kompjutera

Ovo odlično radi kao provjera linka pri pokretanju aplikacije.
Ali meni treba način da promijenim putanju linka u toku rada kada je aplikacija već ispravno spojena.
Onako nešto kao što sam napravio u primjeru sa izborom putanje

pmiroslav 19.02.2014 20:49
Predmet:Relink sa više kompjutera

Ima li tko kakav kod za provjeru i relink, linkovanih tablica ako su one sa dvije različite baze, a baze na dva različita kompjutera.
Ja imam kod koji dobro radi ali amo ako su tablice iz iste backend baze.

zxz 19.02.2014 23:03
Predmet:Re: Relink sa više kompjutera

Pa sve je skoro isto samo sto moras imati dvije tabele u jednoj imena baza sa putanjama a u drugoj spisak tabela sa sa sifrom od tabele baze da se zna iz koje je baze.
I sada u Kodu refresh link povlacis podatke iz ovih tabela.
Napravi tabele pa mozemo zajedno odraditi.

pmiroslav 20.02.2014 09:48
Predmet:Re: Relink sa više kompjutera

Evo moj primjer.
Većina tablica u bazi Prodaja.mdb linkovano je na Prodaja_2014_be.mdb, osim tablica 'Proces' i 'tblNalog' koje su linkovane na 'Proces_be.mdb'
Kod relinka mi to stvara problem.
Baze Prodaja_2014.mdb i Proces_Be.mdb nalaze se i na dva različita kompjutera.
Prilozi:
LinkMP.rar (Velicina datoteke:1.12 MB)

zxz 20.02.2014 18:41
Predmet:Re: Relink sa više kompjutera

PreuzmiIzvorni kôd (Visual Basic):
  1. Function Relink2()
  2. Dim Db As Database
  3. Dim Tdf As TableDef
  4. Dim SQL As String
  5. Dim Rs As Recordset
  6. Dim Rst As Recordset
  7. Dim ImeTabele As String
  8. Dim Putanja As String
  9. Dim PutanjaORg As String
  10. Dim Link As Boolean
  11. Dim R
  12.  
  13. On Error Resume Next
  14. Set Db = CurrentDb
  15. SQL = "SELECT Name FROM MSysObjects WHERE Database<>Null"
  16. Set Rs = Db.OpenRecordset(SQL)
  17. Do While Not Rs.EOF
  18. ImeTabele = Rs!Name
  19. Set Rst = Db.OpenRecordset("SELECT * FROM " & ImeTabele & " WHERE False<>False")
  20. Rst.Close
  21.     If err.Number > 0 Then
  22.     MsgBox "Nema konekcije na baze"
  23.     Link = False
  24.     err = 0
  25.     Rs.Close
  26.     GoTo RELINK_TABELA
  27.     End If
  28. Rs.MoveNext
  29. Loop
  30. Rs.Close
  31. Exit Function
  32. RELINK_TABELA:
  33. SQL = "SELECT Database,Name FROM MSysObjects WHERE Database<>Null ORDER By Database"
  34. Set Rs = Db.OpenRecordset(SQL)
  35.  
  36. Do While Not Rs.EOF
  37. ImeTabele = Rs!Name
  38. Putanja = Rs!Database
  39. START_LINK:
  40. If Link = False Then
  41. Dim iResponse As String
  42. R = MsgBox("Vjerovatno putanja nije ispravna." & vbCrLf _
  43. & "ŽeliÅ¡ li odabrati novu putanj za tabelu: " & ImeTabele & "?  ", _
  44. vbOKCancel + vbInformation + vbApplicationModal + vbDefaultButton1, _
  45. Putanja)
  46.     If R = vbOK Then
  47.     PutanjaORg = NadjiBazu("")
  48.     Else
  49.     Quit
  50.     End If
  51. End If
  52. Set Tdf = Db.TableDefs(ImeTabele)
  53. Tdf.Connect = ";DATABASE=" & PutanjaORg
  54. err = 0
  55. Tdf.RefreshLink
  56.     If err <> 0 Then
  57.     Link = False
  58.     GoTo START_LINK
  59.     Else
  60.     Link = True
  61.     End If
  62. Rs.MoveNext
  63. Loop
  64. End Function

Ovu proceduru trebas pozvati pri podizanju baze.
Netrebaju ti vise tvoje procedure:
RelinkTables1
RefreshLinks1
ProvjeraLinka
IsLinked

pmiroslav 20.02.2014 19:00
Predmet:Re: Relink sa više kompjutera

Hvala, isprobati ću sutra na poslu.
JoÅ¡ jedna nejasnoća. Kako je najbolje pozvati ovu proceduru.
Ja recimo imam logFormu koja se prva otvara i gdje se prijavljuje korisnik.
Dali da funkciju pozovem na OnOpen te forme ili nekako drugačije?