Listing Login Dengan VB 6.0

Posted by Devz Andrean | Posted in |


Gw asumsikan lo udah buat listing sub AdminAkses dan UserAkses didalam modul koneksi dengan perintah public agar sub tersebut dapat dipanggil atau dijalankan di semua form. Sub tersebut berfungsi untuk membatasi hak akses masing-masing pengguna dimana hanya ada admin dan user. Dibawah ini adalah sub AdminAkses dan UserAkses untuk program penjualan.

Public Sub AdminAkses()
MDIForm1.mnFileExit.Enabled = False
MDIForm1.mnFileLogOut.Enabled = True
MDIForm1.mnFileLogIn.Enabled = False
MDIForm1.mnData.Enabled = True
MDIForm1.mnDataBarang.Enabled = True
MDIForm1.mnTransaksi.Enabled = True
MDIForm1.mnTransJual.Enabled = True
MDIForm1.mnReport.Enabled = True
MDIForm1.mnUtilities.Enabled = True
MDIForm1.mnUtilitiesUser.Enabled = True
End Sub

Public Sub UserAkses()
MDIForm1.mnFileExit.Enabled = False
MDIForm1.mnFileLogOut.Enabled = True
MDIForm1.mnFileLogIn.Enabled = False
MDIForm1.mnData.Enabled = True
MDIForm1.mnDataBarang.Enabled = False
MDIForm1.mnTransaksi.Enabled = True
MDIForm1.mnTransJual.Enabled = True
MDIForm1.mnReport.Enabled = True
MDIForm1.mnUtilities.Enabled = True
MDIForm1.mnUtilitiesUser.Enabled = False
MDIForm1.mnUtilitiesBackUp.Enabled = False
End Sub

Buka form login lo, pada object pilih General dan procedure Declaration terus ketik listing dibawah ini :

Option Explicit
Public LoginSucceeded As Boolean

Nah..,sekarang klik 2x di tombol login-nya, ketik nih listing dibawah ini :

On Error Resume Next
If txtID = "" Then
    MsgBox "Masukan Nama dan Password", vbInformation, "Error Number"
    txtID.SetFocus
    Exit Sub
ElseIf txtPass = "" Then
    MsgBox "Password Anda...", vbInformation, " Error Number "
    txtPass = ""
    txtPass.SetFocus
    Exit Sub
Else
    SQL = ""
    SQL = "select * from pengguna " _
        & " where UserID='" & txtID.Text & "' " _
        & " and PassID='" & txtPass.Text & "' "
    Set rsPeriksa = KonekDB.Execute(SQL)
   
        If Not rsPeriksa.BOF Then
            LoginSucceeded = True
            If rsPeriksa!Level = "ADMIN" Then
                Call AdminAkses
            Else
                Call UserAkses
            End If
            MsgBox "Success", vbInformation, "Congratulation"
            MDIForm1.Show
           
            IDUser = rsPeriksa!userid
            NamaID = rsPeriksa!nama
   
            With MDIForm1
                .StatusBar1.Panels(1).Text = "USER : " & rsPeriksa!userid & " "
                .StatusBar1.Panels(2).Text = "LEVEL : " & rsPeriksa!Level & " "
                .mnFileLogOut.Enabled = True
            End With
   
            Me.Hide
        Else
            MsgBox "Password tidak ditemukan, coba lagi!", , "Login"
            txtPass.SetFocus
            SendKeys "{Home}+{End}"
            GoTo salah:
        End If
salah:
     X = X + 1
     If X > 3 Then
         Y = MsgBox("Maaf " + txtID.Text + " ! Waktu habis," & Chr(13) _
            & "Anda hanya mempunyai 3 kesempatan...", vbOKOnly + vbCritical, "MY SECURE")
            If Y = vbOK Then
                End
            End If
     End If
End If



Begini penjelasan-nya dari yang paling atas sampe yang paling bawah:

Kalo salah satu dari user id dan password lo kosong, maka bakal muncul kotak pesen yang minta lo buat isi user id dan password-nya.

Perintah SQL diatas berfungsi untuk memeriksa apakah user id dan password yang lo masukin sudah terdaftar didalam database program tersebut atau belum.

Kalo lo masuk sebagai Admin, maka program bakal menjalankan perintah pada blok pertama yaitu memanggil sub AdminAkses. Sebaliknya, kalo lo masuk sebagai User maka program akan memanggil sub UserAkses.

Informasi tentang siapa si pengguna dan apa statusnya, bakal ditampilkan pada status bar yang ada didalam program tersebut.

Kalo lo salah masukin password saat login, maka bakal muncul kotak pesen yang ngasih tau kalo password lo ga ditemukan / salah.

Yang terakhir nih..,kalo lo salah masukin user id dan password sebanyak lebih dari 3x maka program bakal keluar dengan sendirinya.

Nah..,selamat mencoba ya.

Comments (0)

Posting Komentar