Skip to main content

AccessTr.neT


Userform Login Ve Yetkilendirme

Userform Login Ve Yetkilendirme

#13
Denedinizmi dosyayı.Yetkilendirme için nasıl birşey istiyorsunuz.Access açılırken yetkili kişiye göremi açılsın.İşlemler exceldemi yspılacak duruma göre.Yani accessten verimi çekeceksiniz.
Tam bunları bilsek ona göre yazarız kodları sonuçta adminmi kullanıcımı olduğunu bulduk kodla.
Cevapla
#14
(21/05/2020, 22:21)feraz yazdı: Denedinizmi dosyayı.Yetkilendirme için nasıl birşey istiyorsunuz.Access açılırken yetkili kişiye göremi açılsın.İşlemler exceldemi yspılacak duruma göre.Yani accessten verimi çekeceksiniz.
Tam bunları bilsek ona göre yazarız kodları sonuçta adminmi kullanıcımı olduğunu bulduk kodla.


feraz hocam Login olduktan sonra ayrı bir anasayfa açılacak, ordaki bazı menüler admin seviyesinde, bazıları ise user seviyesinde çalışacak. Sizleri yormayacaksa bir kaç konuda destek alabilirim.
Cevapla
#15
Yardım edebilirim menü yada sayfalara exceldemi açılacak.
Cevapla
#16
Alttaki gibi biraz daha değiştirdim kısaltabilirsem eklerim kod daha.

Sub Label2_Click()
    Dim baglan As Object, rs As Object
    Dim yetki As String, varmi As Boolean
    Dim sorgu As String
   
    Set baglan = CreateObject("adodb.connection")
    Set rs = CreateObject("adodb.recordset")
   
    varmi = False

    baglan.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.Path & "\Database.accdb;Persist Security Info=False;"
'--------------------------------------------------------------------------------------------------------------------------------------------------------
    sorgu = "select * from [Users] where User_Name ='" & TextBox1.Value & "' and Password ='" & TextBox2.Value & "' and Role ='admin'"
    rs.Open sorgu, baglan, 1, 1

    If rs.RecordCount > 0 Then
        yetki = "Admin"
        varmi = True
        GoTo 1
    End If
'--------------------------------------------------------------------------------------------------------------------------------------------------------
    rs.Close
    sorgu = "select * from [Users] where User_Name ='" & TextBox1.Value & "' and Password ='" & TextBox2.Value & "' and Role ='user'"
    rs.Open sorgu, baglan, 1, 1
    If rs.RecordCount > 0 Then
        yetki = "Kullanici"
        varmi = True
    End If
'--------------------------------------------------------------------------------------------------------------------------------------------------------
 
1
    If varmi = True Then
        MsgBox "Basarili ve " & yetki & " olarak acilacak", vbInformation
    Else
        MsgBox "sifre yada kullanici adi yanlis", vbCritical
    End If

    rs.Close
    baglan.Close
    Set rs = Nothing
    Set baglan = Nothing
End Sub
Cevapla
#17
Kodu biraz daha değiştirdim.
Dim varmi As Boolean
Bu kod en üste eklenecek.
Alttaki kodlarda userform içine.

Sub Admin()
    MsgBox "Admin" 'Mesaj yerine admin icin gerekli kodlar yazilacak
End Sub

Sub user()
    MsgBox "user" 'Mesaj yerine user icin gerekli kodlar yazilacak
End Sub

Function test(admin_User As String) As Boolean

    Dim baglan As Object, rs As Object
    Dim sorgu As String
   
    varmi = False
    Set baglan = CreateObject("adodb.connection")
    Set rs = CreateObject("adodb.recordset")
   
    baglan.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.Path & "\Database.accdb;Persist Security Info=False;"
'--------------------------------------------------------------------------------------------------------------------------------------------------------
    sorgu = "select * from [Users] where User_Name ='" & TextBox1.Value & "' and Password ='" & TextBox2.Value & "' and Role ='" & admin_User & "'"
    rs.Open sorgu, baglan, 1, 1

    If rs.RecordCount > 0 Then
        varmi = True
        If admin_User = "admin" Then
            Call Admin: test = True
        Else
            Call user: test = True
        End If
    End If

    rs.Close
    baglan.Close
    Set rs = Nothing
    Set baglan = Nothing

End Function

Sub Label2_Click()
    If test("admin") = True Then Exit Sub
    If test("user") = True Then Exit Sub
    If varmi = False Then MsgBox "Kullanici adi yada sifre yanlis..", vbCritical, "Hata"
End Sub
Cevapla
#18
(22/05/2020, 00:25)feraz yazdı: Kodu biraz daha değiştirdim.
Dim varmi As Boolean
Bu kod en üste eklenecek.
Alttaki kodlarda userform içine.

Sub Admin()
    MsgBox "Admin" 'Mesaj yerine admin icin gerekli kodlar yazilacak
End Sub

Sub user()
    MsgBox "user" 'Mesaj yerine user icin gerekli kodlar yazilacak
End Sub

Function test(admin_User As String) As Boolean

    Dim baglan As Object, rs As Object
    Dim sorgu As String
   
    varmi = False
    Set baglan = CreateObject("adodb.connection")
    Set rs = CreateObject("adodb.recordset")
   
    baglan.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.Path & "\Database.accdb;Persist Security Info=False;"
'--------------------------------------------------------------------------------------------------------------------------------------------------------
    sorgu = "select * from [Users] where User_Name ='" & TextBox1.Value & "' and Password ='" & TextBox2.Value & "' and Role ='" & admin_User & "'"
    rs.Open sorgu, baglan, 1, 1

    If rs.RecordCount > 0 Then
        varmi = True
        If admin_User = "admin" Then
            Call Admin: test = True
        Else
            Call user: test = True
        End If
    End If

    rs.Close
    baglan.Close
    Set rs = Nothing
    Set baglan = Nothing

End Function

Sub Label2_Click()
    If test("admin") = True Then Exit Sub
    If test("user") = True Then Exit Sub
    If varmi = False Then MsgBox "Kullanici adi yada sifre yanlis..", vbCritical, "Hata"
End Sub



feraz hocam selamlar,

Bir kaç adım yol aldım gibi dama daha çok yolun başındayım.

Bunu kendim için yapıyorum kusursuza yakın olsun istiyorum. İşime uygun ofis yardımcısı olarak planlıyorum. Aynı zamanda bunu ofisimdeki diğer arkadaşlarımda kullanıcak deyip konuya gireyim.

Öncelikle örnek dosyamı ekledim,

Kullanıcı adı : admin
parola: admin

1- Hocam öncelikle login olduğunda anasayfada kullanıcı resmi gelsin. Kullanıcıya ait resim yoksa label94' e yazılı ismi klasörde bulsun getirsin.
2- Kullanıcı adı user olanlarda TBL_POLICE sayfasında değişik kısıtlamalar konulabilir örnek olacak şekilde (ben buton1 i iptal ettmim mesela)
3- Hatırlatma yapması için ajanda planlıyorum nasıl yaparım bilmiyorum. Örnek varsa sevinirim.

Eksiklerimi zamanla gidereceğim. Desteğini esirgemediğin için minnettarım.
.rar Offis'im.rar (Dosya Boyutu: 687,73 KB | İndirme Sayısı: 8)
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da