Rabu, 24 September 2014

Program Perpustakaan visual basic 6

Membuat Program Perpustakaan visual basic 6 dengan microsoft access 2007 bagian pertama

Untuk Membuat Program Perpustakaan visual basic 6 dengan microsoft access 2007 akan saya terangkan dengan menggunakan artikel episode karena saking banyaknya kode yang akan digunakan sehingga membutuhkan banyak sekali artikel yang bersambung dan disini saya akan menerangkan dari awal hingga akhir pembuatan program Perpustakaan menggunakan visual basic 6 dengan database menggunakan microsoft access 2007.
Membuat program perpustakaan cukup rumit sehingga membutuhkan ketelitian yang sangat besar sekarang saya akan memulai pembuatan program perpustakaan menggunakan visual basic 6, untuk pertama kali saya akan membuat form untuk insert data buku kedalam database kali ini saya taruh di form1, komponen yang saya gunakan adalah 4 label, 4 text, 2 button dan 1 listview dengan header column Nama buku, Jumlah, Harga/1 dan Kode lihat gambar dibawah:
Kemudian buatlah database menggunakan Microsoft Access 2007 dengan table pertama dbuku dan 5 kolom yaitu ID,NBuku,Harga,Jumlah dan Kode lihat gambar dibawah ini:
 a. Insert data ke database
 
Setelah itu simpan database yang sudah dibuat seforlder dengan project yang sedang dalam proses pembuatan dengan nama perpus.accdb, setelah database sudah dibuat kembali lagi ke visual basic 6 simpan dahulu project yang dalam proses kedalam folder yang sama dimana database disimpan lalu klik Project-->Preference-->Microsoft ActiveX Data Object 6.0 Library->OK dan buatlah 1 module pada project visual basic, masukkan kode dibawah:
Public cn As ADODB.Connection
Public rs As ADODB.Recordset
Sub Main()
Set cn = New ADODB.Connection
cn.ConnectionString = "provider = microsoft.ace.oledb.12.0; data source= " & App.Path & "\perpus.accdb;Persist Security Info=False"
cn.Open
Form1.Show
End Sub

Sub lihat()
Dim str As String
str = "select * from Dbuku"
Set rs = cn.Execute(str)
Form1.ListView1.ListItems.Clear
Do While Not rs.EOF
Set Item = Form1.ListView1.ListItems.Add(, , rs!Nama)
Item.SubItems(1) = rs!Jumlah
Item.SubItems(2) = rs!Harga
Item.SubItems(3) = rs!Kode
rs.MoveNext
Loop
Set rs = Nothing

End Sub
Selanjutnya klik kanan pada Project1(Project1.vbp) yang berada disebelah kanan atas pilih Project1 properties Start Up Object pilih Sub main, sebelum berlanjut ke tahap insert data ke database coba run dahulu, kalau form1 terbuka itu menandakan sodah connect kedatabase.

Jika form1 sudah terbuka kemudian klik 2 kali form1 hapus semua kode yang ada dan masukkan kode dibawah ini:
Private Sub Command1_Click()
Set rs = New ADODB.Recordset
rs.Open "select * from Dbuku", cn, adOpenKeyset, adLockOptimistic
rs.AddNew
rs!Nbuku = Text1.Text
rs!Jumlah = Text2.Text
rs!Harga = Text3.Text
rs!Kode = Text4.Text
rs.Update
MsgBox "Data masuk"
Module1.lihat
Set rs = Nothing
End Sub


Private Sub Form_Load()
Module1.lihat
End Sub
Selanjutnya setelah Form1 jadi kemudian tambahkan menu button dengan caption "Pinjam/Kembali" klik 2 kali dan masukkan kode Form2.Show lalu buatlah form2 dan form3 dalam form2 gunakan beberapa komponen lihat gambar dibawah:
Lalu pada databasenya tambahkan Table Pinjam dengan kolom : Nama,  Alamat, KTP, Jbuku, Jumlah, Jenis, Tanggal dan Kode seperti gambar dibawah:
Setelah itu pada form3 masukkan komponen-komponen: 1 label dan 1 listview dengan Header Column
  • Nama Peminjam
  • Alamat Peminjam
  • KTP Peminjam
  • Judul Buku 
  • Jumlah
  • Jenis
  • Tanggal
  • Harga
  • Kode
Lihat gambar dibawah:
 
Selanjutnya pada form2 klik dua kali hapus semua kode yang ada dan masukkan kode dibawah:


Private Sub Combo2_DropDown()
Label10 = Combo2.Text
If Combo1.Text = "Kembali" Then
Label11.Visible = False
Set rs = New ADODB.Recordset
rs.Open "select * from Pinjam where Kode Like '%" & Combo2.Text & "%' and Jenis='Pinjam'", cn, adOpenKeyset, adLockOptimistic
Text5 = rs!Jumlah
Text7 = rs!Harga
Call klop
Set rs = Nothing
ElseIf Combo1.Text = "Pinjam" Then
Label11.Visible = True
Label10 = Combo2.Text
Set rs = New ADODB.Recordset
rs.Open "select * from Dbuku where Kode='" & Combo2.Text & "'", cn, adOpenKeyset, adLockOptimistic
Label9 = rs!Nbuku
Text7 = rs!Harga
Set rs = Nothing
Else
End If
End Sub

Sub klop()
Set rs = New ADODB.Recordset
rs.Open "select * from Dbuku where Kode='" & Label10 & "'", cn, adOpenKeyset, adLockOptimistic
Label9 = rs!Nbuku
Set rs = Nothing
End Sub
Private Sub Command1_Click()
If Combo1.Text = "Pinjam" Then
Set rs = New ADODB.Recordset
rs.Open "select * from Pinjam", cn, adOpenKeyset, adLockOptimistic
rs.AddNew
rs!Nama = Text1.Text
rs!Alamat = Text2.Text
rs!KTP = Text3.Text
rs!Jbuku = Label9
rs!Jumlah = Text5.Text
rs!Jenis = Combo1.Text
rs!Tanggal = Text6.Text
rs!Harga = Label11.Caption
rs!Kode = Combo2.Text
rs.Update
MsgBox "Data masuk"
Call kurang
Module1.lihat
Set rs = Nothing
ElseIf Combo1.Text = "Kembali" Then
Set rs = New ADODB.Recordset
rs.Open "select * from Pinjam", cn, adOpenKeyset, adLockOptimistic
rs.AddNew
rs!Nama = Text1.Text
rs!Alamat = Text2.Text
rs!KTP = Text3.Text
rs!Jbuku = Label9
rs!Jumlah = Text5.Text
rs!Jenis = Combo1.Text
rs!Tanggal = Text6.Text
rs!Harga = Text7
rs!Kode = Combo2.Text
rs.Update
MsgBox "Data masuk"
Call tambah
Call hapus
Module1.lihat
Set rs = Nothing
ElseIf Combo1.Text = "" Then
MsgBox "Pilih jenis dahulu"

End If
End Sub

Private Sub Command2_Click()
Form3.Caption = "Laporan Data Lengkap Pinjam & Kembali"
Dim str As String
str = "select * from Pinjam"
Set rs = cn.Execute(str)
Form3.ListView1.ListItems.Clear
Do While Not rs.EOF
Set Item = Form3.ListView1.ListItems.Add(, , rs!Nama)
Item.SubItems(1) = rs!Alamat
Item.SubItems(2) = rs!KTP
Item.SubItems(3) = rs!Jbuku
Item.SubItems(4) = rs!Jumlah
Item.SubItems(5) = rs!Jenis
Item.SubItems(6) = rs!Tanggal
Item.SubItems(7) = rs!Harga
Item.SubItems(8) = rs!Kode
rs.MoveNext
Loop
Set rs = Nothing
Form3.Show

End Sub

Private Sub Command3_Click()
Form3.Caption = "Laporan Data Lengkap Pinjam"
Dim str As String
str = "select * from Pinjam where Jenis='Pinjam'"
Set rs = cn.Execute(str)
Form3.ListView1.ListItems.Clear
Do While Not rs.EOF
Set Item = Form3.ListView1.ListItems.Add(, , rs!Nama)
Item.SubItems(1) = rs!Alamat
Item.SubItems(2) = rs!KTP
Item.SubItems(3) = rs!Jbuku
Item.SubItems(4) = rs!Jumlah
Item.SubItems(5) = rs!Jenis
Item.SubItems(6) = rs!Tanggal
Item.SubItems(7) = rs!Harga
Item.SubItems(8) = rs!Kode
rs.MoveNext
Loop
Set rs = Nothing
Form3.Show
End Sub

Private Sub Command4_Click()
Form3.Caption = "Laporan Data Lengkap Kembali"
Dim str As String
str = "select * from Pinjam where Jenis='Kembali'"
Set rs = cn.Execute(str)
Form3.ListView1.ListItems.Clear
Do While Not rs.EOF
Set Item = Form3.ListView1.ListItems.Add(, , rs!Nama)
Item.SubItems(1) = rs!Alamat
Item.SubItems(2) = rs!KTP
Item.SubItems(3) = rs!Jbuku
Item.SubItems(4) = rs!Jumlah
Item.SubItems(5) = rs!Jenis
Item.SubItems(6) = rs!Tanggal
Item.SubItems(7) = rs!Harga
Item.SubItems(8) = rs!Kode
rs.MoveNext
Loop
Set rs = Nothing
Form3.Show
End Sub

Private Sub Command5_Click()
Form3.Caption = "Laporan Keuangan dari buku yang di kembalikan"
Set rs = New ADODB.Recordset
rs.Open "select sum(Harga) as tot from Pinjam where Jenis='Kembali'", cn, adOpenKeyset, adLockOptimistic
Form3.Label1 = "Rp. " & FormatNumber(rs!tot)
rs.Close
Set rs = Nothing
Form3.Show
End Sub

Private Sub Form_Load()
Text6 = Date
Set rs = New ADODB.Recordset
rs.Open "select * from Dbuku ", cn, adOpenKeyset, adLockOptimistic
Do While Not rs.EOF
Combo2.AddItem (rs!Kode)
rs.MoveNext
Loop
Set rs = Nothing
End Sub

Sub kurang()
Dim str As String
Set rs = New ADODB.Recordset
str = "Update Dbuku set Jumlah=(Jumlah-" & Text5 & ") where Kode='" & Combo2.Text & "'"
Set rs = cn.Execute(str)
Set rs = Nothing
End Sub

Sub luk()
Dim judul As String
Set rs = New ADODB.Recordset
rs.Open "select * from Dbuku where Kode='" & Combo2.Text & "'", cn, adOpenKeyset, adLockOptimistic
Label9 = rs!Nbuku
Set rs = Nothing
End Sub

Sub tambah()
Dim str As String
Set rs = New ADODB.Recordset
str = "Update Dbuku set Jumlah=(Jumlah+" & Text5 & ") where Kode='" & Combo2.Text & "'"
Set rs = cn.Execute(str)
Set rs = Nothing
End Sub

Sub hapus()
Set rs = New ADODB.Recordset
rs.Open "DELETE from Pinjam where nama='" & Text1 & "' and Kode='" & Combo2.Text & "' and Jenis='Pinjam'", cn, adOpenKeyset, adLockOptimistic
Set rs = Nothing
End Sub

Private Sub Text1_LostFocus()
If Combo1.Text = "Kembali" Then
Set rs = New ADODB.Recordset
rs.Open "select * from Pinjam where Nama Like '%" & Text1 & "%' and Jenis='Pinjam'", cn, adOpenKeyset, adLockOptimistic
Text2 = rs!Alamat
Text3 = rs!KTP
Combo2.Clear
Do While Not rs.EOF
Combo2.AddItem (rs!Kode)
rs.MoveNext
Loop
Set rs = Nothing
Else
End If
End Sub

Private Sub Text4_Change()
Call luk
End Sub



Private Sub Text5_Change()
If Not Text5 = "" And Not Text7 = "" Then
Label11 = Text5 * Text7
Else
End If
End Sub
Logika dari kode diatas adalah jika combo1.text="Pinjam" maka secara otomatis combo2.list bertambah sesuai dengan data buku yang sudah di insert dan ketika combo2.list dipilih salah satunya maka akan keluar Harga dari kode buku yang sudah dipilih lalu ketika cutton Masukkan diklik otomatis jumlah buku berkurang dan jika Combo1.text="Kembali" maka ketika text1 diketikkan nama peminjam lalu pointer dipindah ke text2 maka secara otomatis pada text2 dan text3 akan mengeluarkan data alamat dan KTP peminjam dan pada Combo2.list akan memunculkan buku apa saja yang sedang dipinjam, lalu jika Combo2.list dipilih salah satu kode buku yang dipinjam
label9.caption akan memunculkan Judul buku dan label10.Caption akan memunculkan kode buku, jumlah otomatis akan sesuai dengan jumlah yang dipinjam dan harga akan otomatis muncul.

Tidak ada komentar:

Posting Komentar