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 » Ime i prezime logovanog usera
xl_kid 22.10.2012 09:55
Predmet:Ime i prezime logovanog usera

Poštovani,
imam problem sa logovanim korisnikom tj kako da dobijem ime i prezime iz tabele i upišem ga na unbound polju. Imam tabelu

tblUsers
KorisnikID int 4 0
KorisnickoIme nvarchar 50 1
Password nvarchar 50 1
Ime nvarchar 50 1
Prezime nvarchar 50 1
Pristup bit 1 1
Mesto nvarchar 25 1
Adresa nvarchar 30 1
Tel nvarchar 9 1
Mob nvarchar 10 1
Sifra nvarchar 25 1
PristupID int 4 1
DatumU datetime 8 1
VrstaPID int 4 1

Kako da iz ovog koda dobijem trenutno logovanog korisnika?

Public Sub Login()

On Error GoTo ErrorHandler:

If IsNull([txtUserName]) = True Then 'Check UserName
MsgBox "Korisnicko ime je obavezno"

ElseIf IsNull([txtPassword]) = True Then 'Check Password
MsgBox "Lozinka je obavezna"

Else

'Compare value of txtPassword with the saved Password in tblUser
If Me.txtPassword.Value = DLookup("Password", "tblUsers", "[KorisnickoIme]='" & Me.txtUserName.Value & "'") Then
strUser = Me.txtUserName.Value 'Set the value of strUser declared as Global Variable
strRole = DLookup("PristupID", "tblUsers", "[KorisnickoIme]='" & Me.txtUserName.Value & "'") 'set the value of strRole declared as Global Variable
'DoCmd.Close acForm, "frmLogOn", acSaveNo
MsgBox "Dobrodošli nazad, " & strUser, vbOKOnly, "Dobrodošli"
DoCmd.OpenForm "Form1", acNormal, "", "", , acNormal

Else
MsgBox "Pogrešna lozinka. Molim Vas pokušajte ponovo.", vbOKOnly, "Pogrešna lozinka"
intLogAttempt = intLogAttempt + 1
txtPassword.SetFocus

End If

End If

'Check if the user has 3 wrong log-in attempts and close the application
If intLogAttempt = 3 Then
MsgBox "Nemate pristup.Molim Vas kontaktirajte administratora." & vbCrLf & vbCrLf & _
"Aplikacija ce se ugasiti.", vbCritical, "Ogranicen Pristup!"
Application.Quit
End If

ErrorHandler:

End Sub

hvala

pmiroslav 22.10.2012 21:03
Predmet:Re: Ime i prezime logovanog usera

Trebaš napraviti jedan Class modul koji se zove recimo mod_Korisnik i u njemu deklarirati varijable
PreuzmiIzvorni kôd (vbnet):
  1. Option Explicit
  2.  
  3. Public OperID As Integer 'ID Operatora
  4. Public SifraO As String  'Å ifra operatora
  5. Public ImeO As String     'Ime operatora
  6. Public PrezO As String    'Prezime operatora
  7. Public PravaO As Integer  'Dozvole operatora
  8. Public KorImeO As String  'Korisni ko ime operatora
  9. Public VrijemeLog As Date 'Vrijeme logovanja
  10. Public VrijemeOdlog As Date ' Vrijeme odlogiranja

Zatim se iz log forme na After update Comba sa koprisničkim imenom popune gornje varijable:
PreuzmiIzvorni kôd (vbnet):
  1. Private Sub cboUserName_AfterUpdate()
  2.  
  3. mod_Korisnik.OperID = Me.cboUserName.Column(0)
  4. mod_Korisnik.ImeO = Me.cboUserName.Column(2)
  5. mod_Korisnik.PrezO = Me.cboUserName.Column(3)
  6. mod_Korisnik.PravaO = Me.cboUserName.Column(4)
  7.  
  8. Me.txtPassword.SetFocus
  9. End Sub

I joÅ¡ u nekom modulu treba napraviti slijedeće dvije funkcije:
PreuzmiIzvorni kôd (vbnet):
  1. Function tkoRadiIme()
  2. tkoRadiIme = mod_Korisnik.ImeO
  3. End Function
  4.  
  5. Function tkoRadiPrezime()
  6. tkoRadiPrezime = mod_Korisnik.PrezO
  7. End Function

I tada na kraju u textbox gdje hoćeÅ¡ da se prikaže ime i prezime korianika pod Default value napiÅ¡eÅ¡

=tkoRadiIme & " " TkoRadiPrezime
Prilozi:
LogiranjeMP.rar (Velicina datoteke:29.43 KB)

zxz 22.10.2012 22:54
Predmet:Re: Ime i prezime logovanog usera

Dobro ti je pmiroslav napisao ali ako hoces nesto prostije evo.
Prilozi:
Logovanje.zip (Velicina datoteke:21.87 KB)

xl_kid 23.10.2012 08:09
Predmet:Re: Ime i prezime logovanog usera

@pmiroslav Imenjače hvala na detaljnom primeru. Medjutim ovakav primer sam ranije koristio ranije (zxz je postavio nesto slicno ranije). Ja pokuÅ¡avam napraviti login formu bez padajućeg menija baÅ¡ kao Å¡to je zxz poslao primer. Puno hvala

@zxz Vaš primer je ono što mi je potrebno. Recite mi samo kako da na unbound polju dobijem ispis imena i prezimena logovanog korisnika baš kao što izlazi u msg box-u?

zxz 23.10.2012 08:51
Predmet:Re: Ime i prezime logovanog usera

U proceduri koja se nalazi na tasteru log dodj jos ovo:
Prezime = DLookup("Prezime", "tblUsers", "KorisnikID=" & ID)
MsgBox Ime & vbTab & Prezime
-----> Znaci poslije ovoga dodaj red ispod
ImeIPrezime = Ime & " " & Prezime

U neki modul stavi ovo:
Option Compare Database
Option Explicit
Global ImeIPrezime As String

Function IspisiImeIPrezime()
IspisiImeIPrezime = ImeIPrezime
End Function

Na polju na control source upisi:
=IspisiImeIPrezime()

Pri pokretanju prvo moras pokrenuti formu log da bi radilo.

xl_kid 25.10.2012 07:53
Predmet:Re: Ime i prezime logovanog usera

Zaboravio sam se zahvaliti Disappointed