[ Miro35 @ 02.08.2010. 10:54 ] @
Da li postoji mogućnost da na meniju aplikacije u access-u postavimo neko polje, gdje piše na koju smo bazu ulinkovani.Recimo ja imam u svojim aplikacijama jednu formu gdje izaberem recimo 2009_FinancijskoBaza.mdb i on se spoji na tu bazu odnosno linkuje se na tu bazu.E sad kad bi moglo da to piše u nekom polju u meniju.
[ smal @ 02.08.2010. 11:13 ] @
A što ne bi samo u svaku od baza dodao mikro tabelu koja sadrži godinu, pa je sa DLookup... postavio na glavnoj formi?
[ banem @ 02.08.2010. 11:14 ] @
1) Ako koristiš tvoju funkciju za povezivanje sa BE, onda upiši naziv BE u jednu tabelu, pa čitaj odande

2) Iskoristi ovu funkciju:

Public Function GetDBPath(strTable As String) As String
Dim strFullPath As String
strFullPath = Mid(DBEngine.Workspaces(0).Databases(0).TableDefs(strTable).Connect, 11)

For i = Len(strFullPath) To 1 Step -1
If Mid(strFullPath, i, 1) = "\" Then
GetDBPath = Left(strFullPath, i)
Exit For
End If
Next
End Function

Funkciju pozovi sa nazivom tabele koja je povezana.
[ Miro35 @ 02.08.2010. 11:48 ] @
To već imam na formi ali zanima me može li na meniju programa,jer ja ne ulazim u forme preko switchboard-a nego preko meni bara odnosno tolbara.
[ smal @ 02.08.2010. 12:09 ] @
Ako pod "menijem programa" podrazumevaš TitleBar, onda je kod za njegovo menjanje otprilike sledeći:

Code:
Dim dbs As Database
Set dbs = CurrentDb
dbs.Properties!AppTitle = "Hello World"
Application.RefreshTitleBar


To možeš da staviš bilo gde ti odgovara, na pr na On Open logon forme ili slično.
[ Miro35 @ 02.08.2010. 12:11 ] @
Otprilike tako nešto mi treba,probaću kako ovo radi
[ Getsbi @ 02.08.2010. 12:12 ] @
Prilikom linkovanja pokupiš vrednost iz neke tabele odakle biraš godnine. Onda to iskoristiš recimo na ovakav način i to će ti pisati u Naslovnoj liniji programa.
Code:
CurrentDb().Properties!AppTitle = "VODJENJE POGONSKOG KNJIGOVODSTVA  -  klijent " & DLookup("[SIFRAKOR]", "AS_KLIJENTI", "[PUTANJA]='" & Me![SPISAK] & "'") & " - " & DLookup("[FIRMA]", "AS_KLIJENTI", "[PUTANJA]='" & Me![SPISAK] & "'")
    Me.Application.RefreshTitleBar '  upisivanje u Title Baru  naziva izabranog klijenta
                             ' taj naziv stoji do promene klijenta odnosno do novog
                             ' linkovanja ,cak i posle gasenja i ponovnog paljenja racunara.



Naravno da prvi put, kod prvog linkovanja, moraš u Tools; Startup... da ispišeš ručno.

Eto smal me preteko dok sam prkušavao da ti detaljno opišem postupak.
[ Miro35 @ 02.08.2010. 12:24 ] @
Ovo gore je dobro ali ovo dole od Getsbi je rješenje.Probao sam radi.
[ Zidar @ 03.08.2010. 15:58 ] @
Moguce je dobiti path na back end bez cuvanja u posebnoj tabeli. Napravis ovakav kveri , ime mu je qrySySObjects_MDB
Code:

SELECT MSysObjects.Database, MSysObjects.Name, MSysObjects.ForeignName
FROM MSysObjects
WHERE (((MSysObjects.Database) Is Not Null) AND ((MSysObjects.Connect) Is Null));

Ako imas samo jedan back end, prva kolona kverija sadrzace naziv kompletan path i back end baze.

Ako zelis da procitas path i naziv back end baze, dovoljan je jednostavan Dlookup, na primer
Code:

="Zakaceni ste na fajl:  " & DLookUp("Database","qrySySObjects_MDB")


Onda to so je vratio dlookup mozes da posaljes u Menu Bar, onako kako su banem i getsbi objasnili. Ovo resenej ne trazi da oabacis 'tabelu u kojoj cuvas godine - faljove na koje se linkujes'. Ovde se samo radi d ati procitas iz sistemskih atbela na koji si fajl STVARNO zakacen. meni to koristi kad se prebacjem sa test fajla na radni, ili kad iz nekog razloga menjam lokaciju fajla s podacima.


Ponekad je zgodno znati i gde je tacno aplikacija. Za to ti moze pomoci ova funkcija
Code:

Function AppName() As String
AppName = CurrentDb.Name
End Function

koju posle pozivas iz text boxa kao
Code:

="Startovali ste program: " & AppName()


:-)