PDA

Pogčedajte punu verziju : VBA kako koristiki istu promenjivu kroz vise formi?


vidak
04. 11. 2007., 13:50
Problem:

VB za Access, potrebno mi je da promenjivu koju napravim u nekoj formi mogu da prosledjujem u druge forme uz uslov da u jednom trenutku cak i nemam ni jednu formu otvorenu. Da li je moguce i kako to izvesti.:1041:

Konkretno: pri startovanju programa prva forma sluzi za logovanje korisnika a kasnije mi treba njegov user sa prve forme da bih koristio sql naredbe. Taj problem mogu da izvedem ako povezem otvaranje druge sa zatvaranjem prve i to radi OK ali posle druge ne znam koja ce sledeca forma biti otvorena a postoji mogucnost da korisnik i sve forme zatvori i tek onda otvori novu formu.:1039:

Nadam se da je problem jasno definisan.:1092:

:please:Molio bih da, ako je ovo pocetnicko pitanje, slobodno ga prebacite u grupu pocetnickih pitanja uz celovit i ispravan odgovor.

Unapred zahvalan!

Vidak

djipko
04. 11. 2007., 17:14
Ja bas ne razumem kako da korisnik otvara formu ako su sve forme zatvorene, posto 'korisnik' u Accessu ne bi trebao da vidi koje forme tabele itd ti zapravo imas u aplikaciji, i to bi tako trebalo da se izvede kad to deploy -ujes.
Ideja je da ako je pocetna forma logovanje, sledeca forma koja se otvara ima pretpostavljam neke opcije za pretrazivanje i unosenje u bazu. Na toj formi napravis 'ulogovani ste kao: <textbox sa imenom koji ne moze da se menja> i to koristis za querije kao PocetnaForma.User ili sl. Ovo naravno podrazumeva da je barem jedna (pocetna, posle log forme) forma uvek otvorena, i ako se zatvori da se smatra da se korisnik odlogovao i opciono otvori prazna log forma za ponovan log, i doda upozorenje - ovim postupkom cete se odlogovati kad se pokusa zatvaranje te forme. Ostale otvaras kao 'modal' preko nje (pocetne).
Meni nije jasno kako korisnik da otvara formu ako je sve zatvorio, osim ako mu to ne dozvolis (ili ako drzi shift), ali bi zapravo trebalo da to ne bude tako.

Ili ja nisam dobro razumeo

vidak
04. 11. 2007., 18:22
Ideja koju pominjes je interesantna pokusacu i na taj nacim.
Dobro si razumeo pitanje. Mozda je moje pitanje ne logicno. Zeleo sam da imam opciju da negde smestam promenjivu i ako zatvori sve forme ali izgleda da je to ne moguce.
Hvala

filjo
04. 11. 2007., 18:44
koristi modules

napravi novi modul a u njemu stavi naprimer:

Dim login As String

Function start()
login = ""
End Function

zatim napravi makro koji se zove autoexec (da bi se startovao prilikom otvaranja baze)
a u tom makrou samo pokreni funkciju start()
Tu varijablu login ces moci da koristis u svim formama...