Prikazi cijelu temu 16.12.2017 15:48
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Lokacija:Tuzla


Predmet:Re: Uređivanje Dodjela nagrada
Procedura OtvoriSaMenija
'Dimenzionisanje variabli
Function OtvoriSaMenija()
Dim ID As Integer
Dim Db As DAO.Database
Dim Rs As DAO.Recordset
Dim SQL As String
Dim Dozvole As Integer
Dim ImeO As String
Dim Tip As Integer

'Ovo treba ukljuciti na kraju kada se procedura zavrsi da bi tok procedure skocio na kraj ukoliko se pojavi neka greska
'On Error GoTo Kraj

'Iscuitavanje vrijednosti taga pritisnutog komandnog tastera
ID = Application.CommandBars.ActionControl.Tag

'Setvanje baze
Set Db = CurrentDb
'SQL tabele L_MeniLista sa uslovom da iscita redak sa id=18 u nasem slucaju gore u primjeru
SQL = "SELECT * FROM L_MeniLista WHERE ID=" & ID
'Podizanje rekordseta
Set Rs = Db.OpenRecordset(SQL)
'Iscitavanje podataka iz rekordseta tabele
Dozvole = Rs!Dozvole
ImeO = Rs!Ime
Tip = Rs!Tip
Rs.Close
Set Db = Nothing
'Ako nema operatora onda nista nece n i podignuti
If M_Oper.PravaO = 0 Then GoTo Kraj
'ako je broj prava operatora manj od dozvola onda ce uci i iraditi odnosno tad ima dozvole
If M_Oper.PravaO <= Dozvole Then
'Selekcija tipa dukmenta dali je forma izvjestaj itd. razlicit je kod za razlicite tipove
' Ovdje se jos moze za svaki tip dokumenta napraviti razlicite nacine podizanja
' To je napr. za forme dobro napraviti jer ih mozemo podizati u razlicitim modovima.
' Postoji je i polje u L_MeniLista ako ga nisam obrisao.
Select Case Tip
Case 1 'Otvori formu
DoCmd.OpenForm ImeO, , , , , acIcon
Set Frm = Forms(ImeO)
Frm.SetFocus
DoCmd.Restore
Case 2 'Otvori izvjestaj
On Error Resume Next
DoCmd.OpenReport ImeO, acViewPreview
If QR <> "" Then
Reports(ImeO).RecordSource = QR
End If
If Err.Number = 0 Then
DoCmd.Maximize
Else
Err.Clear
On Error GoTo 0
End If
GoTo Kraj
Case 3 'PokreniQyery
DoCmd.OpenQuery ImeO, acViewPreview
GoTo Kraj
Case 4 'Podigni tabelu
DoCmd.OpenTable ImeO, acViewPreview
GoTo Kraj
Case 5 'Pokreni funkciju
Run ImeO
GoTo Kraj
Case 6 'Pokreni drugi program
Shell ImeO
Case Else
Beep
MsgBox "Objekat <<" & ImeO & ">> ne postoji " & vbCr & "ili je pogrešno unesen tip", vbExclamation + _
vbOKOnly, vbDefaultButton1
GoTo Kraj
End Select
Else
MsgBox "Nemate dozvole"
End If
Izlaz:
Exit Function
Kraj:
MsgBox "Nije uspjelo"
End Function
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.