Bosna i Hercegovina



#1 13.05.2019-08:03
pmiroslav Offline
Clan
Registrovan/a od: 02.02.2009-10:32
Komentari: 1,405


Subject: Custom Menu dozvole
U svojoj Ms Access 2003 aplikaciji imam startup formu za logiranje sa kojom između ostalog dodajem prava pristupa:
1, Administrator
2, Operator
3, Gost

također sam napravio i Castom Menu bar sa kojeg se otvaraju određene formre.
Moje pitanje je dali se na tom Menu baru mogu zabraniti pojedina izvrašavanja (Enable - Disable) zavisno o pravima korisnika koji se prijavio (ulogirao)

Ikona prilozene slike:
Menu.jpg
Tip fajla: Informacije o fajlu: jpg jpg
Preuzimanja: 18
Veličina: 41.42 KB
Veličina slike: 409 x 232 Pixels


Pozdrav
↑  ↓

#2 14.05.2019-22:01
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,934


Subject: Re: Custom Menu dozvole
Najlaksi nacin ti je da napravis za sva tri razlicite menije.
Naravno to je najprostije.
Ja imam citav kod za to i tabelu pa ako si voljan to koristiti mogu ti predociti.
Kod mene je cio meni u tabeli i imas tamo i polje dozvole.
E sa ako nije puno zahtjevno odnosno ako hoces samo da provjeris koeisnika onda mozes sa jednom funkciom to odraditi:

Function OtvoriSaMenija()
Dim ID As Integer
Dim ImeO as string

ImeO = Application.CommandBars.ActionControl.Tag
ID = Application.CommandBars.ActionControl.Parameter

End Function
U tag Upises ime objekta koji pokreces a u Parametar upises id korisnika.

zanci sad na osnovu id korisnika pokreces objekat ili obavjestavas ga da nemoze koristiti.
Pozdrav
↑  ↓

#3 15.05.2019-07:07
pmiroslav Offline
Clan
Registrovan/a od: 02.02.2009-10:32
Komentari: 1,405


Subject: Re: Custom Menu dozvole
Hvala na odgovoru. Nisam se baš u životu puno bavio izradom Menu-a i nisu mi sve stvari baš najjasnije.
Neznam kako se sa menu-a poziva funkcija.
Kada izrađujem menu imamo ponuđeno:
All Tables
All Queries
All Forms
itd.

ali nema All Functions.
Može li objašnjenje oko toga.
Ja sam radio makro iz kojeg pozivam funkciju ali to mi se ne čini baš najelegantnije.

Na jednom drugom forumu sam pronašao tvoj primjer RG_ES u kojem je tablica L_MeniLista. Upravo gledem u to ali kako rekoh nije mi sve baš jasno.

Ikona prilozene slike:
Menu_2.jpg
Tip fajla: Informacije o fajlu: jpg jpg
Preuzimanja: 9
Veličina: 123.62 KB
Veličina slike: 561 x 477 Pixels


Pozdrav
↑  ↓

#4 15.05.2019-09:15
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,934


Subject: Re: Custom Menu dozvole
Pa neznam kako da ti odgovorim na ovo.
Trebas reci na koji nacin zelis to rijesiti pa cu ti pomoci u tvom ili nekom konkretnom primjeru.
Samo okaci primjer i reci sta hoces.
Pozdrav
↑  ↓

#5 15.05.2019-11:02
pmiroslav Offline
Clan
Registrovan/a od: 02.02.2009-10:32
Komentari: 1,405


Subject: Re: Custom Menu dozvole
Evo primjer:
Imam tri vrste korisnika aplikacije
1 - Administrator (ima sva prava)
2 - Operator (smije mijenjati samo svoje korisničko ime i šifru)
3 - Gost (smije samo pregledavati podatke)

Menu - Korisnik > otvara formu "frmPristup"

opcija 1 Enabled je 'OperID'; 'Sifra'; 'OIB' i 'PravaPristupa'
opcija 2 Enabled je 'OperID'; 'Sifra'; 'OIB'
Opcija 3 MsgBox "Nemate prava pristupa formi"

Menu - Korisnik novi > otvara formu "frmPristup"

opcija 1 Otvara se prazna forma za upis novog korisnika
opcija 2 i 3 MsgBox "Nemate prava pristupa formi"

Menu Knjiženje

Međuskladišna
Povratnica
Revers

Poziva se OtvoriF()

Ja sam to riješio sa makrima ali mbih volio bez njih

Također ovdje gost opcija 3 nema pravo otvaranja

Prilozi:
Informacije o fajlu: rar  Proba Menu.rar
Preuzimanja: 10
Veličina: 69.77 KB


Pozdrav
↑  ↓

#6 15.05.2019-15:13
Gjoreski Offline
Super Moderator
Registrovan/a od: 02.02.2009-22:24
Komentari: 1,627


Subject: Re: Custom Menu dozvole
Ovde se mora napraviti tabela sa prava za svaku formu i prava korisnicima
To je jedino resejne ovo sta ti trazis
↑  ↓

#7 17.05.2019-08:13
pmiroslav Offline
Clan
Registrovan/a od: 02.02.2009-10:32
Komentari: 1,405


Subject: Re: Custom Menu dozvole
Nešto sam malo nadošao.
Sada me zanima dali i kako mogu mjenjati TAG u propertis Menia ovisno o korisniku koji se prijavio preko log forme

Ikona prilozene slike:
Menu_Tag.jpg
Tip fajla: Informacije o fajlu: jpg jpg
Preuzimanja: 15
Veličina: 82.39 KB
Veličina slike: 448 x 481 Pixels


Pozdrav
↑  ↓

#8 17.05.2019-08:57
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,934


Subject: Re: Custom Menu dozvole
Hehe to je to nadosao si.
E sad nemozes mijenjati tak ali mozes u tag upisati id korisnika iz tabele korisnika.
Znaci sad napravis tabelu korisnika i provjeris dali mozes potici tu formu.
Mozes iskoristiti i polje parameter pa upisati rejting te forme.
Evo primjer kako mozes napraviti i bez podizanja tabele korisnika.
Naperimjer da ti korisnici idu ovim redom u tabeli korisnika:
Id----Ime
3-----Gost
2-----Operator
1-----Administrator
sada u tag ako upises 2

ond mozes napisat if id<= vrijednost tag then
podigni formu
else
nemate prava

ako je na formi 3
Pozdrav
↑  ↓

#9 17.05.2019-17:17
pmiroslav Offline
Clan
Registrovan/a od: 02.02.2009-10:32
Komentari: 1,405


Subject: Re: Custom Menu dozvole
Još se patim da mi Meni radi kako treba. Mislim da idem u dobrom pravcu.
Tag mi je valjda sada jasan, ali nije mi jasno što je Parametar u propertis menia i za što se koristi?
Pozdrav
↑  ↓

#10 17.05.2019-20:19
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,934


Subject: Re: Custom Menu dozvole
Pa to su polja koja se ne koriste od strane sistema pa ih ti mozes iskoristiti za sebe.
Ako imas tabelu onda ti je dovoljno jedno polje jer mozes upisati id iz tabele ali ako nemas tabelu onda ti nije dovoljno jedno.
Imam ja cio kod ali se bojim da ce biti prekomplikovano za tebe.
Mislim da je bolje da sam napravis.
Tu sam ako zapmes.
Pozdrav
↑  ↓

#11 18.05.2019-13:59
pmiroslav Offline
Clan
Registrovan/a od: 02.02.2009-10:32
Komentari: 1,405


Subject: Re: Custom Menu dozvole
Pokušavam slijedeće:
Ako je osoba prijavljena kao Administrator (PravaPristupa = 1)sa svim pravima da mu se otvori
frmPristup sa prikazom svih slogova it tblOperatori, sa mogućnosču izmjene i dodavanja novog sloga.
Ako je osoka prijavljena kao operator (PravaPristupa = 2) da mu se otvori
frmPristup sa prikazom samo sloga prijavljene osobe.

Pokušavam to sa

If ID = 1 Then
Set Rs = Db.OpenRecordset("SELECT * FROM tblOperatori ")
Else
Set Rs = Db.OpenRecordset("SELECT * FROM Qry_Pristup ")
End If

...
Select Case Tip

Case 1 'Otvori formu

DoCmd.OpenForm ImeForme, , , , , acIcon
Set Frm = Forms(ImeForme)
Frm.RecordSource = Rs <--- Ovdje bi želio promjenjivi record source ovino o korisniku
Frm.SetFocus
DoCmd.Restore

Prilozi:
Informacije o fajlu: rar  Proba Menu.rar
Preuzimanja: 10
Veličina: 90.92 KB


Pozdrav
↑  ↓

#12 20.05.2019-12:06
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,934


Subject: Re: Custom Menu dozvole
U Tabel L_Meni lista imas polje pristup.
Tu pisujes ko sve smije pristupiti odnosno PravaPriostupa iz tabele tblOperatori.
Ostalo ces se valčjda snaci.
Imas i klasu M_Oper i ja sam je iskoristio.
Pri logovanju u nju se upisu podaci.

Prilozi:
Informacije o fajlu: zip  Proba Menuzxz.zip
Preuzimanja: 10
Veličina: 207.78 KB


Pozdrav
↑  ↓

#13 21.05.2019-07:20
pmiroslav Offline
Clan
Registrovan/a od: 02.02.2009-10:32
Komentari: 1,405


Subject: Re: Custom Menu dozvole
Hvala na odgovoru ali taj dio mi je jasan.
Ja bih zapravo želio da forma koju otvaram ima promjenjivi RecordSource i to mi šteka. Napravio sam kod:
DownloadIzvorni kod (vb.net):
  1. Function Otvori_1(ID As Integer, Optional QR As String, Optional Filter As String) As Boolean
  2. Dim Db As Database
  3. Dim Rs As Recordset
  4. Dim Rs2 As Recordset
  5. Dim Frm As Form
  6. Dim Uslov As Integer
  7. Dim ImeForme As String
  8. Dim Tip As Integer
  9. Dim Prava As Integer
  10. Dim PravaA As Integer
  11.  
  12. Set Db = CurrentDb()
  13. If ID < 1 Then: GoTo Kraj
  14.  
  15. Set Rs = Db.OpenRecordset("SELECT * FROM tblOperatori WHERE KorisnikID=" _
  16.   & M_Oper.OperID)
  17.  
  18. ImeForme = "frmPristup"
  19. Tip = Rs!Sifra
  20. Prava = Rs!PravaPristupa
  21. PravaA = Rs!PravaAdm
  22.  
  23. If Prava = 3 Then
  24.     MsgBox "Kao gost" & vbCr & "nemate pravo koristiti ovu formu", vbOKOnly, "Upozorenje!"
  25.     GoTo Kraj
  26. Else
  27.   Select Case Tip
  28.  
  29.   Case 1  'Otvori formu
  30.             Forms!frmPristup.Form.RecordSource = ("SELECT * FROM tblOperatori WHERE KorisnikID=" _
  31.             & M_Oper.OperID)
  32.             DoCmd.OpenForm ImeForme, , , , , acIcon
  33.             Set Frm = Forms(ImeForme)
  34.             Frm.SetFocus
  35.             DoCmd.Restore
  36. .........

Forms!frmPristup.Form.RecordSource = ("SELECT * FROM tblOperatori WHERE KorisnikID=" _
& M_Oper.OperID)

Ovaj dio mi ne odradi kako treba.
Pozdrav
↑  ↓

#14 21.05.2019-23:11
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,934


Subject: Re: Custom Menu dozvole
Case 1 'Otvori formu
DoCmd.OpenForm ImeForme, , , , , acIcon
Set Frm = Forms(ImeForme)
Frm.SetFocus
Forms!frmPristup.Form.RecordSource = ("SELECT * FROM tblOperatori WHERE KorisnikID=" _
& M_Oper.OperID)
DoCmd.Restore
Pozdrav
↑  ↓

#15 24.05.2019-09:15
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,934


Subject: Re: Custom Menu dozvole
Sta bi.
Mozda nisam bio dovoljno jasan.
Ti si stavio upis u recordsource prije otvaranja forma.
Pozdrav
↑  ↓

Stranice (2): 1, 2


All times are GMT +01:00. Current time: 18.06.2019-12:02.