Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Linkovanje tabela u 2.mdb koristeci 1.mdb

[es] :: Access :: Linkovanje tabela u 2.mdb koristeci 1.mdb

[ Pregleda: 1931 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Aleksandar Ilic
BG

Član broj: 132011
Poruke: 4
93.86.44.*



Profil

icon Linkovanje tabela u 2.mdb koristeci 1.mdb28.12.2008. u 11:40 - pre 2087 dana i 21h

Radnim jedan access programčić koji radi sa tebelama iz proizvoljne mdb baze
Logika rada je da u 1.mdb iscitam sve linkovane tabele i linkove na SQL procedure iz proizvoljne baze 2.mdb (kojoj se pristupa preko openDatabase(putanjaBaze)),zatim osvezavanje linkova iz 2.mdb ili linkovanje na odgovarajuce baze (mdb ili ODBC) kodom u 1.mdb, a bez pokretanja 2.mdb - neka vrsta ekaternog link table menagera.
Za sada sam uspeo da prelikujem postojece tabele i procedure, ali mi nikako ne polazi za rukom da kodom iz 1.mdb izbrišem proizvoljne linkovane tabele iz 2.mdb i da linkujem nove. Pokusao sam da izlikujem nove tabele u 1.mdb, pa njihove definicije da prekopiram u 2.mdb, ali mi nije uspelo.

Sve ovo je u cilju manipulacije linkovima u proizvoljnim mdb fajlovima u Access runtime 2003 okruženju

Da li neko slučajno ima rešenje za ovaj problemčić?

Hvala unapred
 
Odgovor na temu

Trtko
Koprivnica

Član broj: 69494
Poruke: 689
93.159.68.*



Profil

icon Re: Linkovanje tabela u 2.mdb koristeci 1.mdb29.12.2008. u 08:15 - pre 2087 dana i 1h
Već sam to negdje postao

Evo ova dolje procedura , procita iz tekstualne datoteke gdje se nalazi *.mdb baza
i onda iz te baze linkuje sve tablice.
Ti si po potrebi prepravi program

Da bi na ekranu , formi gledali i vidjeli sto se desava onda u listbox napunimo imena tablica


na form open

Private Sub Form_Open(Cancel As Integer)
Dim sadiska, putdo, dput As String

sadiska = Application.CurrentProject.Path + "\linkaj.txt"
dput = Dir(sadiska)


If Len(dput) < 3 Then
MsgBox "NE POSTOJI " + sadiska + " MORATE JE KREIRATI"
Exit Sub
End If

Dim TextLine
Open sadiska For Input As #1
Line Input #1, TextLine
putdo = TextLine
Close #1

Dim dbss1 As Database
Set dbss1 = OpenDatabase(putdo)
Dim tbl1 As TableDef
Dim tabstr As String
List1.RowSource = ""
tabstr = ""

For Each tbl1 In dbss1.TableDefs
If tbl1.Attributes = 0 Then
tabstr = tabstr + tbl1.Name + ";"
End If


Next

List1.RowSource = tabstr
Set dbss1 = Nothing

End Sub




' tu dolje linkuje tablice iz navedene putanje

Private Sub klik_Click()
On Error GoTo greska

Dim sadiska, putdo, dput As String

sadiska = Application.CurrentProject.Path + "\linkaj.txt"
dput = Dir(sadiska)

' u linkaj.txt pise.... npr ... d:\podaci\radnici.mdb

If Len(dput) < 3 Then
MsgBox "NE POSTOJI " + sadiska + " MORATE JE KREIRATI"
Exit Sub
End If

Dim TextLine
Open sadiska For Input As #1
Line Input #1, TextLine
putdo = TextLine
Close #1

Dim brk, j As Integer
Dim imetablice As String
brk = List1.ListCount
Dim pozmen As Integer

For j = 0 To brk - 1

List1.Selected(j) = True
imetablice = List1.Column(0, j)

DoCmd.DeleteObject acTable, imetablice
DoCmd.TransferDatabase acLink, "Microsoft Access", putdo, acTable, imetablice, imetablice, False
Me.Repaint
Next j
Exit Sub

greska:
err.Clear
Resume Next
End Sub
 
Odgovor na temu

Aleksandar Ilic
BG

Član broj: 132011
Poruke: 4
93.86.203.*



Profil

icon Re: Linkovanje tabela u 2.mdb koristeci 1.mdb30.12.2008. u 08:31 - pre 2086 dana
Laptopovi

Koliko vidim, ovim kodom se linkuju tabele iz proizvoljne baze u TEKUĆU bazu.

Izgleda nisam baš najjasnije izneo problem.

Naime, meni je potrebno da linkujem tabele iz proizvoljne mdb ili ODBC baze u proizvoljnu bazu 2.mdb i sve to pomoću koda iz tekuće baze 1.mdb.
Znači, na formi baze 1.mdb se unose ili biraju imena i putanje baze iz koje se želi linkovati (npr "c:\3.mdb" ili neki conn. string za ODBC) i baze u koju se želi linkovati ("c:\2.mdb").
Poenta je da malenom Access aplikacijom, recimo sa flash drive-a, kod korisnika izlinkujem neke nove tabele iz više baza na serveru u više programa koji rade na MS Access Runtime 2003 ( znači nije moguće ući direktno u dizajn programa i izlinkovati nove tabele). Pri tom, svi programi koriste SQL i Access baze sa servera i rade na umreženim mašinama.



Hteo bih da izbegnem sledeće:

Podizanje MS Access -a na klijent mašini , linkovanje novih tabela u svaku aplikaciju, obaranje Accessa,
Modifikaciju xy programa na svakom klijent računaru uvođenjem nekih procedura za linkovanje tabela (pošto to treba da se odradi otprilike 200 puta

Inače, čini mi se, gornji kod radi otprilike isto što i "DoCmd.RunCommand acCmdLinkTables".

U svakom slučaju hvala na trudu...
 
Odgovor na temu

Trtko
Koprivnica

Član broj: 69494
Poruke: 689
93.159.69.*



Profil

icon Re: Linkovanje tabela u 2.mdb koristeci 1.mdb30.12.2008. u 15:49 - pre 2085 dana i 17h
Ok, da se i to srediti.

Ali zar ne trebaš i promjeniti program koji koristi tu bazu.
Ako dodaš novu tablicu u tu bazu koju svi koriste, vjerojatno onda trebas i program
promjeniti koji koriste korisnici.

Jel po meni nema smisla linkovat neku tablicu koja se u programu ( kojeg ti nemozes otvoriti ) ne koristi !!!

Jedino ako ti se mozda promjenio naziv servera pa zato moras napraviti novi link sa imenom tog servera
a tablice ostaju iste..

 
Odgovor na temu

Okram_marko
Travnik

Član broj: 15736
Poruke: 445
*.tel.net.ba.



Profil

icon Re: Linkovanje tabela u 2.mdb koristeci 1.mdb23.01.2009. u 18:34 - pre 2061 dana i 14h
Pozdrav,

@Tvrtko:

Posto ja nemam iskustva sa kodom, tako da ne znam gdje da ovo ubacim, zamolio bih te da malo pojasnis.

Ja imam bazu koju sam razdvoio na 2 djela. Jedan dio sa tabelama ide na server a drugi ide na više korisničkih mašina (kao fronted aplikacija).
Gdje da ja sada ubacim potreban cod i kako da definisem taj txt fajl? Kada kazem definisem mislim na imena tabela i lokacije.

Meni se nakon pokretanja fronted aplikacije otvori prva forma sa koje se samo otvara dalje sta je potrebno. Da u cod te forme dodam ovo sta je potrebno ili???

Ovo mi hitno treba!!
Tražio sam po netu ali nigdje da iskopam ovo sa txt fajlom.
I kako da riješim sigurnost? Stavio bi pass na bazu ali kako da ih onda spojim?

Zahvaljujem!

[Ovu poruku je menjao Okram_marko dana 23.01.2009. u 20:09 GMT+1]
..::Photography::..
 
Odgovor na temu

[es] :: Access :: Linkovanje tabela u 2.mdb koristeci 1.mdb

[ Pregleda: 1931 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.