Selasa, 30 Agustus 2011

Form Login Sederhana 3

MEMBUAT FORM LOGIN (Lanjutan - Finish)

Kali ini kita akan sempurnakan form login yang telah dibuat sebelumnya, jika anda belum punya silahkan download dari 4shared, lalu buka artikel membuat form login bag 2 terlebih dahulu.

Karena ini penyempurnaan, maka akan ada tambahan fungsi : update data.
yang sekarang akan kita tambahkan adalah :
  • Field UserLevel -> Sebagai kriteria User yang berhak mengakses menu
  • Field LoginTerakhir -> Untuk melihat waktu login terakhir dari User
  • Field StatusLogin -> Sebagai kriteria untuk menampilkan nama User yang sedang Login dalam Form
  • Tabel mstLevel -> Sebagai RowSource dari Field UserLevel
  • Form Utama -> Form yang akan dibuka setelah User berhasil Login

Langkah-langkahnya :
  • Buka kembali file Simple Form Access.mdb
  • Dalam jendela database pilih Tables lalu klik dua kali pada Create table in Design view
  • Buat Field dengan nama LevelName dengan Data Type=Text dan Field Size=50
  • Lalu jadikan sebagai Primary Key dan simpan dengan nama mstLevel dan tutup jendela Tabel Design View
  • Klik dua kali pada Table mstLevel untuk menginput data User Level lalu masukkan 3 Data berikut ini :
ADMINISTRATOR, AUDIT, DATA ENTRY
(atau sesuai dengan yang anda inginkan)
  • Lalu klik kanan tblUser dan pilih Design View
  • lalu tambahkan Field-field berikut ini:
  • UserLevel (Data Type=Text, Field Size=50), dibagian bawah pilih Tab Lookup, Dibagian Display Control pilih Combo Box dan Row Source mstLevel
  • LoginTerakhir (Data Type=Date/Time, dalam Tab General pilih Format=General Date)
  • StatusLogin (Data Type=Text, Field Size=10)
  • Lalu klik Save dan tutup jendela Table Design View
  • Klik dua kali pada tblUser untuk mengedit data
  • Masukkan data-data User yang masih kosong (terserah anda), untuk field LoginTerakhir isikan saja dengan Tanggal(bebas tanpa perlu mengisi jamnya) dan khusus field StatusLogin isikan dengan ACTIVE atau INACTIVE
  • Setelah selesai masuk ke bagian Forms dan klik dua kali pada Create form in design view, buat beberapa Command Button dan beberapa Label, saya membuat 8 Command Button dan 4 buah Label dengan rincian :
Command Button :
1.cmdInputMaster, 2.cmdEditMaster, 3.cmdEditHarian, 4.cmdLaporan, 5.cmdInputHarian, 6.cmdInputUser, 7.cmdEditUser dan 8.cmdKeluar
  • Untuk Label saya biarkan 3 label dengan nama default dari Access, dan 1 label dengan nama lblUser seperti gambar dibawah ini :

Gambar design frmUtama versi Penulis
  • Setelah selesai simpan dengan nama frmUtama lalu tutup jendela Design Form
  • Klik kanan frmLogin dan pilih Design View untuk mengedit code
  • Klik kanan cmdOK dan pilih properties lalu pada event On Click klik Event Procedure dan klik [...] disebelah kanannya, anda akan dibawa ke Jendela Visual Basic Editor
  • Dibawah baris tulisan MsgBox "Selamat, anda berhasil Login", vbInformation hapus baris DoCmd.Close dan tambahkan code berikut ini :
CurrentDb.Execute "Update tblUser set LoginTerakhir='" & Now() & "' where NamaUser='" & txtUser & "';"
CurrentDb.Execute "Update tblUser SET StatusLogin='ACTIVE' " & "Where NamaUser='" & txtUser & "';"
CurrentDb.Execute "Update tblUser SET StatusLogin='INACTIVE' " & "Where NamaUser<>'" & txtUser & "';"
DoCmd.OpenForm "frmUtama"
DoCmd.Close acForm, "frmLogin"
  • Lalu klik Save dan tutup jendela Visual Basic Editor, tutup Jendela Properties dari cmdOk dan tutup jendela Design frmLogin
  • Klik kanan frmUtama lalu pilih Design View
  • Dipojok Kiri jendela design frmUtama ada kotak hitam kecil, klik kanan dikotak hitam kecil tersebut lalu pilih Properties, pada Tab Event, pilih Event Procedure pada On Open dan klik tombol [...] disamping kanannya, anda akan kembali dibawa ke jendela Visual Basic Editor,
  • Masukkan code berikut :
Dim strUser As String
strUser = DLookup("NamaUser", "tblUser", "[StatusLogin] = 'Active'")
Me.lblUser.Caption = strUser
  • Dibagian paling atas tambahkan Option Explicit dan Public strLevel as String dibawah Option Compare Database
  • lalu klik Save dan tutup jendela visual basic editor
Untuk event On Click pada tiap-tiap Command Button dalam frmUtama, code-codenya tergantung dari hak akses dari UserLevel masing-masing User contohnya :
Untuk level ADMINISTRATOR, maka berhak atas semua akses menu, sedangkan untuk level AUDIT hanya beberapa menu, dan level DATA ENTRY hanya bisa mengakses menu Laporan dan Input Data Harian.
Contoh Codenya:
Untuk menu yang hanya bisa diakses oleh level ADMINISTRATOR :
strLevel = DLookup("UserLevel", "tblUser", "[NamaUser] = '" & Me.lblUser.Caption & "'")
If strLevel <> "ADMINISTRATOR" Then
MsgBox "Anda TIDAK Berhak Mengakses Menu Ini", vbCritical
Else
MsgBox "Anda Berhak Mengakses Menu Ini"
End If
Untuk menu yang hanya bisa diakses oleh level ADMINISTRATOR dan AUDIT :
strLevel = DLookup("UserLevel", "tblUser", "[NamaUser] = '" & Me.lblUser.Caption & "'")
If strLevel = "ADMINISTRATOR" Or strLevel = "AUDIT" Then
MsgBox "Anda Berhak Mengakses Menu Ini"
Else
MsgBox "Anda TIDAK Berhak Mengakses Menu Ini", vbCritical
End If
Untuk menu yang hanya bisa diakses oleh level ADMINISTRATOR dan DATA ENTRY :
strLevel = DLookup("UserLevel", "tblUser", "[NamaUser] = '" & Me.lblUser.Caption & "'")
If strLevel = "ADMINISTRATOR" Or strLevel = "DATA ENTRY" Then
MsgBox "Anda Berhak Mengakses Menu Ini"
Else
MsgBox "Anda TIDAK Berhak Mengakses Menu Ini", vbCritical
End If
Untuk cmdKeluar gunakan code : 
Dim PesanKonfirm As String
PesanKonfirm = "Apakah anda yakin keluar dari aplikasi ini ?"
If MsgBox(PesanKonfirm, vbYesNo, "Konfirmasi") = vbYes Then
DoCmd.Quit
End If
Jika sudah selesai klik save dan tutup jendela design frmUtama

Klik dua kali frmLogin untuk mengetesnya
Form login ini bisa anda kembangkan lagi dengan berbagai trik-trik ataupun anda percantik lagi dengan mengkustomisasinya sedemikian rupa sesuai kebutuhan anda.

Semoga Berhasil...
Semoga bermanfaat...

0 comments:

Posting Komentar

No Sara, Violence, Porn, And Spamming Allowed

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Laundry Detergent Coupons