Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 57

Source Code modul koneksi :

Global conn As ADODB.Connection Global rsBarang As ADODB.Recordset Global rsPembelian As ADODB.Recordset Global rsPenjualan As ADODB.Recordset Global rsPenjualan2 As ADODB.Recordset Global rsReturBeli As ADODB.Recordset Global rsLogin As ADODB.Recordset Global rsSupplier As ADODB.Recordset Global rsHutang As ADODB.Recordset 'sekarang fungsi untuk koneksi ke database Sub koneksi() Set conn = New ADODB.Connection conn.Provider = "microsoft.jet.oledb.4.0" conn.CursorLocation = adUseClient conn.Open App.Path & "\TokoDB.mdb" End Sub

Source Code modul log_file :


Sub saveLaporan(pesan As String, namafile As String) Open App.Path & "\LAPORAN\" & namafile & ".txt" For Append As #1 Print #1, pesan Close #1 End Sub Sub saveMemo2(pesan As String) Open App.Path & "\FileHash.txt" For Append As #1 Print #1, pesan Close #1 End Sub

Source Code MDIForm1 :


Private Sub AddBeli_Click() frmBeli.Show End Sub Private Sub AddBrg_Click() frmAddBrg.Show End Sub

Private Sub AddJual_Click() frmJual.Show End Sub Private Sub AddSupplier_Click() frmAddSupplier.Show End Sub Private Sub ByrHtg_Click() frmByrUtang.Show End Sub Private Sub DelBrg_Click() frmDelBrg.Show End Sub Private Sub DelSupplier_Click() frmDelSupplier.Show End Sub Private Sub EditBrg_Click() frmEditBrg.Show End Sub Private Sub EditSupplier_Click() frmEditSupplier.Show End Sub Private Sub fileExit_Click() End End Sub Private Sub fileLogin_Click() frmDataLogin.Show End Sub Private Sub mnuLapBeli_Click() frmLapBeli.Show End Sub

Private Sub mnuLapByrHutang_Click() frmLapByrUtang.Show End Sub Private Sub mnuLapJual_Click() frmLapJual.Show End Sub Private Sub mnuLapKeu_Click() frmLapKeu.Show End Sub Private Sub mnuLapReturBeli_Click() frmLapReturBeli.Show End Sub Private Sub ReturBeli_Click() frmReturBeli.Show End Sub

Source Code form Login :


Private Sub cmdBatal_Click() End End Sub Private Sub cmdOK_Click() If txtUsername.Text <> "" And txtPassword.Text <> "" Then Set rsLogin = New ADODB.Recordset rsLogin.LockType = adLockOptimistic rsLogin.CursorType = adOpenDynamic rsLogin.Open "SELECT * FROM data_login WHERE username = '" & txtUsername.Text & "' AND password = '" & txtPassword.Text & "'", conn, , , adCmdText If Not rsLogin.EOF Then If rsLogin!posisi = "Administrator" Then 'load menu utk admin MDIForm1.fileLogin.Enabled = True MDIForm1.mnuBarang.Enabled = True MDIForm1.mnuSupplier.Enabled = True

MDIForm1.mnuTransaksi.Enabled = True MDIForm1.mnuLaporan.Enabled = True MDIForm1.Show Unload Me Else 'load menu utk operator MDIForm1.fileLogin.Enabled = False MDIForm1.mnuBarang.Enabled = False MDIForm1.mnuSupplier.Enabled = False MDIForm1.mnuTransaksi.Enabled = True MDIForm1.mnuLaporan.Enabled = False MDIForm1.Show Unload Me End If

Else MsgBox "Username dan Password Salah", vbCritical Exit Sub End If End If End Sub Private Sub Form_Load() koneksi End Sub

Source Code utk form DataLogin :


Public dataIndex As Integer Public tmpUser As String Public tmpPass As String Private Sub cmdDelete_Click() Dim tanya tmpUser = txtUsername.Text tmpPass = txtPassword.Text tanya = MsgBox("Hapus Data Pengguna ?", vbQuestion + vbYesNo) If tanya = vbYes Then

Do Until rsLogin.EOF If rsLogin!UserName = tmpUser And rsLogin!Password = tmpPass Then With rsLogin .Delete .UpdateBatch End With

MsgBox "Data Terhapus", vbInformation kondisiNormal Exit Do End If rsLogin.MoveNext Loop Else kondisiNormal End If End Sub Private Sub cmdEdit_Click() cmdNew.Enabled = False cmdDelete.Enabled = False Select Case cmdEdit.Caption Case "Ubah": cmdEdit.Caption = "Simpan" cmbPosisi.Locked = False txtUsername.Locked = False txtPassword.Locked = False txtPassword2.Locked = False txtUsername.SetFocus tmpUser = txtUsername.Text tmpPass = txtPassword.Text Case "Simpan": cmdEdit.Caption = "Ubah" rsLogin.MoveFirst Do Until rsLogin.EOF

If rsLogin!UserName = tmpUser And rsLogin!Password = tmpPass Then With rsLogin !UserName = txtUsername.Text !Password = txtPassword.Text !posisi = cmbPosisi.Text .Update End With

MsgBox "Data Tersimpan", vbInformation kondisiNormal Exit Do End If rsLogin.MoveNext Loop

End Select End Sub Private Sub cmdFirst_Click() If Not rsLogin.EOF Then rsLogin.MoveFirst txtUsername.Text = rsLogin!UserName txtPassword.Text = rsLogin!Password cmbPosisi.Text = rsLogin!posisi dataIndex = 0 End If End Sub Private Sub cmdLast_Click() If Not rsLogin.EOF Then rsLogin.MoveLast txtUsername.Text = rsLogin!UserName txtPassword.Text = rsLogin!Password cmbPosisi.Text = rsLogin!posisi dataIndex = rsLogin.RecordCount - 1 End If End Sub

Private Sub cmdNew_Click() Dim statuspass As Boolean cmdEdit.Enabled = False cmdDelete.Enabled = False statuspass = False Select Case cmdNew.Caption Case "Baru": cmbPosisi.ListIndex = 0 txtUsername.Text = "" txtPassword.Text = "" txtPassword2.Text = "" cmbPosisi.Locked = False txtUsername.Locked = False txtPassword.Locked = False txtPassword2.Locked = False txtUsername.SetFocus cmdNew.Caption = "Simpan" Case "Simpan": If txtPassword.Text <> txtPassword2.Text Then MsgBox "Penulisan kembali Password Salah", vbInformation txtPassword.SetFocus Else 'cek apa us dan psw udah kedftr rsLogin.MoveFirst Do Until rsLogin.EOF If rsLogin!UserName = txtUsername.Text And rsLogin!Password = txtPassword.Text Then statuspass = True Else statuspass = False End If rsLogin.MoveNext Loop

If statuspass = False Then With rsLogin .AddNew !UserName = txtUsername.Text !Password = txtPassword.Text !posisi = cmbPosisi.Text .Update End With MsgBox "Data Tersimpan", vbInformation kondisiNormal Else MsgBox "Data dengan Username dan Password tersebut sudah ada", vbInformation kondisiNormal End If End If End Select End Sub Private Sub cmdNext_Click() On Error GoTo pesan If Not rsLogin.EOF And dataIndex < rsLogin.RecordCount - 1 Then rsLogin.MoveNext txtUsername.Text = rsLogin!UserName txtPassword.Text = rsLogin!Password cmbPosisi.Text = rsLogin!posisi dataIndex = dataIndex + 1 End If Exit Sub pesan: cmdLast_Click End Sub Private Sub cmdPrev_Click() On Error GoTo pesan If Not rsLogin.EOF And dataIndex > 0 Then rsLogin.MovePrevious txtUsername.Text = rsLogin!UserName

txtPassword.Text = rsLogin!Password cmbPosisi.Text = rsLogin!posisi dataIndex = dataIndex - 1 End If Exit Sub pesan: cmdFirst_Click End Sub Private Sub Form_Load() koneksi kondisiNormal End Sub Sub refreshData() Set rsLogin = New ADODB.Recordset rsLogin.LockType = adLockOptimistic rsLogin.CursorType = adOpenDynamic rsLogin.Open "SELECT * FROM data_login", conn, , , adCmdText End Sub Sub kondisiNormal() cmbPosisi.ListIndex = 0 txtUsername.Text = "" txtPassword.Text = "" txtPassword2.Text = "" cmbPosisi.Locked = True txtUsername.Locked = True txtPassword.Locked = True txtPassword2.Locked = True cmdNew.Enabled = True cmdEdit.Enabled = True cmdDelete.Enabled = True refreshData End Sub

Source Code utk Form AddBrg :


Sub refreshDG() Set rsBarang = New ADODB.Recordset rsBarang.LockType = adLockOptimistic rsBarang.CursorType = adOpenDynamic rsBarang.Open "SELECT * FROM data_barang", conn, , , adCmdText Set DGBarang.DataSource = rsBarang End Sub Sub clearTxt() txtKodeBarang.Text = "" txtNamaBarang.Text = "" txtMerkBarang.Text = "" txtHargaBeli.Text = "" txtHargaJual.Text = "" txtBatasStok.Text = "" txtKodeBarang.SetFocus End Sub Private Sub cmdSave_Click() On Error GoTo pesan Dim tanya tanya = MsgBox("Apakah Data Barang Telah Diisi Lengkap?", vbQuestion + vbYesNo) If tanya = vbYes Then 'cek apakah kode sudah terdaftar Set rsBarang = New ADODB.Recordset rsBarang.LockType = adLockOptimistic rsBarang.CursorType = adOpenDynamic rsBarang.Open "SELECT * FROM data_barang WHERE kodebarang = '" & txtKodeBarang.Text & "'", conn, , , adCmdText If rsBarang.EOF Then Set rsBarang = New ADODB.Recordset rsBarang.LockType = adLockOptimistic

rsBarang.CursorType = adOpenDynamic rsBarang.Open "SELECT * FROM data_barang", conn, , , adCmdText With rsBarang .AddNew !kodebarang = txtKodeBarang.Text !namabarang = txtNamaBarang.Text !merkbarang = txtMerkBarang.Text !hargabeli = Val(txtHargaBeli.Text) !hargajual = Val(txtHargaJual.Text) !limitstok = Val(txtBatasStok.Text) .Update End With MsgBox "Data Barang Tersimpan", vbInformation refreshDG clearTxt Else MsgBox "Barang dengan kode " & txtKodeBarang.Text & " telah terdaftar." & vbCrLf & _ "Mohon Ganti Kode Barang...", vbInformation txtKodeBarang.SetFocus Exit Sub End If Else clearTxt Exit Sub End If Exit Sub pesan: MsgBox "Pengisian Data Belum Lengkap", vbInformation clearTxt Exit Sub

End Sub Private Sub Form_Load() koneksi refreshDG End Sub

Private Sub txtBatasStok_KeyPress(KeyAscii As Integer) If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then KeyAscii = 0 End If End Sub Private Sub txtHargaBeli_KeyPress(KeyAscii As Integer) If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then KeyAscii = 0 End If End Sub Private Sub txtHargaJual_KeyPress(KeyAscii As Integer) If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then KeyAscii = 0 End If End Sub

Source Code utk form EditBrg :


Public tmpKodeBarang As String Sub clearTxt() txtKodeBarang.Text = "" txtNamaBarang.Text = "" txtMerkBarang.Text = "" txtHargaBeli.Text = "" txtHargaJual.Text = "" txtBatasStok.Text = "" txtCari.Text = "" End Sub Sub kondisiNormal() cmbKriteria.ListIndex = 0 tmpKodeBarang = "" clearTxt refreshDG End Sub Sub refreshDG() Set rsBarang = New ADODB.Recordset rsBarang.LockType = adLockOptimistic rsBarang.CursorType = adOpenDynamic rsBarang.Open "SELECT * FROM data_barang", conn, , , adCmdText

Set DGBarang.DataSource = rsBarang End Sub Private Sub cmbKriteria_KeyPress(KeyAscii As Integer) KeyAscii = 0 End Sub Private Sub cmdSave_Click() On Error GoTo pesan Dim tanya tanya = MsgBox("Apakah Data Barang Telah Diisi Lengkap?", vbQuestion + vbYesNo) If tanya = vbYes Then 'cek apakah kode ubahan sudah terdaftar (jika kode diubah) If txtKodeBarang.Text <> tmpKodeBarang Then Set rsBarang = New ADODB.Recordset rsBarang.LockType = adLockOptimistic rsBarang.CursorType = adOpenDynamic rsBarang.Open "SELECT * FROM data_barang WHERE kodebarang = '" & txtKodeBarang.Text & "'", conn, , , adCmdText If rsBarang.EOF Then Set rsBarang = New ADODB.Recordset rsBarang.LockType = adLockOptimistic rsBarang.CursorType = adOpenDynamic rsBarang.Open "SELECT * FROM data_barang WHERE kodebarang = '" & tmpKodeBarang & "'", conn, , , adCmdText With rsBarang !kodebarang = txtKodeBarang.Text !namabarang = txtNamaBarang.Text !merkbarang = txtMerkBarang.Text !hargabeli = Val(txtHargaBeli.Text) !hargajual = Val(txtHargaJual.Text) !limitstok = Val(txtBatasStok.Text) .Update

End With MsgBox "Data Barang Tersimpan", vbInformation kondisiNormal txtCari.SetFocus Else MsgBox "Barang dengan kode " & txtKodeBarang.Text & " telah terdaftar." & vbCrLf & _ "Mohon Ganti Kode Barang...", vbInformation txtKodeBarang.SetFocus Exit Sub End If Else 'jika kode barang tidak diubah Set rsBarang = New ADODB.Recordset rsBarang.LockType = adLockOptimistic rsBarang.CursorType = adOpenDynamic rsBarang.Open "SELECT * FROM data_barang WHERE kodebarang = '" & tmpKodeBarang & "'", conn, , , adCmdText With rsBarang !kodebarang = txtKodeBarang.Text !namabarang = txtNamaBarang.Text !merkbarang = txtMerkBarang.Text !hargabeli = Val(txtHargaBeli.Text) !hargajual = Val(txtHargaJual.Text) !limitstok = Val(txtBatasStok.Text) .Update End With MsgBox "Data Barang Tersimpan", vbInformation kondisiNormal txtCari.SetFocus End If Else kondisiNormal Exit Sub End If Exit Sub pesan: MsgBox "Pengisian Data Belum Lengkap", vbInformation kondisiNormal txtCari.SetFocus Exit Sub

End Sub Private Sub DGbarang_DblClick() On Error GoTo pesan tmpKodeBarang = DGBarang.Columns(0).Text txtKodeBarang.Text = DGBarang.Columns(0).Text txtNamaBarang.Text = DGBarang.Columns(1).Text txtMerkBarang.Text = DGBarang.Columns(2).Text txtHargaBeli.Text = DGBarang.Columns(3).Text txtHargaJual.Text = DGBarang.Columns(4).Text txtBatasStok.Text = DGBarang.Columns(6).Text Exit Sub pesan: kondisiNormal Exit Sub End Sub Private Sub Form_Load() koneksi kondisiNormal End Sub Private Sub txtCari_Change() Dim kriteria As String kriteria = "" Select Case cmbKriteria.Text Case "Kode Barang": kriteria = "kodebarang" Case "Nama Barang": kriteria = "namabarang" End Select Set rsBarang = New ADODB.Recordset rsBarang.LockType = adLockOptimistic rsBarang.CursorType = adOpenDynamic rsBarang.Open "SELECT * FROM data_barang WHERE " & kriteria & " like '" & txtCari.Text & "%'", conn, , , adCmdText Set DGBarang.DataSource = rsBarang End Sub

Private Sub txtBatasStok_KeyPress(KeyAscii As Integer) If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then KeyAscii = 0 End If End Sub Private Sub txtHargaBeli_KeyPress(KeyAscii As Integer) If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then KeyAscii = 0 End If End Sub Private Sub txtHargaJual_KeyPress(KeyAscii As Integer) If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then KeyAscii = 0 End If End Sub

Source Code utk form DelBrg :


Public tmpKodeBarang As String Sub clearTxt() txtKodeBarang.Text = "" txtNamaBarang.Text = "" txtMerkBarang.Text = "" txtHargaBeli.Text = "" txtHargaJual.Text = "" txtBatasStok.Text = "" txtCari.Text = "" End Sub Sub kondisiNormal() cmbKriteria.ListIndex = 0 tmpKodeBarang = "" clearTxt refreshDG End Sub Sub refreshDG() Set rsBarang = New ADODB.Recordset rsBarang.LockType = adLockOptimistic rsBarang.CursorType = adOpenDynamic

rsBarang.Open "SELECT * FROM data_barang", conn, , , adCmdText Set DGBarang.DataSource = rsBarang End Sub Private Sub cmbKriteria_KeyPress(KeyAscii As Integer) KeyAscii = 0 End Sub Private Sub cmdHapus_Click() Dim tanya tanya = MsgBox("Hapus Barang dengan Kode " & tmpKodeBarang & " ?", vbQuestion + vbYesNo) If tanya = vbYes Then Set rsBarang = New ADODB.Recordset rsBarang.LockType = adLockOptimistic rsBarang.CursorType = adOpenDynamic rsBarang.Open "SELECT * FROM data_barang WHERE kodebarang = '" & tmpKodeBarang & "'", conn, , , adCmdText rsBarang.Delete rsBarang.UpdateBatch kondisiNormal txtCari.SetFocus Else kondisiNormal txtCari.SetFocus Exit Sub End If End Sub Private Sub DGbarang_DblClick() On Error GoTo pesan tmpKodeBarang = DGBarang.Columns(0).Text txtKodeBarang.Text = DGBarang.Columns(0).Text txtNamaBarang.Text = DGBarang.Columns(1).Text txtMerkBarang.Text = DGBarang.Columns(2).Text txtHargaBeli.Text = DGBarang.Columns(3).Text

txtHargaJual.Text = DGBarang.Columns(4).Text txtBatasStok.Text = DGBarang.Columns(6).Text Exit Sub pesan: kondisiNormal Exit Sub End Sub Private Sub Form_Load() koneksi kondisiNormal End Sub Private Sub txtCari_Change() Dim kriteria As String kriteria = "" Select Case cmbKriteria.Text Case "Kode Barang": kriteria = "kodebarang" Case "Nama Barang": kriteria = "namabarang" End Select Set rsBarang = New ADODB.Recordset rsBarang.LockType = adLockOptimistic rsBarang.CursorType = adOpenDynamic rsBarang.Open "SELECT * FROM data_barang WHERE " & kriteria & " like '" & txtCari.Text & "%'", conn, , , adCmdText Set DGBarang.DataSource = rsBarang End Sub Private Sub txtBatasStok_KeyPress(KeyAscii As Integer) If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then KeyAscii = 0 End If End Sub Private Sub txtHargaBeli_KeyPress(KeyAscii As Integer) If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then KeyAscii = 0

End If End Sub Private Sub txtHargaJual_KeyPress(KeyAscii As Integer) If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then KeyAscii = 0 End If End Sub

Source Code utk AddSupplier :


Sub refreshDG() Set rsSupplier = New ADODB.Recordset rsSupplier.LockType = adLockOptimistic rsSupplier.CursorType = adOpenDynamic rsSupplier.Open "SELECT * FROM data_supplier", conn, , , adCmdText Set DGSupplier.DataSource = rsSupplier End Sub Sub clearTxt() txtNama.Text = "" txtAlamat.Text = "" txtTelpon.Text = "" txtNama.SetFocus End Sub Private Sub cmdSave_Click() On Error GoTo pesan Dim tanya tanya = MsgBox("Apakah Data Supplier Telah Diisi Lengkap?", vbQuestion + vbYesNo) If tanya = vbYes Then 'cek apakah nama supplier sudah terdaftar Set rsSupplier = New ADODB.Recordset rsSupplier.LockType = adLockOptimistic rsSupplier.CursorType = adOpenDynamic

rsSupplier.Open "SELECT * FROM data_supplier WHERE nama = '" & txtNama.Text & "'", conn, , , adCmdText If rsSupplier.EOF Then Set rsSupplier = New ADODB.Recordset rsSupplier.LockType = adLockOptimistic rsSupplier.CursorType = adOpenDynamic rsSupplier.Open "SELECT * FROM data_supplier", conn, , , adCmdText With rsSupplier .AddNew !nama = txtNama.Text !alamat = txtAlamat.Text !telepon = txtTelpon.Text .Update End With MsgBox "Data supplier Tersimpan", vbInformation refreshDG clearTxt Else MsgBox "Supplier dengan nama " & txtNama.Text & " telah terdaftar." & vbCrLf & _ "Mohon Ganti nama supplier...", vbInformation txtNama.SetFocus Exit Sub End If Else clearTxt Exit Sub End If Exit Sub pesan: MsgBox "Pengisian Data Belum Lengkap", vbInformation clearTxt Exit Sub End Sub Private Sub Form_Load() koneksi refreshDG

End Sub Private Sub txtTelpon_KeyPress(KeyAscii As Integer) If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then KeyAscii = 0 End If End Sub

Source Code utk EditSupplier :


Public tmpNama As String Sub clearTxt() txtNama.Text = "" txtAlamat.Text = "" txtTelpon.Text = "" txtCari.Text = "" End Sub Sub kondisiNormal() tmpNama = "" clearTxt refreshDG End Sub Sub refreshDG() Set rsSupplier = New ADODB.Recordset rsSupplier.LockType = adLockOptimistic rsSupplier.CursorType = adOpenDynamic rsSupplier.Open "SELECT * FROM data_supplier", conn, , , adCmdText Set DGSupplier.DataSource = rsSupplier End Sub Private Sub cmbKriteria_KeyPress(KeyAscii As Integer) KeyAscii = 0 End Sub Private Sub cmdSave_Click() 'On Error GoTo pesan Dim tanya

tanya = MsgBox("Apakah Data Supplier Telah Diisi Lengkap?", vbQuestion + vbYesNo) If tanya = vbYes Then 'cek apakah nama ubahan sudah terdaftar (jika nama diubah) If txtNama.Text <> tmpNama Then Set rsSupplier = New ADODB.Recordset rsSupplier.LockType = adLockOptimistic rsSupplier.CursorType = adOpenDynamic rsSupplier.Open "SELECT * FROM data_supplier WHERE nama = '" & txtNama.Text & "'", conn, , , adCmdText If rsSupplier.EOF Then Set rsSupplier = New ADODB.Recordset rsSupplier.LockType = adLockOptimistic rsSupplier.CursorType = adOpenDynamic rsSupplier.Open "SELECT * FROM data_supplier WHERE nama = '" & tmpNama & "'", conn, , , adCmdText With rsSupplier !nama = txtNama.Text !alamat = txtAlamat.Text !telepon = txtTelpon.Text .Update End With MsgBox "Data Supplier Tersimpan", vbInformation kondisiNormal txtCari.SetFocus Else MsgBox "Supplier dengan nama " & txtNama.Text & " telah terdaftar." & vbCrLf & _ "Mohon Ganti Nama Supplier...", vbInformation txtNama.SetFocus Exit Sub End If Else 'jika kode supplier tidak diubah Set rsSupplier = New ADODB.Recordset rsSupplier.LockType = adLockOptimistic rsSupplier.CursorType = adOpenDynamic rsSupplier.Open "SELECT * FROM data_supplier WHERE nama = '" & tmpNama & "'", conn, , , adCmdText With rsSupplier !nama = txtNama.Text

!alamat = txtAlamat.Text !telepon = txtTelpon.Text .Update End With MsgBox "Data Supplier Tersimpan", vbInformation kondisiNormal txtCari.SetFocus End If Else kondisiNormal Exit Sub End If Exit Sub pesan: MsgBox "Pengisian Data Belum Lengkap", vbInformation kondisiNormal txtCari.SetFocus Exit Sub End Sub Private Sub DGsupplier_DblClick() On Error GoTo pesan tmpNama = DGSupplier.Columns(0).Text txtNama.Text = DGSupplier.Columns(0).Text txtAlamat.Text = DGSupplier.Columns(1).Text txtTelpon.Text = DGSupplier.Columns(2).Text Exit Sub pesan: kondisiNormal Exit Sub End Sub Private Sub Form_Load() koneksi kondisiNormal End Sub Private Sub txtCari_Change() Set rsSupplier = New ADODB.Recordset

rsSupplier.LockType = adLockOptimistic rsSupplier.CursorType = adOpenDynamic rsSupplier.Open "SELECT * FROM data_supplier WHERE nama like '" & txtCari.Text & "%'", conn, , , adCmdText Set DGSupplier.DataSource = rsSupplier End Sub

Private Sub txtTelpon_KeyPress(KeyAscii As Integer) If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then KeyAscii = 0 End If End Sub

Source Code utk DelSupplier :


Public tmpNama As String Sub clearTxt() txtNama.Text = "" txtAlamat.Text = "" txtTelpon.Text = "" txtCari.Text = "" End Sub Sub kondisiNormal() tmpNama = "" clearTxt refreshDG End Sub Sub refreshDG() Set rsSupplier = New ADODB.Recordset rsSupplier.LockType = adLockOptimistic rsSupplier.CursorType = adOpenDynamic rsSupplier.Open "SELECT * FROM data_supplier", conn, , , adCmdText Set DGSupplier.DataSource = rsSupplier End Sub

Private Sub cmdHapus_Click() Dim tanya tanya = MsgBox("Hapus Supplier dengan nama " & tmpNama & " ?", vbQuestion + vbYesNo) If tanya = vbYes And txtNama.Text <> "" Then Set rsSupplier = New ADODB.Recordset rsSupplier.LockType = adLockOptimistic rsSupplier.CursorType = adOpenDynamic rsSupplier.Open "SELECT * FROM data_supplier WHERE nama = '" & tmpNama & "'", conn, , , adCmdText rsSupplier.Delete rsSupplier.UpdateBatch kondisiNormal txtCari.SetFocus Else kondisiNormal txtCari.SetFocus Exit Sub End If End Sub Private Sub cmdSave_Click() End Sub Private Sub DGsupplier_DblClick() On Error GoTo pesan tmpNama = DGSupplier.Columns(0).Text txtNama.Text = DGSupplier.Columns(0).Text txtAlamat.Text = DGSupplier.Columns(1).Text txtTelpon.Text = DGSupplier.Columns(2).Text Exit Sub pesan: kondisiNormal Exit Sub End Sub Private Sub Form_Load()

koneksi kondisiNormal End Sub Private Sub txtCari_Change() Set rsSupplier = New ADODB.Recordset rsSupplier.LockType = adLockOptimistic rsSupplier.CursorType = adOpenDynamic rsSupplier.Open "SELECT * FROM data_supplier WHERE nama like '" & txtCari.Text & "%'", conn, , , adCmdText Set DGSupplier.DataSource = rsSupplier End Sub Private Sub txtTelpon_KeyPress(KeyAscii As Integer) If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then KeyAscii = 0 End If End Sub

Source code utk form Beli :


Sub kondisiNormal() refreshDG tglBeli.Value = Date txtFaktur.Text = "" txtKodeBarang.Text = "" txtMerkBarang.Text = "" txtNamaBarang.Text = "" txtHargaBeli.Text = "" loadBarang loadSupplier txtJmlBeli.Text = "" txtTotal.Text = "" txtBayar.Text = "" txtKembali.Text = ""

txtHutang.Text = "" txtFaktur.SetFocus End Sub

Sub loadBarang() Set rsBarang = New ADODB.Recordset rsBarang.LockType = adLockOptimistic rsBarang.CursorType = adOpenDynamic rsBarang.Open "SELECT * FROM data_barang WHERE stok <= limitstok ", conn, , , adCmdText If Not rsBarang.EOF Then Set DGBarang.DataSource = rsBarang Else 'cek apakah data barang kosong Set rsBarang = New ADODB.Recordset rsBarang.LockType = adLockOptimistic rsBarang.CursorType = adOpenDynamic rsBarang.Open "SELECT * FROM data_barang", conn, , , adCmdText If rsBarang.EOF Then frmAddBrg.Show Unload Me Else MsgBox "Belum Ada Barang yang Perlu Dibeli", vbInformation End If End If End Sub Sub loadSupplier() Set rsSupplier = New ADODB.Recordset rsSupplier.LockType = adLockOptimistic rsSupplier.CursorType = adOpenDynamic rsSupplier.Open "SELECT * FROM data_supplier", conn, , , adCmdText If Not rsSupplier.EOF Then cmbSupplier.Clear rsSupplier.MoveFirst Do Until rsSupplier.EOF cmbSupplier.AddItem rsSupplier!nama

rsSupplier.MoveNext Loop cmbSupplier.ListIndex = 0 Else frmAddSupplier.Show Unload Me End If End Sub Private Sub cmbSupplier_KeyPress(KeyAscii As Integer) KeyAscii = 0 End Sub Sub refreshDG() Set rsPembelian = New ADODB.Recordset rsPembelian.LockType = adLockOptimistic rsPembelian.CursorType = adOpenDynamic rsPembelian.Open "SELECT * FROM data_pembelian", conn, , , adCmdText Set DGPembelian.DataSource = rsPembelian End Sub Private Sub cmdBatal_Click() kondisiNormal End Sub

Private Sub cmdBayar_Click() 'if utang = "" maka blablabla, if utang <>"" maka bilabilablia On Error GoTo pesan Dim tanya tanya = MsgBox("Bayar Pembelian Sebesar " & txtTotal.Text & " dengan uang " & txtBayar & " ?", vbQuestion + vbYesNo) If tanya = vbYes Then

If txtHutang.Text = "" Then 'UPDATE STOK BARANG Set rsBarang = New ADODB.Recordset rsBarang.LockType = adLockOptimistic rsBarang.CursorType = adOpenDynamic rsBarang.Open "SELECT * FROM data_barang WHERE kodebarang = '" & txtKodeBarang.Text & "'", conn, , , adCmdText With rsBarang !stok = Val(rsBarang!stok) + Val(txtJmlBeli.Text) .Update End With 'SIMPAN DATA PEMBELIAN Set rsPembelian = New ADODB.Recordset rsPembelian.LockType = adLockOptimistic rsPembelian.CursorType = adOpenDynamic rsPembelian.Open "SELECT * FROM data_pembelian", conn, , , adCmdText With rsPembelian .AddNew !kodefaktur = txtFaktur.Text !tanggalbeli = tglBeli.Value !namasupplier = cmbSupplier.Text !kodebarang = txtKodeBarang.Text !merkbarang = txtMerkBarang.Text !namabarang = txtNamaBarang.Text !jumlahbeli = txtJmlBeli.Text !total = txtTotal.Text .Update End With kondisiNormal MsgBox "Data Pembelian Tersimpan", vbInformation Else 'UPDATE HUTANG SUPPLIER Set rsSupplier = New ADODB.Recordset rsSupplier.LockType = adLockOptimistic rsSupplier.CursorType = adOpenDynamic

rsSupplier.Open "SELECT * FROM data_supplier WHERE nama = '" & cmbSupplier.Text & "'", conn, , , adCmdText rsSupplier!Hutang = rsSupplier!Hutang + Val(txtHutang.Text) rsSupplier.Update

'UPDATE STOK BARANG Set rsBarang = New ADODB.Recordset rsBarang.LockType = adLockOptimistic rsBarang.CursorType = adOpenDynamic rsBarang.Open "SELECT * FROM data_barang WHERE kodebarang = '" & txtKodeBarang.Text & "'", conn, , , adCmdText With rsBarang !stok = Val(rsBarang!stok) + Val(txtJmlBeli.Text) .Update End With 'SIMPAN DATA PEMBELIAN Set rsPembelian = New ADODB.Recordset rsPembelian.LockType = adLockOptimistic rsPembelian.CursorType = adOpenDynamic rsPembelian.Open "SELECT * FROM data_pembelian", conn, , , adCmdText With rsPembelian .AddNew !kodefaktur = txtFaktur.Text !tanggalbeli = tglBeli.Value !namasupplier = cmbSupplier.Text !kodebarang = txtKodeBarang.Text !merkbarang = txtMerkBarang.Text !namabarang = txtNamaBarang.Text !jumlahbeli = txtJmlBeli.Text !total = txtTotal.Text .Update End With kondisiNormal MsgBox "Data Pembelian Tersimpan", vbInformation End If

Else Exit Sub End If Exit Sub pesan: MsgBox "Pengisian Data Belum Lengkap", vbInformation kondisiNormal End Sub Private Sub DGbarang_DblClick() txtKodeBarang.Text = DGBarang.Columns(0).Text txtNamaBarang.Text = DGBarang.Columns(1).Text txtMerkBarang.Text = DGBarang.Columns(2).Text txtHargaBeli.Text = DGBarang.Columns(3).Text End Sub Private Sub Form_Load() koneksi 'kondisiNormal refreshDG loadBarang loadSupplier End Sub

Private Sub txtBayar_Change() If Val(txtBayar.Text) >= Val(txtTotal.Text) Then txtKembali.Text = Val(txtBayar.Text) - Val(txtTotal.Text) txtHutang.Text = "" Else txtHutang.Text = Val(txtTotal.Text) - Val(txtBayar.Text) txtKembali.Text = "" End If End Sub Private Sub txtBayar_KeyPress(KeyAscii As Integer) If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then KeyAscii = 0 End If

End Sub Private Sub txtJmlBeli_Change() txtTotal.Text = Val(txtHargaBeli.Text) * Val(txtJmlBeli.Text) End Sub Private Sub txtJmlBeli_KeyPress(KeyAscii As Integer) If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then KeyAscii = 0 End If End Sub

Source Code utk Form Jual :


Public tmpKode As String Sub loadBarang() Set rsBarang = New ADODB.Recordset rsBarang.LockType = adLockOptimistic rsBarang.CursorType = adOpenDynamic rsBarang.Open "SELECT * FROM data_barang WHERE stok > 0", conn, , , adCmdText Set DGBarang.DataSource = rsBarang End Sub Sub kondisiNormal() loadBarang tglJual.Value = Date tmpKode = "" txtKodeFaktur.Text = "" txtKodeBarang.Text = "" txtNamaBarang.Text = "" txtMerkBarang.Text = "" txthargasatuan.Text = "" txtJmlBeli.Text = "" txtDiskon.Text = "" txtTotal.Text = "" txtBayar.Text = "" txtKembali.Text = ""

End Sub Sub refreshDGSementara() Dim subtotal As Double subtotal = 0 Set rsPenjualan = New ADODB.Recordset rsPenjualan.LockType = adLockOptimistic rsPenjualan.CursorType = adOpenDynamic rsPenjualan.Open "SELECT * FROM data_penjualan_sementara", conn, , , adCmdText If Not rsPenjualan.EOF Then rsPenjualan.MoveFirst Do Until rsPenjualan.EOF subtotal = subtotal + Val(rsPenjualan!total) rsPenjualan.MoveNext Loop txtTotal.Text = subtotal Set DGPenjSementara.DataSource = rsPenjualan Else txtTotal.Text = "0" Set DGPenjSementara.DataSource = rsPenjualan End If End Sub Private Sub cmdAdd_Click() Set rsPenjualan = New ADODB.Recordset rsPenjualan.LockType = adLockOptimistic rsPenjualan.CursorType = adOpenDynamic rsPenjualan.Open "SELECT * FROM data_penjualan_sementara where kodebarang = '" & txtKodeBarang.Text & "'", conn, , , adCmdText If rsPenjualan.EOF Then '============================================ Set rsPenjualan = New ADODB.Recordset rsPenjualan.LockType = adLockOptimistic

rsPenjualan.CursorType = adOpenDynamic rsPenjualan.Open "SELECT * FROM data_penjualan_sementara", conn, , , adCmdText With rsPenjualan .AddNew !kodebarang = txtKodeBarang.Text !namabarang = txtNamaBarang.Text !merkbarang = txtMerkBarang.Text !jumlahjual = txtJmlBeli.Text !disc = Val(txtDiskon.Text) !total = (Val(txtJmlBeli.Text) * Val(txthargasatuan.Text)) - ((Val(txtDiskon.Text) / 100) * Val(txtJmlBeli.Text) * Val(txthargasatuan.Text)) .Update End With '================================================== Else '================================================== With rsPenjualan !jumlahjual = !jumlahjual + Val(txtJmlBeli.Text) !total = !total + (Val(txtJmlBeli.Text) * Val(txthargasatuan.Text)) - ((Val(txtDiskon.Text) / 100) * Val(txtJmlBeli.Text) * Val(txthargasatuan.Text)) .Update End With '================================================== End If txtKodeBarang.Text = "" txtNamaBarang.Text = "" txtMerkBarang.Text = "" txthargasatuan.Text = "" txtJmlBeli.Text = "" txtDiskon.Text = "" refreshDGSementara End Sub Sub hapusDGSementara() Set rsPenjualan = New ADODB.Recordset rsPenjualan.LockType = adLockOptimistic rsPenjualan.CursorType = adOpenDynamic rsPenjualan.Open "SELECT * FROM data_penjualan_sementara", conn, , , adCmdText

If Not rsPenjualan.EOF Then rsPenjualan.MoveFirst Do Until rsPenjualan.EOF rsPenjualan.Delete rsPenjualan.UpdateBatch rsPenjualan.MoveNext Loop refreshDGSementara End If End Sub Private Sub cmdBatal_Click() Dim tanya tanya = MsgBox("Batalkan Transaksi Penjualan Barang?", vbQuestion + vbYesNo) If tanya = vbYes Then hapusDGSementara kondisiNormal Else Exit Sub End If End Sub Private Sub cmdBayar_Click() If Val(txtBayar.Text) < Val(txtTotal.Text) Then MsgBox "Uang Anda Kurang Rp." & Val(txtTotal.Text) - Val(txtBayar.Text) & " ", vbCritical Exit Sub Else Set rsPenjualan = New ADODB.Recordset rsPenjualan.LockType = adLockOptimistic rsPenjualan.CursorType = adOpenDynamic rsPenjualan.Open "SELECT * FROM data_penjualan_sementara", conn, , , adCmdText If Not rsPenjualan.EOF Then rsPenjualan.MoveFirst

Do Until rsPenjualan.EOF Set rsPenjualan2 = New ADODB.Recordset rsPenjualan2.LockType = adLockOptimistic rsPenjualan2.CursorType = adOpenDynamic rsPenjualan2.Open "SELECT * FROM data_penjualan", conn, , , adCmdText With rsPenjualan2 .AddNew !kodefaktur = txtKodeFaktur.Text !tanggaljual = tglJual.Value !kodebarang = rsPenjualan!kodebarang !namabarang = rsPenjualan!namabarang !merkbarang = rsPenjualan!merkbarang !jumlahjual = rsPenjualan!jumlahjual !disc = rsPenjualan!disc !total = rsPenjualan!total .Update End With Set rsBarang = New ADODB.Recordset rsBarang.LockType = adLockOptimistic rsBarang.CursorType = adOpenDynamic rsBarang.Open "SELECT * FROM data_barang where kodebarang = '" & rsPenjualan!kodebarang & "'", conn, , , adCmdText With rsBarang !stok = !stok - Val(rsPenjualan!jumlahjual) .Update End With rsPenjualan.MoveNext Loop MsgBox "Data Penjualan Tersimpan", vbInformation kondisiNormal hapusDGSementara End If End If End Sub Private Sub Command1_Click()

End Sub Private Sub cmdDelete_Click() Set rsPenjualan = New ADODB.Recordset rsPenjualan.LockType = adLockOptimistic rsPenjualan.CursorType = adOpenDynamic rsPenjualan.Open "SELECT * FROM data_penjualan_sementara where kodebarang = '" & tmpKode & "'", conn, , , adCmdText If rsPenjualan.EOF Then MsgBox "Barang tersebut tidak ada", vbInformation Exit Sub Else rsPenjualan.Delete rsPenjualan.UpdateBatch refreshDGSementara End If End Sub Private Sub DGbarang_DblClick() txtKodeBarang.Text = DGBarang.Columns(0).Text txtNamaBarang.Text = DGBarang.Columns(1).Text txtMerkBarang.Text = DGBarang.Columns(2).Text txthargasatuan.Text = DGBarang.Columns(4).Text txtJmlBeli.SetFocus End Sub Private Sub DGPenjSementara_Click() tmpKode = DGPenjSementara.Columns(0).Text End Sub Private Sub Form_Load() koneksi loadBarang End Sub Private Sub txtBayar_Change() If Val(txtBayar.Text) > Val(txtTotal.Text) Then txtKembali.Text = Val(txtBayar.Text) - Val(txtTotal.Text)

Else txtKembali.Text = "" End If End Sub Private Sub txtBayar_KeyPress(KeyAscii As Integer) If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then KeyAscii = 0 End If End Sub Private Sub txtDiskon_KeyPress(KeyAscii As Integer) If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then KeyAscii = 0 End If End Sub Private Sub txtJmlBeli_KeyPress(KeyAscii As Integer) If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then KeyAscii = 0 End If End Sub

Source Code utk form ReturBeli :


Sub loadBarang() Set rsBarang = New ADODB.Recordset rsBarang.LockType = adLockOptimistic rsBarang.CursorType = adOpenDynamic rsBarang.Open "SELECT * FROM data_barang", conn, , , adCmdText If Not rsBarang.EOF Then Set DGBarang.DataSource = rsBarang End If End Sub Sub loadSupplier() Set rsSupplier = New ADODB.Recordset

rsSupplier.LockType = adLockOptimistic rsSupplier.CursorType = adOpenDynamic rsSupplier.Open "SELECT * FROM data_supplier", conn, , , adCmdText If Not rsSupplier.EOF Then cmbSupplier.Clear rsSupplier.MoveFirst Do Until rsSupplier.EOF cmbSupplier.AddItem rsSupplier!nama rsSupplier.MoveNext Loop cmbSupplier.ListIndex = 0 Else frmSupplier_New.Show Unload Me End If End Sub Sub kondisiNormal() tglRetur.Value = Date txtKodeRetur.Text = "" txtJmlRetur.Text = "" txtKodeBarang.Text = "" 'DGPembelian.Columns(3).Text txtNamaBarang.Text = "" 'DGPembelian.Columns(5).Text txtMerkBarang.Text = "" 'DGPembelian.Columns(4).Text txtStok.Text = "" 'DGPembelian.Columns(6).Text loadSupplier loadBarang End Sub Private Sub cmbSupplier_KeyPress(KeyAscii As Integer) KeyAscii = 0 End Sub Private Sub cmdRetur_Click() On Error GoTo pesan

Dim tanya tanya = MsgBox("Retur Barang dengan Kode " & txtKodeBarang.Text & " sebanyak " & txtJmlRetur.Text & " ?", vbQuestion + vbYesNo) If tanya = vbYes Then 'simpan ke tabel retur beli Set rsReturBeli = New ADODB.Recordset rsReturBeli.LockType = adLockOptimistic rsReturBeli.CursorType = adOpenDynamic rsReturBeli.Open "SELECT * FROM data_returbeli", conn, , , adCmdText With rsReturBeli .AddNew !koderetur = txtKodeRetur.Text !tanggalretur = tglRetur.Value !kodebarang = txtKodeBarang.Text !namabarang = txtNamaBarang.Text !merkbarang = txtMerkBarang.Text !jumlahretur = Val(txtJmlRetur.Text) !returkepada = cmbSupplier.Text .Update End With 'update jumlah stok barang Set rsBarang = New ADODB.Recordset rsBarang.LockType = adLockOptimistic rsBarang.CursorType = adOpenDynamic rsBarang.Open "SELECT * FROM data_barang where kodebarang = '" & txtKodeBarang.Text & "'", conn, , , adCmdText With rsBarang !stok = !stok - Val(txtJmlRetur.Text) .Update End With kondisiNormal MsgBox "Data Retur Tersimpan", vbInformation Else Exit Sub

End If 'utang?? Exit Sub pesan: MsgBox "Pengisian Data Belum Lengkap", vbInformation kondisiNormal Exit Sub End Sub Private Sub DGbarang_DblClick() txtKodeBarang.Text = DGBarang.Columns(0).Text txtNamaBarang.Text = DGBarang.Columns(1).Text txtMerkBarang.Text = DGBarang.Columns(2).Text txtStok.Text = DGBarang.Columns(5).Text End Sub Sub refreshDG() Set rsBarang = New ADODB.Recordset rsBarang.LockType = adLockOptimistic rsBarang.CursorType = adOpenDynamic rsBarang.Open "SELECT * FROM data_barang", conn, , , adCmdText Set DGBarang.DataSource = rsBarang

End Sub Private Sub DTCari_Change() Set rsPembelian = New ADODB.Recordset rsPembelian.LockType = adLockOptimistic rsPembelian.CursorType = adOpenDynamic rsPembelian.Open "SELECT * FROM data_pembelian WHERE day(tanggalbeli) <= " & DTCari.Day & " and month(tanggalbeli) = " & DTCari.Month & " and year(tanggalbeli) = " & DTCari.Year & "", conn, , , adCmdText Set DGPembelian.DataSource = rsPembelian End Sub Private Sub Form_Load()

koneksi loadBarang loadSupplier End Sub Private Sub txtJmlRetur_Change() If Val(txtJmlRetur.Text) > Val(txtStok.Text) Then MsgBox "Jumlah Barang yang Diretur Kebanyakan", vbInformation txtJmlRetur.Text = "" End If End Sub Private Sub txtJmlRetur_KeyPress(KeyAscii As Integer) If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then KeyAscii = 0 End If End Sub

Source Code utk form ByrHutang :


Sub refreshDG() Set rsSupplier = New ADODB.Recordset rsSupplier.LockType = adLockOptimistic rsSupplier.CursorType = adOpenDynamic rsSupplier.Open "SELECT * FROM data_supplier", conn, , , adCmdText Set DGSupplier.DataSource = rsSupplier End Sub Sub kondisiNormal() txtBayarUtang.Text = "" txtNama.Text = "" txtSisa.Text = "" tglBayar.Value = Date refreshDG End Sub Private Sub cmdBayar_Click() Dim tanya tanya = MsgBox("Bayar Hutang?", vbQuestion + vbYesNo)

If tanya = vbYes Then Set rsSupplier = New ADODB.Recordset rsSupplier.LockType = adLockOptimistic rsSupplier.CursorType = adOpenDynamic rsSupplier.Open "SELECT * FROM data_supplier WHERE nama = '" & txtNama.Text & "'", conn, , , adCmdText With rsSupplier If Val(txtSisa.Text) > Val(txtBayarUtang.Text) Then !Hutang = Val(txtSisa.Text) - Val(txtBayarUtang.Text) .Update Else !Hutang = 0 .Update MsgBox "Kembalian Pembayaran : " & Val(txtBayarUtang.Text) - Val(txtSisa.Text) & ".", vbInformation End If End With Set rsHutang = New ADODB.Recordset rsHutang.LockType = adLockOptimistic rsHutang.CursorType = adOpenDynamic rsHutang.Open "SELECT * FROM data_hutang", conn, , , adCmdText With rsHutang .AddNew !tgl_bayar = tglBayar.Value !nama_supplier = txtNama.Text !jumlah_bayar = txtBayarUtang.Text .Update End With MsgBox "Data Pembayaran Hutang Tersimpan", vbInformation kondisiNormal Else kondisiNormal End If End Sub Private Sub DGsupplier_DblClick()

txtNama.Text = DGSupplier.Columns(0).Text txtSisa.Text = DGSupplier.Columns(3).Text End Sub Private Sub Form_Load() koneksi kondisiNormal End Sub Private Sub txtBayarUtang_KeyPress(KeyAscii As Integer) If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then KeyAscii = 0 End If End Sub

Source Code utk form LapBeli :


Public namaberkas As String Public tmpTotal As Long Public pesan As String Public tmpnamaberkas As String Private Sub cmdCari_Click() Set rsPembelian = New ADODB.Recordset rsPembelian.LockType = adLockOptimistic rsPembelian.CursorType = adOpenDynamic rsPembelian.Open "SELECT * FROM data_pembelian WHERE tanggalbeli >= #" & tglAwal.Value & "# AND tanggalbeli <= #" & tglAkhir.Value & "#", conn, , , adCmdText If Not rsPembelian.EOF Then Set DGPembelian.DataSource = rsPembelian Else MsgBox "Data yang dicari tidak ada" End If End Sub Private Sub Command1_Click()

End Sub Private Sub cmdHapus_Click() On Error GoTo pesan Dim tanya tanya = MsgBox("Hapus File " & File1.FileName & " ?", vbQuestion + vbYesNo) If tanya = vbYes Then Kill File1.Path & "\" & File1.FileName File1.Path = App.Path & "\LAPORAN\" File1.Refresh RTFBeli.Text = "" Else Exit Sub End If Exit Sub pesan: MsgBox "File belum dipilih", vbInformation End Sub Private Sub cmdSave_Click() namaberkas = ""

namaberkas = "LAP_PEMBELIAN (" & tglAwal.Day & " " & tglAwal.Month & " " & tglAwal.Year & ") HINGGA (" & tglAkhir.Day & " " & tglAkhir.Month & " " & tglAkhir.Year & ")" If namaberkas = tmpnamaberkas Then MsgBox "Laporan Pembelian Tersebut Sudah Ada", vbInformation Exit Sub Else Set rsPembelian = New ADODB.Recordset rsPembelian.LockType = adLockOptimistic rsPembelian.CursorType = adOpenDynamic rsPembelian.Open "SELECT * FROM data_pembelian WHERE tanggalbeli >= #" & tglAwal.Value & "# AND tanggalbeli <= #" & tglAkhir.Value & "#", conn, , , adCmdText If Not rsPembelian.EOF Then

Call saveLaporan("Laporan Pembelian dari " & tglAwal.Value & ") s/d (" & tglAkhir.Value & ")" & vbCrLf, namaberkas) Call saveLaporan(vbCrLf, namaberkas) rsPembelian.MoveFirst tmpTotal = 0 Do Until rsPembelian.EOF Call saveLaporan(rsPembelian!tanggalbeli & vbTab & rsPembelian!kodefaktur & vbTab & rsPembelian! namasupplier & vbTab & rsPembelian!namabarang & vbTab & rsPembelian!merkbarang & vbTab & rsPembelian! jumlahbeli & vbTab & rsPembelian!total, namaberkas) tmpTotal = tmpTotal + Val(rsPembelian!total) rsPembelian.MoveNext Loop Call saveLaporan(vbCrLf & vbCrLf & "TOTAL PEMBELIAN : Rp." & tmpTotal, namaberkas) tmpnamaberkas = namaberkas File1.Refresh Else MsgBox "Data yang dicari tidak ada" End If End If End Sub Private Sub File1_Click() RTFBeli.FileName = File1.Path & "\" & File1.FileName End Sub Private Sub Form_Load() koneksi File1.Path = App.Path & "\LAPORAN\" End Sub

Source Code utk form LapJual :


Public namaberkas As String Public tmpTotal As Long Public pesan As String Public tmpnamaberkas As String Private Sub cmdCari_Click()

Set rsPenjualan = New ADODB.Recordset rsPenjualan.LockType = adLockOptimistic rsPenjualan.CursorType = adOpenDynamic rsPenjualan.Open "SELECT * FROM data_penjualan WHERE tanggaljual >= #" & tglAwal.Value & "# AND tanggaljual <= #" & tglAkhir.Value & "#", conn, , , adCmdText If Not rsPenjualan.EOF Then Set DGPenjualan.DataSource = rsPenjualan Else MsgBox "Data yang dicari tidak ada" End If End Sub

Private Sub cmdHapus_Click() On Error GoTo pesan Dim tanya tanya = MsgBox("Hapus File " & File1.FileName & " ?", vbQuestion + vbYesNo) If tanya = vbYes Then Kill File1.Path & "\" & File1.FileName File1.Path = App.Path & "\LAPORAN\" File1.Refresh RTFJual.Text = "" Else Exit Sub End If Exit Sub pesan: MsgBox "File belum dipilih", vbInformation End Sub Private Sub cmdSave_Click() namaberkas = ""

namaberkas = "LAP_PENJUALAN (" & tglAwal.Day & " " & tglAwal.Month & " " & tglAwal.Year & ") HINGGA (" & tglAkhir.Day & " " & tglAkhir.Month & " " & tglAkhir.Year & ")" If namaberkas = tmpnamaberkas Then MsgBox "Laporan Penjualan Tersebut Sudah Ada", vbInformation Exit Sub Else Set rsPenjualan = New ADODB.Recordset rsPenjualan.LockType = adLockOptimistic rsPenjualan.CursorType = adOpenDynamic rsPenjualan.Open "SELECT * FROM data_penjualan WHERE tanggaljual >= #" & tglAwal.Value & "# AND tanggaljual <= #" & tglAkhir.Value & "#", conn, , , adCmdText If Not rsPenjualan.EOF Then Call saveLaporan("Laporan Penjualan dari " & tglAwal.Value & ") s/d (" & tglAkhir.Value & ")" & vbCrLf, namaberkas) Call saveLaporan(vbCrLf, namaberkas) rsPenjualan.MoveFirst tmpTotal = 0 Do Until rsPenjualan.EOF Call saveLaporan(rsPenjualan!tanggaljual & vbTab & rsPenjualan!kodefaktur & vbTab & rsPenjualan! namabarang & vbTab & rsPenjualan!merkbarang & vbTab & rsPenjualan!jumlahjual & vbTab & rsPenjualan!total, namaberkas) tmpTotal = tmpTotal + Val(rsPenjualan!total) rsPenjualan.MoveNext Loop Call saveLaporan(vbCrLf & vbCrLf & "TOTAL PENJUALAN : Rp." & tmpTotal, namaberkas) tmpnamaberkas = namaberkas File1.Refresh Else MsgBox "Data yang dicari tidak ada" End If End If End Sub Private Sub File1_Click() RTFJual.FileName = File1.Path & "\" & File1.FileName End Sub

Private Sub Form_Load() koneksi File1.Path = App.Path & "\LAPORAN\" End Sub

Source Code utk form LapReturBeli :


Public namaberkas As String Public tmpTotal As Long Public pesan As String Public tmpnamaberkas As String Private Sub cmdCari_Click() Set rsReturBeli = New ADODB.Recordset rsReturBeli.LockType = adLockOptimistic rsReturBeli.CursorType = adOpenDynamic rsReturBeli.Open "SELECT * FROM data_returbeli WHERE tanggalretur >= #" & tglAwal.Value & "# AND tanggalretur <= #" & tglAkhir.Value & "#", conn, , , adCmdText If Not rsReturBeli.EOF Then Set DGReturBeli.DataSource = rsReturBeli Else MsgBox "Data yang dicari tidak ada" End If End Sub Private Sub Command1_Click() End Sub Private Sub cmdHapus_Click() On Error GoTo pesan Dim tanya tanya = MsgBox("Hapus File " & File1.FileName & " ?", vbQuestion + vbYesNo) If tanya = vbYes Then

Kill File1.Path & "\" & File1.FileName File1.Path = App.Path & "\LAPORAN\" File1.Refresh RTFRetur.Text = "" Else Exit Sub End If Exit Sub pesan: MsgBox "File belum dipilih", vbInformation End Sub Private Sub cmdSave_Click() namaberkas = ""

namaberkas = "LAP_RETUR (" & tglAwal.Day & " " & tglAwal.Month & " " & tglAwal.Year & ") HINGGA (" & tglAkhir.Day & " " & tglAkhir.Month & " " & tglAkhir.Year & ")" If namaberkas = tmpnamaberkas Then MsgBox "Laporan Retur Tersebut Sudah Ada", vbInformation Exit Sub Else Set rsReturBeli = New ADODB.Recordset rsReturBeli.LockType = adLockOptimistic rsReturBeli.CursorType = adOpenDynamic rsReturBeli.Open "SELECT * FROM data_returbeli WHERE tanggalretur >= #" & tglAwal.Value & "# AND tanggalretur <= #" & tglAkhir.Value & "#", conn, , , adCmdText If Not rsReturBeli.EOF Then Call saveLaporan("Laporan Retur Barang dari " & tglAwal.Value & ") s/d (" & tglAkhir.Value & ")" & vbCrLf, namaberkas) Call saveLaporan(vbCrLf, namaberkas) rsReturBeli.MoveFirst 'tmpTotal = 0 Do Until rsReturBeli.EOF Call saveLaporan(rsReturBeli!tanggalretur & vbTab & rsReturBeli!koderetur & vbTab & rsReturBeli! returkepada & vbTab & rsReturBeli!namabarang & vbTab & rsReturBeli!merkbarang & vbTab & rsReturBeli! jumlahretur, namaberkas) ' tmpTotal = tmpTotal + Val(rsreturbeli!total) rsReturBeli.MoveNext

Loop tmpnamaberkas = namaberkas File1.Refresh Else MsgBox "Data yang dicari tidak ada" End If End If End Sub Private Sub File1_Click() RTFRetur.FileName = File1.Path & "\" & File1.FileName End Sub Private Sub Form_Load() koneksi File1.Path = App.Path & "\LAPORAN\" End Sub

Source Code utk form LapByrUtang :


Public namaberkas As String Public tmpTotal As Long Public pesan As String Public tmpnamaberkas As String Private Sub cmdCari_Click() Set rsHutang = New ADODB.Recordset rsHutang.LockType = adLockOptimistic rsHutang.CursorType = adOpenDynamic rsHutang.Open "SELECT * FROM data_hutang WHERE tgl_bayar >= #" & tglAwal.Value & "# AND tgl_bayar <= #" & tglAkhir.Value & "#", conn, , , adCmdText If Not rsHutang.EOF Then Set DGHutang.DataSource = rsHutang Else MsgBox "Data yang dicari tidak ada" End If

End Sub

Private Sub cmdHapus_Click() On Error GoTo pesan Dim tanya tanya = MsgBox("Hapus File " & File1.FileName & " ?", vbQuestion + vbYesNo) If tanya = vbYes Then Kill File1.Path & "\" & File1.FileName File1.Path = App.Path & "\LAPORAN\" File1.Refresh RTFHutang.Text = "" Else Exit Sub End If Exit Sub pesan: MsgBox "File belum dipilih", vbInformation End Sub Private Sub cmdSave_Click() namaberkas = ""

namaberkas = "LAP_PEMBAYARAN HUTANG (" & tglAwal.Day & " " & tglAwal.Month & " " & tglAwal.Year & ") HINGGA (" & tglAkhir.Day & " " & tglAkhir.Month & " " & tglAkhir.Year & ")" If namaberkas = tmpnamaberkas Then MsgBox "Laporan Pembayaran Hutang Tersebut Sudah Ada", vbInformation Exit Sub Else Set rsHutang = New ADODB.Recordset rsHutang.LockType = adLockOptimistic rsHutang.CursorType = adOpenDynamic rsHutang.Open "SELECT * FROM data_hutang WHERE tgl_bayar >= #" & tglAwal.Value & "# AND tgl_bayar <= #" & tglAkhir.Value & "#", conn, , , adCmdText If Not rsHutang.EOF Then

Call saveLaporan("Laporan Pembayaran Hutang dari " & tglAwal.Value & ") s/d (" & tglAkhir.Value & ")" & vbCrLf, namaberkas) Call saveLaporan(vbCrLf, namaberkas) rsHutang.MoveFirst Do Until rsHutang.EOF Call saveLaporan(rsHutang!tgl_bayar & vbTab & rsHutang!nama_supplier & vbTab & rsHutang! jumlah_bayar, namaberkas) 'tmpTotal = tmpTotal + Val(rsHutang!total) rsHutang.MoveNext Loop tmpnamaberkas = namaberkas File1.Refresh Else MsgBox "Data yang dicari tidak ada" End If End If End Sub Private Sub File1_Click() RTFHutang.FileName = File1.Path & "\" & File1.FileName End Sub Private Sub Form_Load() koneksi File1.Path = App.Path & "\LAPORAN\" End Sub

Source Code utk form LapKeu :


Public tmpUtang As Double Public tmpBeli As Double Public tmpJual As Double Public tmpnamaberkas As String Public namaberkas As String Sub loadUtang() tmpUtang = 0 Set rsSupplier = New ADODB.Recordset rsSupplier.LockType = adLockOptimistic

rsSupplier.CursorType = adOpenDynamic rsSupplier.Open "SELECT * FROM data_supplier", conn, , , adCmdText If Not rsSupplier.EOF Then rsSupplier.MoveFirst Do Until rsSupplier.EOF tmpUtang = tmpUtang + rsSupplier!Hutang rsSupplier.MoveNext Loop

End If txtHutang.Text = tmpUtang End Sub Sub loadPembelian() tmpBeli = 0 Set rsPembelian = New ADODB.Recordset rsPembelian.LockType = adLockOptimistic rsPembelian.CursorType = adOpenDynamic rsPembelian.Open "SELECT * FROM data_pembelian WHERE tanggalbeli >= #" & tglAwal.Value & "# AND tanggalbeli <= #" & tglAkhir.Value & "#", conn, , , adCmdText If Not rsPembelian.EOF Then rsPembelian.MoveFirst Do Until rsPembelian.EOF tmpBeli = tmpBeli + Val(rsPembelian!total) rsPembelian.MoveNext Loop End If txtPembelian.Text = tmpBeli End Sub Sub loadPenjualan() tmpJual = 0

Set rsPenjualan = New ADODB.Recordset rsPenjualan.LockType = adLockOptimistic rsPenjualan.CursorType = adOpenDynamic rsPenjualan.Open "SELECT * FROM data_penjualan WHERE tanggaljual >= #" & tglAwal.Value & "# AND tanggaljual <= #" & tglAkhir.Value & "#", conn, , , adCmdText If Not rsPenjualan.EOF Then rsPenjualan.MoveFirst Do Until rsPenjualan.EOF tmpJual = tmpJual + Val(rsPenjualan!total) rsPenjualan.MoveNext Loop End If txtPenjualan.Text = tmpJual End Sub Private Sub cmdCari_Click() loadPembelian loadPenjualan loadUtang End Sub Private Sub cmdHapus_Click() On Error GoTo pesan Dim tanya tanya = MsgBox("Hapus File " & File1.FileName & " ?", vbQuestion + vbYesNo) If tanya = vbYes Then Kill File1.Path & "\" & File1.FileName File1.Path = App.Path & "\LAPORAN\" File1.Refresh RTFKeuangan.Text = "" Else Exit Sub End If

Exit Sub pesan: MsgBox "File belum dipilih", vbInformation End Sub Private Sub cmdSimpan_Click() namaberkas = ""

namaberkas = "LAP_KEUANGAN (" & tglAwal.Day & " " & tglAwal.Month & " " & tglAwal.Year & ") HINGGA (" & tglAkhir.Day & " " & tglAkhir.Month & " " & tglAkhir.Year & ")" If namaberkas = tmpnamaberkas Then MsgBox "Laporan Pembelian Tersebut Sudah Ada", vbInformation Exit Sub Else Call saveLaporan("Laporan Keuangan dari " & tglAwal.Value & ") s/d (" & tglAkhir.Value & ")" & vbCrLf, namaberkas) Call saveLaporan(vbCrLf, namaberkas) Call saveLaporan("TOTAL PENJUALAN : " & txtPenjualan.Text, namaberkas) Call saveLaporan("==========================================", namaberkas) Call saveLaporan("TOTAL PEMBELIAN : " & txtPembelian.Text, namaberkas) Call saveLaporan("SISA HUTANG : " & txtHutang.Text, namaberkas) Call saveLaporan("==========================================", namaberkas) Call saveLaporan(vbCrLf & vbCrLf & "SELISIH : Rp." & (Val(txtPenjualan.Text)) - (Val(txtPembelian.Text) + Val(txtHutang.Text)), namaberkas) tmpnamaberkas = namaberkas File1.Refresh End If End Sub Private Sub File1_Click() RTFKeuangan.FileName = File1.Path & "\" & File1.FileName End Sub Private Sub Form_Load() koneksi

File1.Path = App.Path & "\LAPORAN\" End Sub

You might also like