Centar za edukaciju-BiH



#1 22.05.2013 21:36
Miki2013 Van mreze
Clan
Registrovan od:03.05.2013
Postovi:38


Predmet:Korisnik blokira drugog na mrezi
Pozdrav!

Imam sljedeci problem:

Napravio sam 3 forme

frmOsnovna
frmOsnovnaArhivar
frmOsnovnaAdministrator

Prilikom Unosa novog korisnika dodjelim mu "prava pristupa", odnosno grupi kojoj pripada i koju formu moze otvoriti.

E sad, sve sam to nabacio na server, dodijelio full prava na folder i fajl "baza_be.mdb" svim operaterima koji otvaraju frmOsnovna

Problem mi se javlja kada se loguje korisnik sa pravom pristupa "Arhivar", blokira pristup svim ostalim operaterima i obratno.
Znaci kada Arhivar otvori frmOsnovnaArhivar i sa nje ode na drugu formu sbfrmIzdato u kojoj unosi neke druge stvari, frmOsnovnaArhivar se minimizuje,
sto znaci da uopste ne koristi tabelu Osnovna koju trebaju koristiti i operateri.

Uglavnom ne dozvoljava osvjezenje tabela sa back endom, onom sljedecem koji se pokusa logovati

U prilozenom primjeru je nepodijeljena baza na FE i BE cisto da se ima predstava o strukturi
a aplikacija je potpuno redizajnirana i porasla je na preko 7 MB do sada (bez podataka).

Ima li iko kakvu ideju kako se rijesiti ovog medjusobnog blokiranja?

Slicice prilozenih slika:
Advanced.jpg
Tip datoteke:Informacije o tipu datoteke za:jpg jpg
Preuzimanja:368
Velicina datoteke:111.42 KB
Velicina slike: 477 x 410 Pikseli



Prilozi:
Informacije o tipu datoteke za:rar  Primjer.rar
Preuzimanja:356
Velicina datoteke:203.25 KB

↑  ↓

#2 23.05.2013 09:15
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,610


Predmet:Re: Korisnik blokira drugog na mrezi
Ima ovdje mnogo stvari zbog kojih bi se moglo to desavati.
Citat:
Znaci kada Arhivar otvori frmOsnovnaArhivar i sa nje ode na drugu formu sbfrmIzdato u kojoj unosi neke druge stvari, frmOsnovnaArhivar se minimizuje,
Prvo i osnovno pitanje je zasto se ova forma minimizira a ne zatvara.
Nije to dobro ukoliko forma nije data entry=trye
Idemo prvo da malo ovo uvedemo u red.
Procedura koja se nalazi na loginformi na command6 odnosno na Ulaz, prepravi ovaj dio:

If Me.Text15.Value = DLookup("Password", "tblKorisnika", "[username]='" & Me.Text13.Value & "'") Then
Me.Visible = False 'Sakriva formu frmLogin, NE ZATVARA JE!
Dim Frm As Form
DoCmd.OpenForm "frmOsnovna" '
Set Frm = Forms!frmOsnovna
If Grupa = "Operater" Then
Frm.InsideWidth = 11895
Else
Frm.InsideWidth = 15450
End If

Dim db1 As DAO.Database
Dim rst1 As DAO.Recordset
Set db1 = CurrentDb()
Set rst1 = db1.OpenRecordset("tbllogovanja", dbOpenDynaset)
rst1.AddNew
rst1!tblKorisnikaID = Me.Text13.Value
rst1!DatumPristupa = Date
rst1!VrijemePristupa = Time()
rst1.Update
rst1.Close
Me.Text15 = cls

'DoCmd.Minimize 'minimizuj ovu formu
'Me.Visible = False
'DoCmd.OpenForm "frmOsnovna", acNormal
Me.Text15 = cls

Else
iBrojiPokusaje = iBrojiPokusaje + 1 'dodaj vrijednost 1 za svaki pogresan pokusaj
MsgBox "Šifra je netacno unešena!", vbCritical, "Pogrešan unos"
Me.Visible = True
Me.Text15.SetFocus
Exit Sub
End If
End Sub

Na ovom command tasteru opciju default stavi na yes.
Na frmOsnovna stavi Ovaj kod:
Private Sub Form_GotFocus()
Me.RecordSource = "tblOsnovna"
End Sub
Private Sub Form_LostFocus()
Me.RecordSource = ""
End Sub

Probaj samo ovako pa vidi dali ce kociti pa javi.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#3 23.05.2013 10:18
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,610


Predmet:Re: Korisnik blokira drugog na mrezi
Procitaj i ovo pa podesi ako vec nisi:
http://www.icentar.ba/...ge=1#p3252
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#4 24.05.2013 13:08
Miki2013 Van mreze
Clan
Registrovan od:03.05.2013
Postovi:38


Predmet:Re: Korisnik blokira drugog na mrezi
Hvala mnogo!

Citat:
Procitaj i ovo pa podesi ako vec nisi:
http://www.icentar.ba/...ge=1#p3252


Ovo nisam prije radio ali odoh sad da to procitam i pokusam primjeniti.
↑  ↓

#5 26.05.2013 11:09
Miki2013 Van mreze
Clan
Registrovan od:03.05.2013
Postovi:38


Predmet:Re: Korisnik blokira drugog na mrezi
Ako moze mala pomoc u ovom dijelu koda
PreuzmiIzvorni kôd (Text):
  1. Private Sub Command6_Click()
  2.  
  3. Dim Db As DAO.Database
  4. Dim rst As DAO.Recordset
  5. Dim strSQL As String
  6. Dim UserID As String
  7. Dim Password As String
  8.  
  9. If IsNull(Text13) Or Text13 = "" Then
  10.     MsgBox "Samo korisnici sa liste imaju ovlaÅ¡tenje za ulazak.", vbOKOnly, "OBAVJEÅ TENJE"
  11.     Me.Text13.SetFocus
  12.     Exit Sub
  13. End If
  14.    
  15. If IsNull(Text15) Or Text15 = "" Then
  16.     MsgBox "Morate unijeti Å¡ifru.", vbOKOnly, "OBAVJEÅ TENJE"
  17.     Me.Text15.SetFocus
  18.     Exit Sub
  19. End If
  20.  
  21. If iBrojiPokusaje > 1 Then
  22.     MsgBox "Unijeli ste pogreÅ¡nu Å¡ifru nekoliko puta. Program se sada zatvara jer vi niste ovlaÅ¡teni za pristup!", vbCritical, "Neta
  23. an unos više puta"
  24.     DoCmd.Quit
  25. End If
  26.  
  27. UserID = Me.Text13.Value 'vrijednost koju unosi korisnik
  28. Password = Me.Text15.Value 'vrijednost koju unosi korisnik
  29. strUser = UserID
  30. strSQL = " SELECT * FROM tblKorisnika " & _
  31.         " WHERE tblKorisnika.Username = '" & UserID & "'" & _
  32.         " AND tblKorisnika.Password = '" & Password & "'"
  33.  
  34. Set Db = CurrentDb()
  35. 'Set rst = db.OpenRecordset(strSQL)
  36.  
  37. 'If rst.RecordCount = 1 Then 'znaci ako postoji trazeni korisnik
  38.  
  39. If Me.Text15.Value = DLookup("Password", "tblKorisnika", "[username]='" & Me.Text13.Value & "'") Then
  40.     Me.Visible = True 'False  'Sakriva formu frmLogin, NE ZATVARA JE!
  41.    
  42.     If Grupa = "Administrator" Then 'Proverava da li je pristupio Admin
  43.         DoCmd.OpenForm "frmOsnovnaAdmin" 'Ako jeste otvara Admin formu
  44.     End If
  45.  
  46.     If Grupa = "Arhivar" Then
  47.        DoCmd.OpenForm "frmOsnovnaArhivar"
  48.     Else
  49.        
  50.     If Grupa = "Operater" Then
  51.        DoCmd.OpenForm "frmOsnovna"
  52.     End If
  53.     'DoCmd.OpenForm "frmOsnovna" 'Otvara formu frmOsnovna.
  54.     End If
  55.      
  56.     Dim db1 As DAO.Database
  57.     Dim rst1 As DAO.Recordset
  58.     Set db1 = CurrentDb()
  59.     Set rst1 = db1.OpenRecordset("tbllogovanja", dbOpenDynaset)
  60.     rst1.AddNew
  61.     rst1!tblKorisnikaID = Me.Text13.Value
  62.     rst1!DatumPristupa = Date
  63.     rst1!VrijemePristupa = Time()
  64.     rst1.Update
  65.     rst1.Close
  66. Me.Text15 = cls
  67.  
  68. Else
  69.     iBrojiPokusaje = iBrojiPokusaje + 1 'dodaj vrijednost 1 za svaki pogresan pokusaj
  70.     MsgBox "Å ifra je netacno uneÅ¡ena!", vbCritical, "PogreÅ¡an unos"
  71.     Me.Visible = True
  72.     Me.Text15.SetFocus
  73.     Exit Sub
  74. End If
  75.     DoCmd.Close "LoginForma"
  76. End Sub

Stavio sam namjerno formu visible na True da vidim hoce li se zatvoriti ali ne zatvara se.
Obrati paznju na liniju koda 75, valjda bi ovo nakon provjere trebalo da zatvori LoginFormu
↑  ↓

#6 23.06.2013 08:11
Miki2013 Van mreze
Clan
Registrovan od:03.05.2013
Postovi:38


Predmet:Re: Korisnik blokira drugog na mrezi
Ipak je bio problem u pravima na serveru... nije do programa... radi odlicno... Hvala na pomoci
↑  ↓

#7 23.06.2013 09:57
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,610


Predmet:Re: Korisnik blokira drugog na mrezi
Kao sto sam ti odgovorio na pp.
Kod mene je to sve radilo na 3 masine bez ikakvih problema sto je ukazivalo na podesenja servera.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#8 23.06.2013 10:03
Miki2013 Van mreze
Clan
Registrovan od:03.05.2013
Postovi:38


Predmet:Re: Korisnik blokira drugog na mrezi
Hvala jos jednom u svakom slucaju...!

Od mog zadnjeg posta sam jos mnogo toga izmjenjao i prilagodio potrebama "na terenu".

Sada kada citam ovaj tvoj dio koda
PreuzmiIzvorni kôd (Text):
  1. If Grupa = "Operater" Then
  2. Frm.InsideWidth = 11895
  3. Else
  4. Frm.InsideWidth = 15450
  5. End If
javljaju mi se i nove ideje pa me zanima kako si odredio sirinu i visinu... "od oka" ili si je necim procitao?
↑  ↓

#9 23.06.2013 17:23
Miki2013 Van mreze
Clan
Registrovan od:03.05.2013
Postovi:38


Predmet:Re: Korisnik blokira drugog na mrezi
Odradjen i ovaj dio... "od oka"... izvini nisam imao strpljenja da cekam odgovor.

Dobio sam jednu formu manje (formu administrator) i "olaksao" program za skoro 1 MB.

Poigrao sam se malo sa sirinom i visinom forme, taman koliko mi je bilo dovoljno da smjestim sve one kontrole koje je imao admin, zatim sam na osnovnu formu dodao jedan check box i na njega stavio sljedeci kod
PreuzmiIzvorni kôd (Text):
  1. Private Sub Check209_Click()
  2. If Check209 = True Then
  3.     Forms!frmOsnovna.InsideWidth = 15450
  4.     Forms!frmOsnovna.InsideHeight = 10800
  5.    
  6.     Else
  7.    
  8.     Forms!frmOsnovna.InsideWidth = 15450
  9.     Forms!frmOsnovna.InsideHeight = 9300
  10.     End If
  11. End Sub

Sve sam to "zacinio" sljedecim kodom
PreuzmiIzvorni kôd (Text):
  1.   If strUser = "Administrator ili bilo ko drugi" Then
  2.      [Check209].Enabled = True
  3.      Else
  4.      [Check209].Enabled = False
  5.      End If

Sada kad se logujem kao onaj kome je ovaj check box ukljucen klikom na njega "pojavljuje" se i "nestaje" onaj dio koji sam prosirio... u mom slucaju je bilo samo po visini... pa se sad igram s tim "control panelom" jer izgleda kao zmigavac... sad ga vidis sad ga nevidis Grinning

Opisao sam malo postupak s namjerom da jos neki pocetnik kao sto sam i ja moze eksperimentisati i eventualno prilagoditi svojim potrebama.

Pozdrav!
↑  ↓

Stranice (1):1


Sva vremena su GMT +01:00. Trenutno vrijeme: 10: 43 am.