Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190
iCentar » Racunari i oprema » Programirannje i baze podataka » Access » Custom Menu dozvole
pmiroslav 18.05.2019 14:59
Predmet: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:
Proba Menu.rar (Velicina datoteke:90.92 KB)

zxz 20.05.2019 13:06
Predmet: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:
Proba Menuzxz.zip (Velicina datoteke:207.78 KB)

pmiroslav 21.05.2019 08:20
Predmet: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:
PreuzmiIzvorni kôd (vbnet):
  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.

zxz 22.05.2019 00:11
Predmet: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

zxz 24.05.2019 10:15
Predmet:Re: Custom Menu dozvole

Sta bi.
Mozda nisam bio dovoljno jasan.
Ti si stavio upis u recordsource prije otvaranja forma.

pmiroslav 24.05.2019 11:56
Predmet:Re: Custom Menu dozvole

Radim to sada ali samo amo direktno imenujem formu

Forms!frmPristup.Form.RecordSource = (StrSQL)

a u obliku
Dim ImeObjekta As String
ImeObjekta = "frmPristup"
Forms!imeObjekta.Form.RecordSource = (StrSQL)

ili

frm.RecordSource = (StrSQL)

ne radi

zxz 24.05.2019 21:14
Predmet:Re: Custom Menu dozvole

Citat:
Case 1 'Otvori formu
DoCmd.OpenForm ImeObjekta, , , , , acIcon
Set Frm = Forms(ImeObjekta)
Frm.SetFocus
Frm.RecordSource ="SELECT * FROM tblOperatori WHERE KorisnikID=" _
& M_Oper.OperID)
DoCmd.Restore

Ovo treba da radi

pmiroslav 26.05.2019 10:35
Predmet:Re: Custom Menu dozvole

JoÅ¡ se mučim sa ovim.
Ovakva je stvar
Imam menu Administracija i Knjiženje
Kod administracije Tag = 1 ; Parameter = 1
Kod Knjiženje Tag = 1; Parametar = 2

Tag = 1 određuje da je objekt koji otvara formu
Parametar = 1 određuje da se otvara forma frmPristup
Parametar = 2 određuje da se otvara forma frmDokumenti

Kod frmPristup je svu redu
ali kod frmDokumenti ne radi mi kako treba.
Imama tri subMenia
-MeđuskladiÅ¡na
-Povratnica
-Revers

Otvaranje formi je u redu, međutim brojeve dokumenta ne odradi kako treba

MeđuskladiÅ¡na treba biti MS/0001/19 itd
Povratnica          PO/0001/19 itd
Revers              RV/0001/19 itd

Primjer sa macroima je uredu ali sa procedurom nije.

Ovaj dio coda je problem. Gdje ga staviti?
PreuzmiIzvorni kôd (vbnet):
  1.         ElseIf PRMT = 2 Then
  2.            
  3.             Status = DLookup("[Status]", "tblTransakcijeVrsta", "[IDdokumenta] =" & ID)
  4.             Prefix = DLookup("[Prefix]", "tblTransakcijeVrsta", "[IDdokumenta] =" & ID)
  5.             Naziv = DLookup("[Dokument]", "tblTransakcijeVrsta", "[IDdokumenta] =" & ID)
  6.             BrojD = BrojDokumenta(Prefix)
  7.             Frm.IDdokumenta.DefaultValue = ID
  8.             Frm.BrojDok.DefaultValue = "'" & BrojD & "'"
  9.             Frm.Caption = UCase(Naziv)
  10.             DoCmd.Restore
  11.         End If
Prilozi:
Proba MenuMP2.rar (Velicina datoteke:94.60 KB)

zxz 28.05.2019 00:27
Predmet:Re: Custom Menu dozvole

Citat:
JoÅ¡ se mučim sa ovim.
Ovakva je stvar
Imam menu Administracija i Knjiženje
Kod administracije Tag = 1 ; Parameter = 1
Kod Knjiženje Tag = 1; Parametar = 2
Nemas ovdje nista upisano i ne treba po meni.
To je samo naziv menija i kad kliknes da se otvori meni.

U stavkanma menija trebas napisati nazive sta je sta.
U property tog menija
U tag samo id iz tabele Lmeni lista a u polje on action upises funkciju koju pozivas a to je OtvoriM()
Tu vise niosta ne treba pisati
Sda se na osnovu id pokrece sql:
SELECT * FROM L_MeniLista " _
& " WHERE ID=" & ID

Znaci uslov je ID i to je jedan red podataka:
Sve podatke mozes iscitati iz tog reda kada koristis tabelu.
Ako ne koristis tabelu onda bi ,orao pisati jos stosta u Property,

Trebao si uzeti moj primjer ali nema veze sad.

Ovako cemo:
Napisi ti u ova 2 menija sve sta treba da bude i ostalo sta treba za nuju.

Primjer:
Meni1: Administracija
Satvke:
Logovanje--> Forma ime forme i caption i sql ako treba neki

Meni2: Knjizenje
Stavke:
Medjuskladista ime forme je: Capion je: Sql:
Povratnica Ime forme je Caption je sql je.

Kad to napises ja cu ti odraditi primjer a ostalo sto ne treba pobrisati da te ne zbunjuje
Pokusat cu to uraditi sutra navecer
Ima tu jos nedostataka.
napr.
modul operatori
Funkcija:
Function SifraID()
If M_Oper.OperID = 0 Then
UcitajOper
End If
Sif=M_Oper.OperIDraID
End Function

Nije ti potrebna nijedna od ovih pri logovanju sve se to upise i poslije samo citas iz klase M_oper.
Sif=M_Oper.OperIDraID

a tamo gdje imas msgbox Niste logovani treba i da podize popup formu za logovanje tako da nemoze nista raditi.

Ok popravit cemo to.

alo bolje je jedno po jedno da bi razumio.
Idemo meni rijesiti i to sa tabelom LMeni lista.
Ako ovo dobro proucis dat cu ti kod koji pravi sam meni na osnovu ove tabele.

pmiroslav 28.05.2019 12:23
Predmet:Re: Custom Menu dozvole

Ja sam u međuvremenu uspio srediti funkciju i ona mi sada radi točno ono Å¡to sam želio.
Jedino sada ako ti želiš da je eventualno dotjeraš i pojednostaviš.
PreuzmiIzvorni kôd (vbnet):
  1. Function Otvori()
  2.  
  3. Dim ID As Integer
  4. Dim PRMT As Integer
  5. Dim Db As Database
  6. Dim Rs As Recordset
  7. Dim StrSQL As String
  8. Dim Frm As Form
  9. Dim Uslov As Integer
  10. Dim ImeObjekta As String
  11. Dim Tip As Integer
  12. Dim Prava As Integer
  13. Dim Status As Integer
  14. Dim BrojD As String
  15. Dim Prefix As String * 3
  16. Dim Naziv As String
  17.  
  18. On Error Resume Next
  19.  
  20. ID = Application.CommandBars.ActionControl.Tag 'Menu properties Tag
  21. PRMT = Application.CommandBars.ActionControl.Parameter 'Menu properties Parametar
  22.  
  23. On Error GoTo Kraj
  24.  
  25. Set Db = CurrentDb()
  26. If ID < 1 Then: GoTo Kraj
  27. If PRMT = 1 Then
  28.     StrSQL = "SELECT * FROM tblOperatori WHERE KorisnikID=" _
  29.             & M_Oper.OperID
  30.     Set Rs = Db.OpenRecordset(StrSQL)
  31.  
  32.         ImeObjekta = "frmPristup"
  33.         Tip = Rs!Sifra
  34.         Prava = Rs!PravaPristupa '1,2,3
  35.        
  36.             If Prava = 1 Then
  37.                 StrSQL = "SELECT * FROM tblOperatori"
  38.             ElseIf Prava = 2 Then
  39.                 StrSQL = "SELECT * FROM tblOperatori WHERE KorisnikID=" _
  40.                     & M_Oper.OperID
  41.             ElseIf Prava = 3 Then
  42.                  MsgBox "Kao gost" & vbCr & "nemate pravo koristiti ovu formu", vbOKOnly, "Upozorenje!"
  43.                 GoTo Kraj
  44.             End If
  45.            
  46. ElseIf PRMT = 2 Then
  47.     StrSQL = "SELECT *  FROM A_MenuLista " _
  48.             & "  WHERE ID=" & ID
  49.     Set Rs = Db.OpenRecordset(StrSQL)
  50.            
  51.         ImeObjekta = Format$(Rs!Ime)
  52.         Tip = Rs!Tip
  53.         Prava = Rs!Grupa '1,2,3
  54.        
  55.             Status = DLookup("[Status]", "tblTransakcijeVrsta", "[IDdokumenta] =" & ID)
  56.             Prefix = DLookup("[Prefix]", "tblTransakcijeVrsta", "[IDdokumenta] =" & ID)
  57.             Naziv = DLookup("[Dokument]", "tblTransakcijeVrsta", "[IDdokumenta] =" & ID)
  58.             BrojD = BrojDokumenta(Prefix)
  59. End If
  60.                         '------- OTVARANJE FORME -------
  61.   Select Case Tip
  62.  
  63.   Case 1
  64.             DoCmd.OpenForm ImeObjekta, , , , , acIcon
  65.             Set Frm = Forms(ImeObjekta)
  66.        
  67.     If PRMT = 1 Then
  68.         With Frm
  69.             .RecordSource = (StrSQL)
  70.             .Caption = "Korisni ki podaci: " & UCase(tkoRadiIme) & " " & UCase(tkoRadiPrezime)
  71.         End With
  72.             DoCmd.Restore
  73.            
  74.     ElseIf PRMT = 2 Then
  75.         With Frm
  76.             .DataEntry = True
  77.             .IDdokumenta.DefaultValue = ID
  78.             .BrojDok.DefaultValue = "'" & BrojD & "'"
  79.             .Caption = UCase(Naziv)
  80.         End With
  81.             DoCmd.Restore
  82.         End If
  83. Case Else
  84.           Beep
  85.             MsgBox "Objekt  <<" & ImeObjekta & ">> ne postoji " & vbCr & "ili je pogreÅ¡no unesen tip", vbExclamation + _
  86.             vbOKOnly, vbDefaultButton1
  87.            GoTo Kraj
  88.     End Select
  89.    
  90.  
  91.                             '------ NA IN OTVARANJA FORME ------
  92. Select Case Prava
  93.    
  94.     Case 1 'Ispravke
  95.             With Frm
  96.                 .FirstName.Enabled = True
  97.                 .LastName.Enabled = True
  98.                 .FormHeader.BackColor = 12632256
  99.                 .Detail.BackColor = 11916754
  100.                 .FormFooter.BackColor = 12632256
  101.                 .ScrollBars = False
  102.                 .RecordSelectors = False
  103.                 .NavigationButtons = True
  104.                 .DataEntry = False
  105.                 .AllowDeletions = True
  106.                 .AllowEdits = True
  107.                 .AllowAdditions = True
  108.             End With
  109.  
  110.     Case 2 'Pregled
  111.            With Frm
  112.                 .FirstName.Enabled = False
  113.                 .LastName.Enabled = False
  114.                 .Combo_Prava.Enabled = False
  115.                 .InsideHeight = Frm.Detail.Height
  116.                 .Detail.BackColor = 5950882
  117.                 .ScrollBars = False
  118.                 .RecordSelectors = False
  119.                 .NavigationButtons = False
  120.                 .DataEntry = False
  121.                 .AllowDeletions = False
  122.                 .AllowEdits = False
  123.                 .AllowAdditions = False
  124.             End With
  125.            
  126.     Case 3
  127.        
  128.     Case 4 'MeuskladiÅ¡na
  129.             With Frm
  130.                 .Detail.BackColor = 7044491
  131.                 .Label_Partner.Caption = "Konsignator:"
  132.                 .IDdokumenta.Enabled = False
  133.                 .BrojDok = "'" & BrojD & "'"
  134.             End With
  135.                 DoCmd.Restore
  136.                
  137.     Case 5 'Povratnica
  138.             With Frm
  139.                 .Detail.BackColor = 9961471
  140.                 .Label_Partner.Caption = "Robu vratio:"
  141.                 .Skladiste_Label.Caption = "Ulaz u skladiÅ¡te:"
  142.                 .Skladiste_2.Visible = False
  143.                 .StovaristeID.Visible = False
  144.                 .IDdokumenta.Enabled = False
  145.             End With
  146.                 DoCmd.Restore
  147.                
  148.         Case 6 'Revers
  149.             With Frm
  150.                 .Detail.BackColor = 12177407
  151.                 .Skladiste_2.Visible = False
  152.                 .Label_Partner.Caption = "Robu preuzeo:"
  153.                 .StovaristeID.Visible = False
  154.                 .IDdokumenta.Enabled = False
  155.             End With
  156.                 DoCmd.Restore
  157.            
  158.         Case 7
  159.  
  160.  MsgBox "GreÅ¡ka poziva" & vbCr & "Br:" & Err.Number, vbExclamation + vbOKOnly + _
  161.     vbDefaultButton1, "Greska!!!"
  162.    
  163. End Select
  164.  
  165. Otvori = True
  166. Izlaz:
  167. Exit Function
  168. Kraj:
  169. Otvori = False
  170. End Function

Bio mi je problem kako otvoriti frmDokumenti na tri načina
u formi se mijenja podatak u Combu IDdokumenta

SELECT tblTransakcijeVrsta.IDdokumenta, tblTransakcijeVrsta.Dokument, tblTransakcijeVrsta.Status FROM tblTransakcijeVrsta ORDER BY tblTransakcijeVrsta.Dokument;

Upisuje se brojDok (MS/0001/19; PO/0001/19 ili RV/0001/19)

To određuje Function BrojDokumenta

I još je promjenjivo dali se videili ne pojedini textBox-ovi, te se kod svake varijante mijenja boja pozadine radi lakšek snalaženja.
Prilozi:
Proba MenuMP3.rar (Velicina datoteke:129.93 KB)