Untuk membuat form login yang berhubungan dengan data base pada dasarnya sama dengan membuat form login biasa. Yang menjadi perbedaan adalah kita mengambil data dari database yang sebelumnya telah tersimpan.
Untuk memulai mencoba membuat halaman login, terlebih dahulu membuat database misalnya dari microsoft access dengan nama tabel "login" dan berisi 2 buah kolom yaitu "username" dan "pass".
Setelah database kita buat maka tahap selanjutnya adalah membuat tampilan halaman login yang terdiri dari dua buah label, 2 buah text box dan dua buah command button.
Berikut adalah property yang saya ubah dari masing-masing tool:
Form : Caption > LOGIN
Label1 : caption > Username
Label2: caption > Password
Text1 : name > txtuser
Text2 : name > txtpass
PasswordChar > *
Command1: name > cmdLogin
Caption > &Login
Command2: name > cmdExit
Caption > &Exit
Berikut adalah bentuk tampilannya
Setelah itu kita baru masuk pada tahap pembuatan kode:
Kalo mau coba ini ada contoh kode-nya. Kalo malas ngetik atau copas desain dan codenya bisa di ambil disini:
Private con As New ADODB.Connection
Private rst As New ADODB.Recordset
Private strconn As String
Private sql As String
Private Sub Connections()
strconn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\db.mdb ;Persist Security Info=False;Jet OLEDB"
If con.State = adStateOpen Then
con.Close
Set con = New ADODB.Connection
con.Open strconn
Else
con.Open strconn
End If
End Sub
Private Sub cmdExit_Click()
End
End Sub
Private Sub cmdLogin_Click()
On Error Resume Next
Static i As Integer
If txtUser.Text = "" Then
GoSub noacc
MsgBox "Anda belum memasukkan Nama", vbInformation + vbOKOnly, ":: Informasi ::"
txtUser.SetFocus
ElseIf txtPass.Text = "" Then
GoSub noacc
MsgBox "Anda belum memasukkan Kata Sandi", vbInformation + vbOKOnly, ":: Informasi ::"
txtPass.SetFocus
Else
sql = "SELECT * FROM LOGIN WHERE username='" & txtUser.Text & "'"
Set rst = con.Execute(sql)
If rst.EOF Then
GoSub noacc
MsgBox "Nama atau Kata sandi yang anda masukkan salah", vbInformation + vbOKOnly, ":: Informasi ::"
txtUser.SetFocus
ElseIf txtPass.Text <> rst("pass") Then
GoSub noacc
MsgBox "Nama atau Kata sandi yang anda masukkan salah", vbInformation + vbOKOnly, ":: Informasi ::"
txtUser.SetFocus
Else
MsgBox "Selamat anda berhasil login", vbInformation + vbOKOnly, "Informasi"
Unload Me
End If
End If
Exit Sub
noacc:
i = i + 1
If i = 3 Then
MsgBox "Maaf anda tidak berhak mengakses aplikasi ini !", vbCritical, ":: Gagal ::"
End
Else
Return
End If
End Sub
Private Sub Form_Load()
Call Connections
txtUser.Text = ""
txtPass.Text = Empty
End Sub
Penjelasan singkatnya sbb:
Private con As New ADODB.Connection
Private rst As New ADODB.Recordset
Private strconn As String
Private sql As String
Private Sub Connections()
strconn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\db.mdb ;Persist Security Info=False;Jet OLEDB"
If con.State = adStateOpen Then
con.Close
Set con = New ADODB.Connection
con.Open strconn
Else
con.Open strconn
End If
End Sub
Baris-baris kode ini adalah modul koneksi ke database, biasanya diletakkan pada sebuah modul apabila kita memiliki banyak form, karena kita hanya memiliki sebuah form maka kita letakkan pada form. Dan prosedur ini akan kita panggil pada saat form kita load “call Connections”
Private Sub cmdExit_Click()
End
End Sub
Kode ini saya kira sudah sangat jelas, yaitu untuk mengakhiri atau menutup form.
Private Sub cmdLogin_Click()
On Error Resume Next
Static i As Integer
If txtUser.Text = "" Then
GoSub noacc
MsgBox "Anda belum memasukkan Nama", vbInformation + vbOKOnly, ":: Informasi ::"
txtUser.SetFocus
ElseIf txtPass.Text = "" Then
GoSub noacc
MsgBox "Anda belum memasukkan Kata Sandi", vbInformation + vbOKOnly, ":: Informasi ::"
txtPass.SetFocus
Else
sql = "SELECT * FROM LOGIN WHERE username='" & txtUser.Text & "'"
Set rst = con.Execute(sql)
If rst.EOF Then
GoSub noacc
MsgBox "Nama atau Kata sandi yang anda masukkan salah", vbInformation + vbOKOnly, ":: Informasi ::"
txtUser.SetFocus
ElseIf txtPass.Text <> rst("pass") Then
GoSub noacc
MsgBox "Nama atau Kata sandi yang anda masukkan salah", vbInformation + vbOKOnly, ":: Informasi ::"
txtUser.SetFocus
Else
MsgBox "Selamat anda berhasil login", vbInformation + vbOKOnly, "Informasi"
Unload Me
End If
End If
Exit Sub
noacc:
i = i + 1
If i = 3 Then
MsgBox "Maaf anda tidak berhak mengakses aplikasi ini !", vbCritical, ":: Gagal ::"
End
Else
Return
End If
End Sub
Untuk bagian ini hamper sama ketika kita membuat halaman login tanpa data base yang sudah pernah saya postingkan, hanya saja yang menjadi perbedaan hanya terletak pada beberapa bagian saja. Yaitu pada
sql = "SELECT * FROM LOGIN WHERE username='" & txtUser.Text & "'"
Set rst = con.Execute(sql)
If rst.EOF Then
GoSub noacc
MsgBox "Nama atau Kata sandi yang anda masukkan salah", vbInformation + vbOKOnly, ":: Informasi ::"
txtUser.SetFocus
ElseIf txtPass.Text <> rst("pass") Then
GoSub noacc
MsgBox "Nama atau Kata sandi yang anda masukkan salah", vbInformation + vbOKOnly, ":: Informasi ::"
txtUser.SetFocus
Disini kita akan menggunakan query sql untuk melakukan pencarian username terlebih dahulu kemudian hasilnya kita simpan pada variable rst setelah eksekusi query dilakukan. Apabila data tidak ditemukan maka akan menuju ke sub prosedur noacc, namun bila ditemukan maka kita akan membandingkan nilai password yang ada pada database dan password yang di-input-kan oleh user.
Private Sub Form_Load()
Call Connections
txtUser.Text = ""
txtPass.Text = Empty
End Sub
Bagian ini adalah bagian yang pertama kali dijalankan oleh program karena ditelakkan pada saat form kita buka. Kode ini hanya berfungsi untuk melakukan pengaturan awal saya, misalnya call connections, yaitu untuk melakukan pangggilam koneksi ke database, kemudian pengatur textbox menjadi kosong yaitu dengan menggunakan (“”) atau bisa juga dengan kata Empty.
Dah Cuma gitu aja, kayaknya gak susah2 bgt. Met mencoba deh.
22 June 2010
Subscribe to:
Post Comments (Atom)
23 comments:
kalau fasilitas pengingat pasword d vb 6 gimana ia?
kk muph kurang ngerti..
klo bsa yg aga lebih rumit..
eh slh tulis...
ada yg lebih canggih and rumit alias sulit......
@ida :saya blum perna buat yg seperti yg kamu pikirkan, tp saya kira kita cuma perlu membuat satu tabel yg berisi security question user untuk membantu memunculkan passwordnya.
@ganda:Aduh maaf klo penjelasannya blom bisa membantu. Aq jg msh banyak belajar, jd klo yg canggih n rumuit mungkin untuk tingkatan yg lebih mahir.
wah..sipp..sipp..
kk bole nanya ga??
klo script buat buka form lain gmna??
yaa mungkin kya link giu deh actionnya..
kasi tau ya kk...
kirim ke e-mail q y ka.
saiful_mmn@yahoo.com
kk mau tanya, kalau kita mau buat kondisi setelah dapat login lalu masuk ke form ke2(menu) itu commandnya gmn n sebelah mana perbedaan dengan coding yg di atas?
thx.
ane cbaaa dlu ya bozzzz....
thanks tutorialnya....
gua bantu zeft, kalo ingin nampilin form2 maka pada listing berikut:
Else
MsgBox "Selamat anda berhasil login", vbInformation + vbOKOnly, "Informasi"
Unload Me
End If
End If
Exit Sub
tulis syntax ini dibawah unload me
MsgBox "Selamat anda berhasil login", vbInformation + vbOKOnly, "Informasi"
Unload Me
form2.show
End If
End If
selamat mencoba hehe
Exit Sub
thx for all ..
kalo m au bikin form ganti password gi mana??
thnks. . .
wahhh....semangat2. trimakasih sudah berbagi,
InsyaAllah tak sering mampir dech...
karna ane lagi perlu untuk bahan TA
best regard
alismg_1895@yahoo.co.id
bisa tolong bantuannya gak,kl mau buat data mahasiswa gmn???jadi dgn primary key kita bisa tau mahasiswa tersebut dijurusan mana,serta biodata mahasiswa juga tercantum.thank's
mau tanya neh. pada saat login ke windows, kan ada username n passwordnya tuh, bagaimana cara mengambil username n passwordnya dari database kita bukan dari user account kita????
Thnx
kk tolong bahas langkah2 membuat database dengan vb y...tengkyu...
kk aqu mw mnta tlg, untuk menampilkan label pada frame gmn ya?mksdx labelnya bs di baca walaupun diatas frame...sbnarnya aq jd malu nanya ini tp mw gmn lgi aqu pemula si....tlg ya k klw bsa kirim di email aqu aja
joe_experiment@yahoo.com.thanks b4
ribeettt bgt to listing!!!
eittsss...
ikutan dong...
kalau ada yang mau membuat jam digital sederhana silahkan ikuti langkah2 berikut ini:
1.buat sebuah form dan namai dengan frmClock
2.Masukkan 2 buah label dan 1 buah timer
Pada Timer Ubah namanya menjadi tmrClock dan
intervalnya 1
3.Masukkan Codingan Berikut:
Option Explicit
Private Const pi As Double = 3.14159265358979
Private Declare Function CreateRoundRectRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long, ByVal X3 As Long, ByVal Y3 As Long) As Long
Private Declare Function ReleaseCapture Lib "user32" () As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function SetWindowRgn Lib "user32" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
Private Sub MakeRoundObject(objObject As Object, Value As Long)
Static lngHeight, lngLong, lngReturn, lngWidth As Long
lngWidth = objObject.Width / Screen.TwipsPerPixelX
lngHeight = objObject.Height / Screen.TwipsPerPixelY
SetWindowRgn objObject.hWnd, CreateRoundRectRgn(0, 0, lngWidth, lngHeight, Value, Value), True
End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyEscape Then
App.TaskVisible = False
Unload Me
End
End If
End Sub
Private Sub Form_Load()
Call MakeRoundObject(frmClock, 1000)
Call tmrClock_Timer
End Sub
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
ReleaseCapture
SendMessage Me.hWnd, &HA1, 2, 0&
End Sub
Private Sub lblTime_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Call Form_MouseDown(Button, Shift, X, Y)
End Sub
Private Sub tmrClock_Timer()
Dim dblSecond As Double, dblMinute As Double, dblHour As Double
dblSecond = Second(Now) * 6 - 90
dblMinute = (Minute(Now) + Second(Now) / 60) * 6 - 90
dblHour = (Hour(Now) + Minute(Now) / 60) * 30 - 90
Lbltime.Caption = Format(Now, "hh:mm:ss")
LblDate.Caption = Format(Now, "dddd-dd-mmmm-yyyy")
End Sub
udah selesai deh jam digitalnya ini juga akan menunjukkan tanggal,hari,bulan,dan tahun. tetapi ini hanya berfungsi sesuai dengan tanggal dan waktu di komputer atau laptop anda.. Trims..^_^..
Ohh yaa kk saya juga mau tanya nich soal membuat bagaimana cara memasukkan username dan password ke txtNama dan txtPass dan setelah data yg dimasukkan benar menuju form berikutnya.. itu gimana buatnya yach...??? soalnya cara buat kyk gitu aq taunya cma di VB.NET 2008 Express..
Tolong dong cara menuliskan kode copyfolder C:\Document and settings\Username\ ===>Username diganti kata apa agar bisa digunakan di komp lain yang user name pasti tidak sama.atas bantuannya banyak terima kasih.
Mantap infonya gan.. Visual Basic Programming
makasih om infonya , sip!
klw cara bikim VB 6.0 Login form, Loading form. using buttons, textbox and list box. gmna ?? ksih tw juga dund cara'a !!
Kak mau tnya. Caranya buat filter penjualan gmn ya? Kodenya apa?
Post a Comment