Cara / Trik membuat form penggantian Password User
Seperti yang selalu penulis katakan pada setiap artikel atau postingan penulis sebelumnya, jika ada banyak cara untuk menghandle apa yang lagi kita inginkan dalam setiap permasalahan/case dalam membuat sebuah aplikasi (khususnya dalam ms access 2003). "Banyak jalan menuju roma", begitu pepatah lama mengatakan, yang tentunya anda sudah mengetahui apa arti dari pribahasa tersebut bukan ?, Yup betul artinya adalah (kurang lebihnya) banyak cara untuk mencapai suatu tujuan, atau bisa juga banyak solusi untuk menyelesaikan sebuah masalah, atau bisa juga yang lainnya (tergantung dari apa yang sedang terjadi). Begitu juga dengan ms access 2003, menurut pengalaman penulis, ternyata ada banyak cara dalam ms access 2003 untuk memenuhi apa yang kita inginkan, disini maksud penulis adalah, anda jangan terlalu fokus pada satu solusi jika anda sedang mengalami kesulitan dalam menentukan metode apa yang harus anda gunakan untuk memenuhi apa yang sedang anda inginkan dalam ms access 2003 atau pada aplikasi yang sedang anda buat. Karena hal itu selain akan "membuang" waktu anda, juga akan menghentikan proses kreatifitas anda dalam mengeksplor fungsi-fungsi yang tersedia dalam ms access 2003. Contohnya adalah seperti pada postingan penulis sebelumnya yang berjudul Form Login Sederhana, sewaktu penulis masih diawal-awal tahap mempelajari ms access 2003, penulis juga sudah menggunakan petunjuk-petunjuk dari para ahli dalam ms access 2003 untuk membuat sebuah form login, dimana petunjuk yang mereka berikan banyak sekali menggunakan metode-metode, fungsi-fungsi, serta statement-statement yang "belum" saatnya untuk penulis pelajari (karena waktu itu kan penulis masih dalam status pemula atau beginner atau newbie dalam ms access), yang hasilnya aplikasi ms access yang penulis buat ukuran filenya "membengkak" menjadi sekitar 75mb (aplikasinya belum ada datanya), padahal aplikasi yang penulis buat adalah aplikasi yang cuma sekedar input data dan cetak data saja, dan penulis juga sudah melakukan Compact and repair databasenya berkali-kali, namun tetap saja ukuran filenya tetap besar. Nah loh kok malahan jadi curhat ya :D
Oke sekarang kita langsung saja pada pokok bahasan, yaitu membuat Form untuk Mengganti Password dari user yang sedang login. Untuk membuat sebuah form agar user bisa mengganti password mereka, penulis gunakan aplikasi ms access 2003 yang telah penulis buat sebelumnya yaitu form login sederhana yang bisa anda download dari 4Shared. Alurnya adalah diasumsikan jika user telah login dan membuka aplikasinya dan telah masuk dalam Form Utama. Dalam aplikasi ms access 2003 (Form Login dengan sensitive case) yang penulis buat sebelumnya, jika anda telah mendownloadnya, maka anda harus tambahkan field-field dibawah ini kedalam tblUser terlebih dahulu.
UserLevel (Text) : Level user, misalnya ADMINISTRATOR, AUDIT, INPUT DATA
LoginTerakhir (General Date) : Tanggal dan waktu user login ke aplikasi
StatusLogin (Text) : Status dari user, apakah sedang login atau tidak
Untuk lebih jelasnya anda bisa lihat pada postingan penulis sebelumnya Form Login Sederhana, Form Login Sederhana 2 dan Form Login Sederhana 3. Silahkan anda ikuti dahulu postingan penulis tersebut. Setelah anda selesai mengikuti apa yang penulis tulis dalam postingan-postingan tersebut, berikut ini adalah langkah-langkah untuk membuat Form Ganti Password :
Buat sebuah form unbound yang bernama frmGantiPassword dengan cara klik Forms pada jendela database, lalu klik dua kali pada Create form in design view lalu atur property form seperti dibawah ini atau sesuai dengan kebutuhan anda :
Scroll Bars : NeitherRecord Selectors : No
Navigation Buttons : No
Dividing Lines : No
Auto Center : Yes
Border Style : Thin
Control Box : Yes
Min Max Buttons : None
Close Button : Yes
Masukkan 3 buah textbox dengan nama dibawah ini :
txtPasswordLama
txtPasswordBaru
txtConfirmPasswordBaru
Dengan Input Mask untuk ketiga Textbox tersebut adalah Password.
Buat 2 buah Label dengan nama seperti dibawah ini :
lblNamaUser, Caption = "Nama User :"
lblUserName, Caption = "USERNAME"
Buat 3 Command Button dengan nama seperti dibawah ini :
cmdSimpan, Caption = SIMPAN
cmdCancel, Caption =CANCEL
cmdKeluar, Caption =KELUAR
Opsional :
Masukkan 1 buah Checkbox, misalnya dengan property :
Nama Checkbox : cbxPassword
Default Value : 0
Silahkan anda percantik lagi tampilan Formnya menurut selera anda, kalau penulis Form Ganti Password yang telah penulis buat seperti dibawah ini :
Dengan Detail :![]() |
| Form Ganti Password Dengan Detail |
![]() |
| Form Ganti Password Ketik Dijalankan |
Untuk Form (Event On Open)
Private Sub Form_Open(Cancel As Integer)
On Error Resume Next
Dim strUser As String
If DCount("NamaUser", "tblUser", "[StatusLogin]='ACTIVE'") > 0 Then
strUser = DLookup("NamaUser", "tblUser", "[StatusLogin]='ACTIVE'")
Me.lblUserName.Caption = strUser
Else
Me.lblUserName.Caption = "NO USER LOGIN"
End If
End Sub
Code ini akan mengecek dan mencari data NamaUser dari tabel tblUser yang data StatusLogin-nya adalah ACTIVE, lalu memasukkannya ke caption dari lblUserName.
Untuk Command Button (Event On Click) :
cmdCancel
Private Sub cmdCancel_Click()
Me.txtPasswordLama = ""
Me.txtPasswordBaru = ""
Me.txtConfirmPasswordBaru = ""
Me.txtPasswordLama.SetFocus
End Sub
Code ini akan mengembalikan nilai/value dari masing-masing textbox yang ada menjadi null (Bahasanya Cancel, padahal hanya membuat null doang :D)
cmdKeluar
Private Sub cmdKeluar_Click()
DoCmd.Close acForm, "frmGantiPassword"
DoCmd.OpenForm "frmUtama"
End Sub
Code ini akan menutup form ganti password lalu membuka form utama
cmdSimpan
Private Sub cmdSimpan_Click()
Dim strPasswordLama As String
If Me.lblUserName.Caption = "NO USER LOGIN" Then
MsgBox "Tidak ada user yang sedang login pada aplikasi ini.", vbCritical
Else
strPasswordLama = DLookup("Password", "tblUser", "[NamaUser] = '" & lblUserName.Caption & "'")
If IsNull(Me.txtPasswordLama) Or Me.txtPasswordLama.Value = "" Then
MsgBox "Silahkan Masukkan Password Lama Anda Terlebih Dahulu", vbCritical
Me.txtPasswordLama.SetFocus
ElseIf IsNull(Me.txtPasswordBaru) Or Me.txtPasswordBaru.Value = "" Then
MsgBox "Silahkan Masukkan Password Baru Anda !", vbCritical
Me.txtPasswordBaru.SetFocus
ElseIf IsNull(Me.txtConfirmPasswordBaru) Or Me.txtConfirmPasswordBaru.Value = "" Then
MsgBox "Anda Harus Mengkonfirmasi Password Baru Anda Terlebih Dahulu !", vbCritical
Me.txtConfirmPasswordBaru.SetFocus
ElseIf StrComp(txtPasswordLama, strPasswordLama, vbBinaryCompare) <> 0 Then
MsgBox "Password Lama Anda Salah ! Perhatikan Huruf Besar Dan Kecil.", vbCritical
Me.txtPasswordLama.SetFocus
ElseIf StrComp(txtPasswordBaru, txtConfirmPasswordBaru, vbBinaryCompare) <> 0 Then
MsgBox "Password Baru Anda Tidak Sama! Perhatikan Huruf Besar Dan Kecil.", vbExclamation
Else
CurrentDb.Execute "UPDATE tblUser SET Password='" & txtConfirmPasswordBaru & "' where NamaUser='" & lblUserName.Caption & "';"
MsgBox "Password Anda Berhasil Dirubah", vbInformation
Call cmdCancel_Click
End If
End If
End Sub
Code ini akan mengecek nilai dari lblUserName terlebih dahulu, lalu mengecek masing-masing textbox, apakah ada yang null atau tidak, lalu membandingkan Password lama yang dimasukkan user, apakah sama dengan password yang tersimpan dalam tabel, lalu mengecek apakah password baru yang dimasukkan sama dengan konfirmasi password baru, dimana metode yang digunakan sebagai pembanding adalah sensitive case. Jika tidak ada yang salah, maka akan ditampilkan pesan "Password Anda Berhasil Dirubah", lalu mengosongkan nilai/value dari masing-masing textbox.
Jika anda juga membuat Checkbox seperti petunjuk opsional diatas, maka masukkan code berikut ini :
cbxPassword (Event After Update)
Private Sub cbxPassword_AfterUpdate()
If cbxPassword = True Then
Me.txtPasswordLama.InputMask = ""
Me.txtPasswordBaru.InputMask = ""
Me.txtConfirmPasswordBaru.InputMask = ""
Else
Me.txtPasswordLama.InputMask = "Password"
Me.txtPasswordBaru.InputMask = "Password"
Me.txtConfirmPasswordBaru.InputMask = "Password"
End If
End Sub
If cbxPassword = True Then
Me.txtPasswordLama.InputMask = ""
Me.txtPasswordBaru.InputMask = ""
Me.txtConfirmPasswordBaru.InputMask = ""
Else
Me.txtPasswordLama.InputMask = "Password"
Me.txtPasswordBaru.InputMask = "Password"
Me.txtConfirmPasswordBaru.InputMask = "Password"
End If
End Sub
Selesai lalu klik Save pada toolbar, Untuk berjaga-jaga, silahkan test dari awal (minimal dari Form Login-nya terlebih dahulu).
Untuk file contohnya bisa anda download dari 4shared Semoga Bermanfaat...


01.20
Gie Satria


Posted in: 
0 comments:
Posting Komentar
No Sara, Violence, Porn, And Spamming Allowed