Melanjutkan materi sebelumnya, dalam membuat aplikasi berikut kita akan bekerja dengan lebih dari satu form. Untuk lebih dapat mengefisienkan perintah program, bisa dalam projek ditambahkan sebuah modul.
Menambahkan form pada projek
Tambahkan Modul dalam Projek
Dalam Jendela Kode Modul Ketikkan Kode berikut :
Option Explicit
Public Cn As New ADODB.Connection
Public Rs As New ADODB.Recordset
Public Const Dbasefile = "dbnilai.mdb"
Public Sub buka()
If Cn.State = adStateOpen Then Cn.Close
Cn.Mode = adModeReadWrite
Cn.Open "Provider=Microsoft.jet.OLEDB.4.0;Data Source=" + App.Path + "\" + Dbasefile
End Sub
Public Sub sqlQuery(SQLstr As String)
Cn.Execute SQLstr
End Sub
Public Sub OpenRecordset(SQLstr As String)
If Rs.State = adStateOpen Then Rs.Close
Rs.Open SQLstr, Cn, adOpenKeyset, adLockOptimistic, adCmdText
End Sub
Public Sub tutup()
If Rs.State = adStateOpen Then Rs.Close
Set Rs.ActiveConnection = Nothing
Set Rs = Nothing
If Cn.State = adStateOpen Then Cn.Close
Set Cn = Nothing
End Sub
Desain Form1 sesuai gambar berikut
Dobleklik pada form1 kemudian ketik kode program
Tetapi sebelumnya ketik kode program berikut pada jendela kode editor
Private Sub kosong()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
End Sub
Dobelklik pada command cari ketikkan kode program
Private Sub Command8_Click()
OpenRecordset "Select * from nilai where id_nilai = " & Text1.Text & ";"
If Not Rs.EOF Then
Text2.Text = Rs.Fields!nama
Text3.Text = Rs.Fields!nilai
Else
MsgBox "Maaf data tidak ada!", vbInformation, "Perhatian!"
End If
End Sub
Dobelklik pada command Edit ketikkan kode program
Private Sub Command5_Click()
sqlQuery "Update nilai set nama ='" & Text2.Text & "', nilai = " & Text3.Text & " where id_nilai = " & Text1.Text & ";"
kosong
End Sub
Dobelklik pada command Tambah ketikkan kode program
Private Sub Command6_Click()
sqlQuery "INSERT INTO nilai values ('" & Text1.Text & "' ,'" & Text2.Text & "','" & Text3.Text & "');"
kosong
End Sub
Dobelklik pada command Hapus ketikkan kode program
Private Sub Command7_Click()
sqlQuery "Delete from nilai where id_nilai = " & Text1.Text & ";"
kosong
End Sub
Sedangkan untuk command laporan
Pada Form 2 tambahkan tool komponen Listview namun sebelumnya tambahkan komponen tersebut dengan menekan Ctrl+t, pilih Microsoft Windows Comman Control 6.0
Sehingga pada tool box terdapat penambahan beberapa tool,
Tambahkan tool Listview pada form2
Sehingga pada form seperti pada gambar
Ketikkan kode program berikut
Private Sub Command1_Click()
Unload Me
End Sub
Private Sub Form_Load()
Dim ch As ColumnHeader, lv As ListItem
ListView1.View = lvwReport
Set ch = ListView1.ColumnHeaders.Add(, , "No", 500)
Set ch = ListView1.ColumnHeaders.Add(, , "Nama", 2200)
Set ch = ListView1.ColumnHeaders.Add(, , "Nilai", 1500)
ListView1.GridLines = True
ListView1.Enabled = True
OpenRecordset "Select * from nilai;"
If Not Rs.EOF Then
Do Until Rs.EOF
Set lv = ListView1.ListItems.Add(, , Rs.Fields!id_nilai)
lv.SubItems(1) = Rs.Fields!nama
lv.SubItems(2) = Rs.Fields!nilai
Rs.MoveNext
Loop
End If
End Sub
Jalankan Program
Menambahkan form pada projek
Tambahkan Modul dalam Projek
Dalam Jendela Kode Modul Ketikkan Kode berikut :
Option Explicit
Public Cn As New ADODB.Connection
Public Rs As New ADODB.Recordset
Public Const Dbasefile = "dbnilai.mdb"
Public Sub buka()
If Cn.State = adStateOpen Then Cn.Close
Cn.Mode = adModeReadWrite
Cn.Open "Provider=Microsoft.jet.OLEDB.4.0;Data Source=" + App.Path + "\" + Dbasefile
End Sub
Public Sub sqlQuery(SQLstr As String)
Cn.Execute SQLstr
End Sub
Public Sub OpenRecordset(SQLstr As String)
If Rs.State = adStateOpen Then Rs.Close
Rs.Open SQLstr, Cn, adOpenKeyset, adLockOptimistic, adCmdText
End Sub
Public Sub tutup()
If Rs.State = adStateOpen Then Rs.Close
Set Rs.ActiveConnection = Nothing
Set Rs = Nothing
If Cn.State = adStateOpen Then Cn.Close
Set Cn = Nothing
End Sub
Desain Form1 sesuai gambar berikut
Dobleklik pada form1 kemudian ketik kode program
Private Sub Form_Load()
buka
kosong
End Sub
buka
kosong
End Sub
Tetapi sebelumnya ketik kode program berikut pada jendela kode editor
Private Sub kosong()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
End Sub
Dobelklik pada command cari ketikkan kode program
Private Sub Command8_Click()
OpenRecordset "Select * from nilai where id_nilai = " & Text1.Text & ";"
If Not Rs.EOF Then
Text2.Text = Rs.Fields!nama
Text3.Text = Rs.Fields!nilai
Else
MsgBox "Maaf data tidak ada!", vbInformation, "Perhatian!"
End If
End Sub
Dobelklik pada command Edit ketikkan kode program
Private Sub Command5_Click()
sqlQuery "Update nilai set nama ='" & Text2.Text & "', nilai = " & Text3.Text & " where id_nilai = " & Text1.Text & ";"
kosong
End Sub
Dobelklik pada command Tambah ketikkan kode program
Private Sub Command6_Click()
sqlQuery "INSERT INTO nilai values ('" & Text1.Text & "' ,'" & Text2.Text & "','" & Text3.Text & "');"
kosong
End Sub
Dobelklik pada command Hapus ketikkan kode program
Private Sub Command7_Click()
sqlQuery "Delete from nilai where id_nilai = " & Text1.Text & ";"
kosong
End Sub
Sedangkan untuk command laporan
Private Sub Command1_Click()
Form2.Show
End Sub
Form2.Show
End Sub
Pada Form 2 tambahkan tool komponen Listview namun sebelumnya tambahkan komponen tersebut dengan menekan Ctrl+t, pilih Microsoft Windows Comman Control 6.0
Sehingga pada tool box terdapat penambahan beberapa tool,
Tambahkan tool Listview pada form2
Sehingga pada form seperti pada gambar
Ketikkan kode program berikut
Private Sub Command1_Click()
Unload Me
End Sub
Private Sub Form_Load()
Dim ch As ColumnHeader, lv As ListItem
ListView1.View = lvwReport
Set ch = ListView1.ColumnHeaders.Add(, , "No", 500)
Set ch = ListView1.ColumnHeaders.Add(, , "Nama", 2200)
Set ch = ListView1.ColumnHeaders.Add(, , "Nilai", 1500)
ListView1.GridLines = True
ListView1.Enabled = True
OpenRecordset "Select * from nilai;"
If Not Rs.EOF Then
Do Until Rs.EOF
Set lv = ListView1.ListItems.Add(, , Rs.Fields!id_nilai)
lv.SubItems(1) = Rs.Fields!nama
lv.SubItems(2) = Rs.Fields!nilai
Rs.MoveNext
Loop
End If
End Sub
Jalankan Program
No comments:
Post a Comment