Centar za edukaciju-BiH


Stranice (3):1,2,3

#21 30.05.2019 17:15
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: Custom Menu dozvole
Ono sto si zamislio zahtijeva puno rada i razmisljanja ali stremi ka profesionalizmu.
Evo ja sam ti napravio kako bi trebalo to izgledati.
Ako nesto nije jasno bolje pitaj da ne lutas i ponovo pravis.
Imas klasu M_Oper i u njoj imas variable kojim je doseg cijela app.
Kada upises neki podatak ostaje sve dok ne izadjes iz programa ili se pojavi neka greska koju nisi predvidio pa bi trebalo da se ponovo podize forma za logovanje.
Napravio sam ti i da se forme podizu u red onli modu ako se loguje gost.
Imaju tu i tasteri na formi koji mozda gost ne smije kliknuti.
Mozes to rijesiti unoseci vrijednost u tag svake kontrole
Mogu ti to bolje objasniti.
E sad ako imas puno ovoga onda je najbolje napraviti dvije tabele, jednu za popis formi i operacija nad njima a drugu za kontrole relacijski vezano za ovu formi.

I to mogu ako se odlucis pojasniti.
Neke stavri moze rijesiti i na nivou forme kao sto je bilo ovo u tvom slucaju a ne na nivou menija.
Ukoliko se neke stvari odnose samo na jedan objekat onda ****lje to rijesiti na nivou tog objekta.
Ko tebe je to forma frm dokumnenti.
Mogao si na on load forme na osnovu id napraviti sve ove promjene.
Jedino ako se radi o vise objekata koji zahtijevaju iste promjene onda to rjesavas na nivuo ove procedure za otvaranje forme.

Ja sam koristio tabelu L_MeniLista i nisam tvoju htio dirati.
Isto tako sam otvorio i novi modul zxzMenu.
Ostalo nisam nista koristio sem ove klase M_oper tako da ostalo mopzes brisati ako tebi ne treba.

Prilozi:
Informacije o tipu datoteke za:zip  Proba MenuMP3_zxz.zip
Preuzimanja:219
Velicina datoteke:380.02 KB


Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
Ovaj post je ureden 1 puta. Posljednja izmjena 30.05.2019 17:16 od strane zxz. ↑  ↓

#22 31.05.2019 12:04
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Custom Menu dozvole
Hvala na ovome ali malo si mi zakomplicirao život. U cijelu ovu priču krenuo sa zbog toga da otvorim formu frmDokumenti sa Menia na tri načina.
MeđuskladiÅ¡na
Povratnica
Revers
Bio sam to rijeÅ¡io sa Makroima iz kojih se poziva funkcija "otvoriF", ali kako baÅ¡ ne volim Makroe pokuÅ¡avao sam tu funkciju pozvati direktno sa Menia. Sada sam naučio kako se to radi i joÅ¡ dosta novog.
Ovaj tvoj dio sa provjerom ispravnog logiranja je super
PreuzmiIzvorni kôd (vbnet):
  1. If Format$(M_Oper.PravaO) = "" Then
  2. MsgBox "Niste logovani"
  3. GoTo LOG
  4. End If
i to ću svakako koristiti jer mi se već deÅ¡avalo da mi se iz nekog razloga isprazni memorija pa dolazi do greÅ¡ke u izvrÅ¡avanju nekih procedura.
Å to se tiče ovog tvog rjeÅ¡enja opet mi se ne otvaraju forme sa ispravno unesenom Vrstom i brojem dokumenta. Svaki puta upiÅ¡e Revers i kod broja dokumenta RV. Trebalo bi biti kao na slici koje Å¡aljem u prilogu.
Pokušavam ja to nekako pozvati sa OnLoad forme ali stalno mi negdje zapinje.

Slicice prilozenih slika:
Formr_Razlike.jpg
Tip datoteke:Informacije o tipu datoteke za:jpg jpg
Preuzimanja:204
Velicina datoteke:117.00 KB
Velicina slike: 454 x 900 Pikseli


Pozdrav
↑  ↓

#23 31.05.2019 21:07
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: Custom Menu dozvole
probaj ovako:
Na on load forme stavi ovaj kod.
PreuzmiIzvorni kôd (Visual Basic):
  1. Private Sub Form_Load()
  2. Dim Prefiks As String
  3. Dim Db As DAO.Database
  4. Dim Rs As DAO.Recordset
  5. Dim SQL As String
  6. Set Db = CurrentDb
  7. SQL = "SELECT Prefix FROM tblTransakcijeVrsta WHERE idDokumenta=" & IDD
  8. Set Rs = Db.OpenRecordset(SQL)
  9. Prefiks = Rs!Prefix
  10. SQL = "SELECT *FROM tblDokumenti WHERE BrojDok Like'" & Prefiks & "*'"
  11. Me.RecordSource = SQL
  12. End Sub

a na on current ovo.
PreuzmiIzvorni kôd (Visual Basic):
  1. Private Sub Form_Current()
  2. Dim I As Integer
  3. Dim Prefiks As String
  4. Dim Db As DAO.Database
  5. Dim Rs As DAO.Recordset
  6. Dim SQL As String, BrojStr As String
  7. Dim Broj As Integer, DuzB As Integer
  8.  
  9. Set Db = CurrentDb
  10. SQL = "SELECT Prefix FROM tblTransakcijeVrsta WHERE idDokumenta=" & IDD
  11. Set Rs = Db.OpenRecordset(SQL)
  12. Prefiks = Rs!Prefix
  13. SQL = "SELECT max(Int(Mid(BrojDok,4,4))) as  Br FROM tblDokumenti WHERE BrojDok Like'" & Prefiks & "*'"
  14. Set Rs = Db.OpenRecordset(SQL)
  15. If Format$(Rs!Br) <> "" Then
  16. Broj = Rs!Br
  17. End If
  18. Broj = Broj + 1
  19. DuzB = 4 - Len(Format$(Broj))
  20. For I = 1 To DuzB
  21. BrojStr = BrojStr & "0"
  22. Next I
  23. BrojStr = Prefiks & BrojStr & Format$(Broj) & "/" & Format(Date, "YY")
  24. Me.BrojDok.DefaultValue = "'" & BrojStr & "'"
  25. Me.IDdokumenta.DefaultValue = IDD
  26. End Sub

e sad ostalo ti je jos izmjene labela ali to stavi na on load.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#24 01.06.2019 17:07
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Custom Menu dozvole
Ovo bi trebalo raditi ali mi je problem ova varijabla IDD koja nije nigdje dimenzionirana

SQL = "SELECT Prefix FROM tblTransakcijeVrsta WHERE idDokumenta=" & IDD
SQL = "SELECT Prefix FROM tblTransakcijeVrsta WHERE idDokumenta=" & IDD

Odakle da je povučem?
Pozdrav
↑  ↓

#25 01.06.2019 23:00
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: Custom Menu dozvole
uf zaboravio sam objasniti.
To je stara id pa sam je proglasio globalnom ali posto imas id stavio sam idd

PreuzmiIzvorni kôd (Visual Basic):
  1. Option Compare Database
  2. Option Explicit
  3. Global IDD As Integer
  4. Function OtvoriM()
  5.  
  6. On Error Resume Next
  7. IDD = Application.CommandBars.ActionControl.Tag 'Menu properties Tag
  8. 'On Error GoTo Kraj
  9. Call Otvori_frm(IDD)
  10. Exit Function
  11. Kraj:
  12. On Error Resume Next
  13. Err.Clear
  14. End Function
u modulu zxzMenu
na vrhu stavi ovu globalno kao sto je u primjeru
a proceduru OtvoriM prekopiraj ili izmijeni
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#26 02.06.2019 06:31
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Custom Menu dozvole
To je to. Puno hvala.
Idem sada dotjerivati moju aplikaciju pa ako bude još nekih problema javim se.
Pozdrav.
Pozdrav
↑  ↓

#27 03.06.2019 06:27
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Custom Menu dozvole
Evo sada sam primjetio jedan problem. U mojoj Aplikaciji mi ne radi komanda za logiranje
Menu -Log On/Off
Primjetio sam da je problem u slijedećem:
PreuzmiIzvorni kôd (vbnet):
  1. If ID < 1 Then: GoTo Kraj
  2. If Format$(M_Oper.PravaO) = "" Then
  3. MsgBox "Niste logovani"
  4. GoTo LOG
  5. End If

Naime uočio sam da kada uđem u aplikaciju sa Shift (bez logiranja) da mi se u
klasi M_Oper.PravaO upiše 0, a trebalo bi biti prazno (" ")
Zbog toga mi gornji dio koda ne odradi kako treba.
U primjeru sa kojim smo radili se to ne događa.

___________
Evo naknadno sam primjetio da je kod mene
Public PtavaO As Integer
a ti si to izgleda promjenio u String.

Slicice prilozenih slika:
Prava.jpg
Tip datoteke:Informacije o tipu datoteke za:jpg jpg
Preuzimanja:193
Velicina datoteke:231.34 KB
Velicina slike: 598 x 478 Pikseli


Pozdrav
Ovaj post je ureden 1 puta. Posljednja izmjena 03.06.2019 06:38 od strane pmiroslav. ↑  ↓

#28 03.06.2019 08:27
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: Custom Menu dozvole
Ako je variabla dimenzionisana kao string bit ce prazan string a ako je dimenzionisana kao broj onda je po defaultu 0.

Mozes promijeniti tip variable ili napisati ovako:
If ID < 1 Then: GoTo Kraj
If Format$(M_Oper.PravaO)<1 Then
MsgBox "Niste logovani"
GoTo LOG
End If
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#29 03.06.2019 09:18
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Custom Menu dozvole
Promijenio sam već u međuvremenu u String i sada je OK. Hvala
Pozdrav
↑  ↓

Stranice (3):1,2,3


Sva vremena su GMT +01:00. Trenutno vrijeme: 11: 11 pm.