Selasa, 29 Maret 2011

Membuat Form Password(3)_Penginputan Maksimal 3 kali

Membatasi Jumlah Input Password Sampai 3 Kali

Materi Membuat Form Password(2)_Validasi Tabel , sekalipun sudah menggunakan sistem validasi tabel namun masih mempunyai kekurangan yakni pengguna dapat mencoba untuk menginput beberapa kali. berikut adalah program dan listing agar pengguna dibatasi kesempatannya untuk menginput hanya sampai 3 kali saja. bagaimana jika boleh nginput sampai 10 kali...bisa nggak? ya pasti bisalah... anda tinggal memodifikasi script dibawah ini hingga 10 kali ( pada sceipt " If 1-a=0, if 2-a=0....if 10-a=0). cara membuatnya adalah sebagai berikut :
  1. Buatlah sebuah tabel dengan nama admin kemudian buatlah filed nama dan password, lalu letakkan indexkey pada field nama dengan nama index= idxnama.
  2. Buatlah Form dengan nama PASSWORD, tambahkan komponen textbox sebanyak 2 buah, label 2 buah dan komponen data sebanyak 1 buah lalu atur propertiesnya sebagai berikut :
     -  Text1, Name = Txtnama,   text= " "
     -  Text2, name = Txtpassword,  text = " "
     -  label1, Caption = Masukkan nama dan password !
     -  Label2, Caption = ***Esc : Exit    ***Enter : OK
     -  Komponrn data dikoneksikan seperti biasa.
     Untuk lebih jelasnya perhatikan gambardibawah ini :


Setelah itu masukkan listingnya sebagai berikut :
'------------------------------------------------------------------------------
Dim a As Byte
Dim b As Byte

Private Sub Form_Load()
txtnama.MaxLength = 25
txtpassword.MaxLength = 25
txtnama.PasswordChar = "X"
txtpassword.PasswordChar = "X"
txtpassword.Enabled = False
Data1.Visible = False
End Sub

Private Sub txtnama_KeyPress(KeyAscii As Integer)
'change case for the text word
KeyAscii = Asc(UCase(Chr(KeyAscii)))
Rem Esc for unloaded the prog
If KeyAscii = 27 Then Unload Me
If KeyAscii = 13 Then
Rem serching for the table
With Data1.Recordset
.Index = "idxnama"
.Seek "=", txtnama.Text
If .NoMatch Then
a = a + 1
If 1 - a = 0 Then
MsgBox "Kesempatan ke " & a & " Salah" & Chr(13) & _
"Nama '" & txtnama & "' tidak dikenal", vbInformation, "Lampu Taman"
txtnama = ""
txtnama.SetFocus
ElseIf 2 - a = 0 Then
MsgBox "Kesempatan ke " & a & " Salah" & Chr(13) & _
"Nama '" & txtnama & "' tidak dikenal", vbInformation, "Lampu Taman"
txtnama = ""
txtnama.SetFocus
ElseIf 3 - a = 0 Then
MSN1 = MsgBox("Kesempatan ke " & a & " Salah" & Chr(13) & _
"Nama '" & txtnama & "' tidak dikenal" & Chr(13) & _
"Kesempatan habis, Ulangi dari awal")
     'End
    Unload Me
End If
Else
txtnama.Enabled = False
txtpassword.Enabled = True
txtpassword.SetFocus
End If
End With
End If
End Sub

Private Sub txtpassword_KeyPress(KeyAscii As Integer)
'change case for the text word
KeyAscii = Asc(UCase(Chr(KeyAscii)))
Rem Esc for unloaded the prog
If KeyAscii = 27 Then Unload Me
If KeyAscii = 13 Then
Rem serching for the table
With Data1.Recordset
.Index = "idxnama"
.Seek "=", txtnama
If Trim(!PASSWORD) = Trim(txtpassword) Then
MsgBox " Selamat datang " & txtnama & " ! ", , "Lampu Taman"
menuutama.txtnama = txtnama
menuutama.Show
PASSWORD.Hide
Else
b = b + 1
If 1 - b = 0 Then
MsgBox "Kesempatan ke " & b & " Salah" & Chr(13) & _
"Password anda salah", vbInformation, "Lampu Taman"
txtpassword = ""
txtpassword.SetFocus
ElseIf 2 - b = 0 Then
MsgBox "Kesempatan ke " & b & " Salah" & Chr(13) & _
"Password anda salah", vbInformation, "Lampu Taman"
txtpassword = ""
txtpassword.SetFocus
ElseIf 3 - b = 0 Then
MSN2 = MsgBox("Kesempatan ke " & b & " Salah" & Chr(13) & _
"Password '" & txtpassword & "' tidak dikenal" & Chr(13) & _
"Kesempatan habis, Ulangi dari awal")
    Unload Me
End If
End If
End With
End If
End Sub
'------------------------------------------------------------------------------

sebelum menjalankan program, sebaiknya anda tambahkan dulu 1 from pada project dengan namamenuutama, agar jika program benar dan tak ada kesalahan (debug), maka program akan memunculkan form menuutama.

Selamat Mencoba !


0 komentar:

Posting Komentar