Buka Microsoft Office - Microsoft Access 2000
Rancanglah sebuah tabel dengan attribute "Username" dan "Password" dengan format Text.
Simpanlah tabel tersebut dengan nama apa saja, contoh "Tabel_User", kemudian simpan File MS Access dengan nama apa saja, contoh: "Login.mdb"
Bukalah Microsoft Visual Basil 6.0
Pilih Standard.exe, kemudian pilih Form.
Masukkan :
- 2 buah Label, yaitu Label1 dan Label2
- 2 buah Text Box, yaitu Text1 dan Text2
- 2 buah Command Button, yaitu Command1 dan Command2
Kemudian ganti nilai property yang diperlukan, seperti:
Form1:
Name = FrmLogin
Caption = Login
BorderStyle = 1-FixedSingle
Label1:
Name = LblUsername
Caption = Username
Label2:
Name = LblPassword
Caption = Password
Text1:
Name = TxtUsername
Text = "" (Kosongkan)
Text2:
Name = TxtPassword
PasswordChar = *
Text = "" (Kosongkan)
Command1:
Name = CmdLogin
Caption = Login
Default = True
Command2:
Name = CmdExit
Caption = Exit
Kemudian rancanglah form sesuai yang diinginkan.
Langkah selanjutnya adalah, tambahkan sebuah Class Module dengan cara,
Klik kanan pada Project Explorer di sebelah kanan atas, kemudian pilih Add Class Module. Muncul sebuah form dengan 4 pilihan, pilih saja Class Module, maka munculah sebuah jedela coding.
Tujuan dari Class Module ini adalah kita membentuk sebuah class untuk membangun koneksi dengan MS Access.
Sebelum memulai coding, tambahkan dulu referensi ADODB dengan cara,
Klik Menu Project - Refference, mucul sebuah form dengan sederetan list, pilih saja
"Microsoft ActiveX Data Object 2.8", kemudian klik Apply atau OK.
Coding pada Class Module:
''Global Variabel'''
Dim Koneksi As New ADODB.Connection
Public RsUser As New ADODB.Recordset
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Sub BukaKoneksi(File As String)
Koneksi.Open "Provider=Microsoft.Jet.OLEDB.4.0.Data Source = " & App.Path & " \" & File & "; Persist Security Info=False"
End Sub
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Pulblic Sub TutupKoneksi()
If Koneksi.State Then Koneksi.Close
End Sub
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Sub BukaRsUser()
RsUser.Open "Select * from Tabel_User", koneksi, AdOpenKeyset, AdLockOptimistic
End Sub
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Sub TutupRsUser()
If RsUser.State Then RsUser.Close
End Sub
Tutup jendela coding, kemudia buka FrmLogin. Klik sebarang tempat pada FmrLogin, jangan mengenai kontrol (label, text dan command).
Dim Obj As New Class1 'Global Variabel
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private Sub Form_Load()
Obj.BukaKoneksi "Login.mdb"
Obj.BukaRsUser
End Sub
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private Sub CmdLogin_Click()
Dim Flag As Boolean
Dim i As Integer
Flag = False
Obj.RsUsername.MoveFirst
For i = 0 to Obj.RsUsername.RecordCount - 1
If Obj.RsUsername = TxtUsername And Obj.RsPassword = TxtPassword Then
Flag = True
End if
Next i
If TxtUsername = "" then
MsgBox "Isilah username", vbCritical, "Konfirmasi"
TxtUsername.Setfocus
Elseif TxtPassword = "" then
MsgBox "Isilah Password", vbCritical, "Konfirmasi"
TxtPassword.Setfocus
Elseif Flag = False Then
MsgBox "Terdapat kesalahan dalam mengisi username atau password", vbCritical, "Konfirmasi"
SendKeys "{home}+{end}"
TxtUsername.Setfocus
Else
Msgbox "Login berhasil", vbInformation, "Konfirmasi"
End If
End Sub
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private Sub CmdExit_Click()
Obj.TutupRsUser
Obj.TutupKoneksi
End
End Sub
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Penjelasan
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Dim Koneksi As New ADODB.Connection
Public RsUser As New ADODB.Recordset
Membuat dua buah variabel masing-masing bertipe private dan public. Varibel koneksi sebagai variabel untuk menampung koneksi dan RsUser untuk menampung data yang diambil dari Tabel_User.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Sub BukaKoneksi(File As String)
Koneksi.Open "Provider=Microsoft.Jet.OLEDB.4.0.Data Source = " & App.Path & " \" & File & "; Persist Security Info=False"
End Sub
Sebuah fungsi untuk membuka koneksi ke Ms Access dengan provider Microsoft Jet 4.0, dengan nama file disimpan dalam variabel File yang bertipe data String
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Pulblic Sub TutupKoneksi()
If Koneksi.State Then Koneksi.Close
End Sub
Sebuah fungsi untuk menutup koneksi terhadap database (Ms Access)
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Sub BukaRsUser()
RsUser.Open "Select * from Tabel_User", koneksi, AdOpenKeyset, AdLockOptimistic
End Sub
Fungsi untuk membuka Tabel_User. "Select * from Tabel_User maksudnya adalah mengambil semua kolom pada Tabel_User (Username, Password).
AdOpenKeySet memungkinkan data berpindah dari data yang satu ke data yang lain,
AdLockOptimistic artinya memungkin mengubah data pada saat database sedang dibuka.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Sub TutupRsUser()
If RsUser.State Then RsUser.Close
End Sub
Fungsi untuk menutup Tabel_User
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Dim Obj As New Class1
Obj adalah sebuah variabel global dari FrmLogin, merupakan Object dari Class1 yang digunakan untuk memanggil Public Property serta Method dari Class1 (Konsep OOP).
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private Sub Form_Load()
Obj.BukaKoneksi "Login.mdb"
Obj.BukaRsUser
End Sub
Membuka koneksi terhadap Ms Access (Login.mdb) serta membuka Tabel_User.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private Sub CmdLogin_Click()
Dim Flag As Boolean 'variabel bertipe boolean, True atau False
Dim i As Integer
Flag = False 'set Flag menjadi False (nilai default).
'''' Method untuk mencari tiap data pada Tabel_User ''''
Obj.RsUsername.MoveFirst 'Melakukan pencarian dari data pertama
For i = 0 to Obj.RsUsername.RecordCount - 1
If Obj.RsUsername = TxtUsername And Obj.RsPassword = TxtPassword Then
Flag = True 'Jika data sesuai kriteria maka Flag akan di set menjadi True
End if
Obj.RsUsername.MoveNext 'Jika tidak memenuhi kriteria maka pindah ke data berikutnya.
Next i
'''Validasi Login'''
If TxtUsername = "" then
MsgBox "Isilah username", vbCritical, "Konfirmasi"
TxtUsername.Setfocus
Elseif TxtPassword = "" then
MsgBox "Isilah Password", vbCritical, "Konfirmasi"
TxtPassword.Setfocus
Elseif Flag = False Then
MsgBox "Terdapat kesalahan dalam mengisi username atau password", vbCritical, "Konfirmasi"
SendKeys "{home}+{end}"
TxtUsername.Setfocus
Else
Msgbox "Login berhasil", vbInformation, "Konfirmasi"
End If
End Sub
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private Sub CmdExit_Click()
Obj.TutupRsUser
Obj.TutupKoneksi
End
End Sub
Menutup Tabel_User serta Koneksi, dan mengtikan program.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Jalankan program (tekan F5) makan Form Login sudah dapat dijalankan. Bisa pula tambahkan satu buah form lagi agar setelah berhasil login, maka program akan otomatis membuka form selanjutnya setelah form login.
(Caranya, Form2.Show setelah MsgBox Login berhasil)