LAMPIRAN A
KELUARAN SISTEM BERJALAN
75
Lampiram A-1 Nota
Lampiran A-2 Laporan Penjualan
LAMPIRAN B
MASUKAN SISTEM BERJALAN
78
Lampiran B-1 Data Barang
Lampiran B-2 Data pesanan
LAMPIRAN C
RANCANGAN KELUARAN
81
Lampiran C-1 Rancangan Nota
Lampiran C-2 Rancangan Nota Kontan
83
Lampiran C-3 Rancangan Pesanan
Lampiran C-4
Rancangan Laporan Penjualan
LAMPIRAN D
RANCANGAN MASUKAN
86
Lampiran D-1
Rancangan Data Pelanggan
Lampiran D-2 Rancangan Data Barang
88
Kode Barang Nama Barang Satuan Harga X-5-x
Toko Global Comp Jln Kejaksaan No 176
Pangkalpinang Data Pesanan
X-20-x X-6-x
Pangkalpinang, dd-mm-yyyy
( %%%%... ) 9,999,999
No. Pesanan Tgl. Pesanan
Kode Pelanggan Nama Pelanggan Alamat Pelanggan X-5-x
dd-mm-yyyy
: X-5-x
X-20-x X-100-x :
: : :
Berikut adalah rincian data barang
Jumlah Total
99 9,999,999
Bagian Penjulaan Total Keseluruhan 99,999,999
Lampiran D-3
Rancangan Data Pesanan
89
LAMPIRAN E
SURAT KETERANGAN RISET
91
Lampiran E-1 Surat Keterangan Riset
Private Sub cetaklaporanpenjualan_Click() Form6.Show
End Sub
Private Sub cetaknota_Click() Form5.Show
End Sub
Private Sub cetaknotakontan_Click() Form7.Show
End Sub
Private Sub entrydatabarang_Click() Form2.Show
End Sub
Private Sub entrydatapelanggan_Click() Form3.Show
End Sub
Private Sub entrydatapesanan_Click() Form4.Show
End Sub
Private Sub Form_Load()
cn.Provider = "Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path &
"\jual.mdb;Persist Security Info = false"
cn.Open End Sub
2
Private Sub keluar_Click() Dim x As String
x = MsgBox("Apakah anda yakin akan keluar dari sistem..?", vbOKCancel + vbQuestion, "KOnfirmasi")
If x = vbOK Then cn.Close End End If End Sub
Private Sub cmdbatal_Click() txtkdbrg.Text = ""
txtnmbrg.Text = ""
txtsatuan.Text = ""
txtharga.Text = ""
txtstok.Text = ""
End Sub
Private Sub cmdedit_Click() If txtkdbrg = "" Then
MsgBox "Please donk... kode barangnya diisi.."
txtkdbrg.SetFocus Else
cn.Execute "update barang set kdbrg='" & txtkdbrg & "',nmbrg='" &
txtnmbrg & "',satuan='" & txtsatuan & "',harga=" & txtharga & ",stok=" &
txtstok & " where kdbrg='" & txtkdbrg & "'"
MsgBox "Satu record sudah berubah", vbInformation, "INFO"
yuni bersih txtkdbrg = ""
txtkdbrg.SetFocus
End If End Sub
Private Sub cmdhapus_Click() Dim a As String
a = MsgBox("Apakah record ini akan dihapus..?", vbQuestion + vbYesNo,
"PESAN")
If a = vbYes Then
cn.Execute "delete * from barang where kdbrg='" & txtkdbrg & "'"
MsgBox "Satu record sudah dihapus", vbInformation, "PESAN"
yuni bersih txtkdbrg = ""
txtkdbrg.SetFocus End If
End Sub
Private Sub cmdkeluar_Click() Unload Me
End Sub
Private Sub cmdsimpan_Click() If txtkdbrg = "" Then
MsgBox "Please donk... kode barangnya diisi.."
txtkdbrg.SetFocus Else
cn.Execute "insert into barang values ('" & txtkdbrg & "','" & txtnmbrg & "','"
& txtsatuan & "','" & txtharga & "','" & txtstok & "')"
MsgBox "Satu record sudah bertambah", vbInformation, "INFO"
yuni bersih
4
txtkdbrg = ""
txtkdbrg.SetFocus End If
End Sub
Public Sub bersih() txtnmbrg.Text = ""
txtsatuan.Text = ""
txtharga.Text = ""
txtstok.Text = ""
End Sub
Private Sub Form_Load() yuni
End Sub
Private Sub Frame1_DragDrop(Source As Control, X As Single, Y As Single)
End Sub
Private Sub GridBrg_DblClick()
If GridBrg.TextMatrix(GridBrg.Row, 0) <> "" Then txtkdbrg = GridBrg.TextMatrix(GridBrg.Row, 0) txtnmbrg = GridBrg.TextMatrix(GridBrg.Row, 1) txtsatuan = GridBrg.TextMatrix(GridBrg.Row, 2) txtharga = GridBrg.TextMatrix(GridBrg.Row, 3) txtstok = GridBrg.TextMatrix(GridBrg.Row, 4) End If
End Sub
Private Sub txtkdbrg_LostFocus() Dim rsbrg As New ADODB.Recordset
rsbrg.Open "select * from barang where kdbrg='" & txtkdbrg & "'", cn, adOpenKeyset, adLockOptimistic
If rsbrg.RecordCount > 0 Then txtkdbrg = rsbrg("kdbrg") txtnmbrg = rsbrg("nmbrg") txtsatuan = rsbrg("satuan") txtharga = rsbrg("harga") txtstok = rsbrg("stok") Else
txtnmbrg = ""
txtsatuan = ""
txtharga = ""
txtstok = ""
End If End Sub
Public Sub yuni()
Dim rsbrg As New ADODB.Recordset Dim i As Integer
rsbrg.Open "select * from barang", cn, adOpenKeyset, adLockOptimistic With GridBrg
.Rows = rsbrg.RecordCount + 1 For i = 1 To rsbrg.RecordCount .TextMatrix(i, 0) = rsbrg("kdbrg") .TextMatrix(i, 1) = rsbrg("nmbrg") .TextMatrix(i, 2) = rsbrg("satuan")
6
.TextMatrix(i, 3) = rsbrg("harga") .TextMatrix(i, 4) = rsbrg("stok") If Not rsbrg.EOF = True Then rsbrg.MoveNext
End If Next i End With End Sub
Private Sub cmdbatal_Click() txtkdplg.Text = ""
txtnmplg.Text = ""
txtalamat.Text = ""
txttelp.Text = ""
txtkdplg.SetFocus End Sub
Private Sub cmdedit_Click() If txtkdplg = "" Then
MsgBox "Please donk... kode pelanggannya diisi.."
txtkdplg.SetFocus Else
cn.Execute "update pelanggan set kdplg='" & txtkdplg & "',nmplg='" &
txtnmplg & "',alamat='" & txtalamat & "',telp='" & txttelp & "' where kdplg='" &
txtkdplg & "'"
MsgBox "Satu record sudah berubah", vbInformation, "PESAN"
tampil bersih txtkdplg = ""
txtkdplg.SetFocus
End If End Sub
Private Sub cmdhapus_Click() Dim a As String
a = MsgBox("Apakah record ini akan dihapus?", vbOKCancel + vbExclamation, "PESAN")
If a = vbOK Then
cn.Execute "delete * from pelanggan where kdplg='" & txtkdplg & "'"
MsgBox "Satu record sudah terhapus"
tampil bersih txtkdplg = ""
txtkdplg.SetFocus End If
End Sub
Private Sub cmdkeluar_Click() Unload Me
End Sub
Private Sub cmdsimpan_Click() If txtkdplg = "" Then
MsgBox " Isi data dengan lengkap..!"
txtkdplg.SetFocus Else
cn.Execute "insert into pelanggan values('" & txtkdplg & "','" & txtnmplg &
"','" & txtalamat & "','" & txttelp & "')"
8
MsgBox "Satu record sudah bertambah", vbInformation, "PESAN"
tampil bersih txtkdplg = ""
txtkdplg.SetFocus End If
End Sub
Public Sub bersih() txtnmplg.Text = ""
txtalamat.Text = ""
txttelp.Text = ""
End Sub
Private Sub cmdtambah_Click() txtkdplg.Text = ""
txtnmplg.Text = ""
txtalamat.Text = ""
txttelp.Text = ""
txtkdplg.SetFocus End Sub
Private Sub Form_Load() tampil
End Sub
Private Sub GridPlg_DblClick()
If GridPlg.TextMatrix(GridPlg.Row, 0) <> "" Then txtkdplg = GridPlg.TextMatrix(GridPlg.Row, 0) txtnmplg = GridPlg.TextMatrix(GridPlg.Row, 1) txtalamat = GridPlg.TextMatrix(GridPlg.Row, 2)
txttelp = GridPlg.TextMatrix(GridPlg.Row, 3) End If
End Sub
Private Sub txtkdplg_LostFocus() Dim rsplg As New ADODB.Recordset
rsplg.Open "select * from pelanggan where kdplg='" & txtkdplg & "'", cn, adOpenKeyset, adLockOptimistic
If rsplg.RecordCount > 0 Then txtkdplg = rsplg("kdplg") txtnmplg = rsplg("nmplg") txtalamat = rsplg("alamat") txttelp = rsplg("telp") Else
txtnmplg = ""
txtalamat = ""
txttelp = ""
End If End Sub
Public Sub tampil()
Dim rsplg As New ADODB.Recordset Dim i As Integer
rsplg.Open "select * from pelanggan", cn, adOpenKeyset, adLockOptimistic With GridPlg
.Rows = rsplg.RecordCount + 1 For i = 1 To rsplg.RecordCount .TextMatrix(i, 0) = rsplg("kdplg") .TextMatrix(i, 1) = rsplg("nmplg") .TextMatrix(i, 2) = rsplg("alamat")
10
.TextMatrix(i, 3) = rsplg("telp") If Not rsplg.EOF = True Then rsplg.MoveNext
End If Next i End With End Sub
Dim Kode_Pelanggan As String Dim Kode_Barang As String Dim Kode_Jenis As String Dim baris As Integer
Sub AktifGridJual() With GridPenjualan .Col = 0
.Row = 0
.Text = "KODE BARANG"
.CellFontBold = True .ColWidth(0) = 1500
.AllowUserResizing = flexResizeColumns .CellAlignment = flexAlignCenterCenter
.Col = 1 .Row = 0
.Text = "NAMA BARANG"
.CellFontBold = True .ColWidth(1) = 3500
.AllowUserResizing = flexResizeColumns .CellAlignment = flexAlignCenterCenter
.Col = 2 .Row = 0
.Text = "HARGA (Rp)"
.CellFontBold = True .ColWidth(2) = 1500
.AllowUserResizing = flexResizeColumns .CellAlignment = flexAlignCenterCenter
.Col = 3 .Row = 0
.Text = "JUMLAH PESAN"
.CellFontBold = True .ColWidth(3) = 1600
.AllowUserResizing = flexResizeColumns .CellAlignment = flexAlignCenterCenter
.Col = 4 .Row = 0
.Text = "TOTAL"
.CellFontBold = True .ColWidth(4) = 1300
.AllowUserResizing = flexResizeColumns .CellAlignment = flexAlignCenterCenter baris = 1
End With
End Sub
Private Sub cmbbarang_Click()
12
Kode_Barang = ""
Set rsbrg = cn.Execute("select * " & " from barang where " & " kdbrg='" &
cmbbarang.Text & "'")
With rsbrg
If .EOF And .BOF Then Exit Sub
Else
Kode_Barang = !kdbrg txtnmbrg = !nmbrg txtstok.Text = !STOK txtharga.Text = !harga txtjumlah.SetFocus End If
End With
End Sub
Private Sub cmbbarang_DropDown() cmbbarang.Clear
Set rsbrg = cn.Execute("select * from " & " barang order by kdbrg")
If Not rsbrg.BOF Then While Not rsbrg.EOF
cmbbarang.AddItem rsbrg!kdbrg rsbrg.MoveNext
Wend End If End Sub
Private Sub cmbpelanggan_Click()
Kode_Pelanggan = ""
Set rsplg = cn.Execute("select * " & " from pelanggan where " & " kdplg='" &
cmbpelanggan.Text & "'")
With rsplg
If .EOF And .BOF Then Exit Sub
Else
Kode_Pelanggan = !KDPLG txtnmplg.Text = !NMPLG txtalamat.Text = !alamat cmbbarang.SetFocus End If
End With End Sub
Private Sub cmbpelanggan_DropDown() cmbpelanggan.Clear
Set rsplg = cn.Execute("select * " & " from pelanggan order by kdplg")
With rsplg
If Not .BOF Then While Not .EOF
cmbpelanggan.AddItem !KDPLG .MoveNext
Wend End If End With
End Sub
Private Sub cmdbatal_Click()
14
Call FormNormal txtnmplg.Text = ""
GENERATE End Sub
Private Sub cmdCetak_Click() If cmdsimpan.Enabled = True Then
MsgBox "DATA HARUS DISIMPAN DULU!!!"
Else
Dim rspsn As New ADODB.Recordset
rspsn.Open "select * from pesanan ", cn, adOpenKeyset, adLockOptimistic cr.ReportFileName = "" & App.Path & "\spesan.rpt "
msf = "{pesanan.nopsn} = '" & txtnopsn.Text & "'"
cr.SelectionFormula = msf cr.RetrieveDataFiles
cr.WindowState = crptMaximized cr.Action = 1
Call FormNormal txtnmplg.Text = ""
GENERATE
cmdcetak.Enabled = False cmdbatal.Enabled = True cmdkeluar.Enabled = True End If
End Sub
Private Sub cmdkeluar_Click() Unload Me
End Sub
Private Sub cmdsimpan_Click()
If cmbpelanggan.ListIndex = -1 Then
MsgBox "Kode Pelanggan masih kosong!", _ vbInformation + vbOKOnly, "Information"
cmbpelanggan.SetFocus ElseIf baris = 1 Then
MsgBox "Belum ada barang yang akan dijual!", _ vbInformation + vbOKOnly, "Information"
cmbbarang.SetFocus Else
Set rspsn = New ADODB.Recordset
rspsn.Open " SELECT * FROM PESANAN ", cn, adOpenKeyset, adLockOptimistic
SqlInsert = ""
SqlInsert = "INSERT INTO PESANAN" _ & " (Nopsn,Tglpsn, " _
& " Kdplg) " _
& " VALUES('" & txtnopsn.Text & "','" _ & dtppsn & "','" _
& Kode_Pelanggan & "')"
cn.Execute SqlInsert rspsn.Requery
For i = 1 To baris - 1 SqlInsert = ""
SqlInsert = "INSERT INTO DETIL_PESAN" _ & "(Nopsn,Kdbrg, " _
& "harga,Jmlpsn)" _
& "VALUES ('" & txtnopsn.Text & "','" _ & GridPenjualan.TextMatrix(i, 0) & "','" _ & GridPenjualan.TextMatrix(i, 2) & "','" _ & GridPenjualan.TextMatrix(i, 3) & "')"
16
cn.Execute SqlInsert
SqlUpdate = ""
SqlUpdate = "UPDATE BARANG SET " _ & " stok=stok - " _
& Val(GridPenjualan.TextMatrix(i, 3)) & "" _ & " WHERE nmbrg='" _
& GridPenjualan.TextMatrix(i, 1) & "'"
cn.Execute SqlUpdate
Next i
txttotjumlah.Text = ""
MsgBox "Data telah tersimpan dalam database !", _ vbOKOnly + vbInformation, "Konfirmasi"
cmdsimpan.Enabled = False cmdcetak.Enabled = True cmdbatal.Enabled = False cmdkeluar.Enabled = False End If
End Sub
Private Sub cmdtambah_Click() If cmbbarang.ListIndex = -1 Then
MsgBox "Nama barang masih kosong! ", _ vbOKOnly + vbCritical, "Critical"
cmbbarang.SetFocus
ElseIf Val(txtstok.Text) < Val(txtjumlah.Text) Then MsgBox "Stok tidak mencukupi!", _
vbOKOnly + vbCritical, "Information"
txtjumlah.SetFocus
ElseIf txtjumlah.Text = "" Then
MsgBox "Jumlah masih kosong!", _ vbInformation + vbOKOnly, "Information"
txtjumlah.SetFocus Else
With GridPenjualan .Rows = baris + 1
.TextMatrix(baris, 0) = Kode_Barang .TextMatrix(baris, 1) = txtnmbrg.Text .TextMatrix(baris, 2) = txtharga.Text .TextMatrix(baris, 3) = txtjumlah.Text .TextMatrix(baris, 4) = txttot.Text End With
txttotjumlah.Text = Val(txttotjumlah.Text) _ + Val(txttot.Text)
baris = baris + 1 Call bersihbarang End If
cmdsimpan.Enabled = True End Sub
Private Sub Form_Load() GENERATE
Call FormHidup Call AktifGridJual
cmdsimpan.Enabled = False cmdcetak.Enabled = False dtppsn = Now()
End Sub
18
Private Sub GENERATE() Dim SQL As String
Dim rspsn As New ADODB.Recordset Dim valLength As Integer
Dim valTemp As String
SQL = "SELECT NOPSN FROM PESANAN ORDER BY NOPSN DESC "
Set rspsn = cn.Execute(SQL)
If Not rspsn.EOF Then rspsn.MoveFirst
valTemp = Val(Right(rspsn!NOPSN, 3)) + 1 Else
valTemp = 1 End If
valLength = Len(valTemp)
txtnopsn.Text = "SP" & Right("000", 3 - valLength) & valTemp End Sub
Private Sub txtjumlah_Change() If txtstok.Text = "0" Then
MsgBox "stok tidak ada !", vbInformation + vbOKOnly, "Information"
txtjumlah.Text = ""
cmbbarang.SetFocus
ElseIf Val(txtjumlah.Text) > Val(txtstok.Text) Then
MsgBox "stok tidak memenuhi ! ", vbInformation + vbOKOnly,
"Information"
txtjumlah.SetFocus Else
On Error Resume Next
If txtjumlah.Text = "" Or txtharga.Text = "" Then txttot.Text = "0"
Exit Sub
ElseIf txtjumlah.Text = "0" Or txtharga.Text = "0" Then txttot.Text = "0"
Else
txttot.Text = txtjumlah.Text * txtharga.Text End If
End If End Sub
Sub bersihbarang()
cmbbarang.ListIndex = -1 txtstok.Text = ""
txtjumlah.Text = ""
txtharga.Text = ""
txttot.Text = ""
txtnmbrg.Text = ""
End Sub
Sub FormNormal() FormKosong
cmdsimpan.Enabled = False End Sub
Sub FormKosong() txtnopsn.Text = ""
cmbpelanggan.ListIndex = -1 txtalamat.Text = ""
20
cmbbarang.ListIndex = -1 txtnmbrg.Text = ""
txtstok.Text = ""
txtharga.Text = ""
txtjumlah.Text = ""
txttot.Text = ""
txttotjumlah.Text = ""
baris = 1
GridPenjualan.Clear GridPenjualan.Rows = 2 AktifGridJual
End Sub
Sub FormHidup()
txtnopsn.MaxLength = 5 txtnopsn.Enabled = True dtppsn.Enabled = True
cmbpelanggan.Enabled = True txtalamat.Enabled = True cmbbarang.Enabled = True txtstok.Enabled = True txtharga.Enabled = True txtjumlah.Enabled = True txttot.Enabled = True
txttotjumlah.Enabled = True End Sub
Private Sub LOAD_COMBO() Dim SQL As String
Dim rspsn As New ADODB.Recordset
cmbnopsn.Clear
SQL = "SELECT NOPSN FROM PESANAN WHERE NOPSN NOT IN(SELECT NOPSN FROM NOTA)"
Set rspsn = cn.Execute(SQL)
If Not rspsn.EOF Then rspsn.MoveFirst Do Until rspsn.EOF
cmbnopsn.AddItem rspsn!NOPSN rspsn.MoveNext
Loop End If End Sub
Private Sub cmdCetak_Click() If cmbnopsn.ListIndex = -1 Then
MsgBox "No Pesanan masih kosong..!", vbInformation + vbOKOnly, " I N F O"
cmbnopsn.SetFocus Else
SQL = "INSERT INTO NOTA(NONOTA,TGLNOTA,NOPSN) VALUES ('" &
txtNoNota.Text & "','" & DTPTglNota.Value SQL = SQL & "','" & cmbnopsn.Text SQL = SQL & "')"
cn.Execute SQL
Dim rsnota As New ADODB.Recordset
rsnota.Open "select * from nota ", cn, adOpenKeyset, adLockOptimistic
22
CR.ReportFileName = "" & App.Path & "\nota.rpt "
msf = "{qnota.nopsn} = '" & cmbnopsn.Text & "'"
CR.SelectionFormula = msf CR.RetrieveDataFiles
CR.WindowState = crptMaximized CR.Action = 1
cmbnopsn.ListIndex = -1 LOAD_COMBO
GENERATE End If
End Sub
Private Sub cmdkeluar_Click() Unload Me
End Sub
Private Sub Form_Load() LOAD_COMBO
DTPTglNota.Value = Format(Now, "DD/MM/YYYY") GENERATE
End Sub
Private Sub GENERATE() Dim SQL As String
Dim rsnota As New ADODB.Recordset Dim valLength As Integer
Dim valTemp As String
SQL = "SELECT NONOTA FROM NOTA ORDER BY NONOTA DESC "
Set rsnota = cn.Execute(SQL)
If Not rsnota.EOF Then rsnota.MoveFirst
valTemp = Val(Right(rsnota!NONOTA, 4)) + 1 Else
valTemp = 1 End If
valLength = Len(valTemp)
txtNoNota.Text = "N" & Right("00000", 4 - valLength) & valTemp End Sub
Private Sub LOAD_COMBO() Dim SQL As String
Dim rspsn As New ADODB.Recordset
cmbnopsn.Clear
SQL = "SELECT NOPSN FROM PESANAN WHERE NOPSN NOT IN(SELECT NOPSN FROM NOTA)"
Set rspsn = cn.Execute(SQL)
If Not rspsn.EOF Then rspsn.MoveFirst Do Until rspsn.EOF
cmbnopsn.AddItem rspsn!NOPSN rspsn.MoveNext
Loop End If
24
End Sub
Private Sub cmdCetak_Click() If cmbnopsn.ListIndex = -1 Then
MsgBox "No Pesanan masih kosong..!", vbInformation + vbOKOnly, " I N F O"
cmbnopsn.SetFocus Else
SQL = "INSERT INTO NOTA(NONOTA,TGLNOTA,NOPSN) VALUES ('" &
txtNoNota.Text & "','" & DTPTglNota.Value SQL = SQL & "','" & cmbnopsn.Text SQL = SQL & "')"
cn.Execute SQL
Dim rsnota As New ADODB.Recordset
rsnota.Open "select * from nota ", cn, adOpenKeyset, adLockOptimistic CR.ReportFileName = "" & App.Path & "\nota.rpt "
msf = "{qnota.nopsn} = '" & cmbnopsn.Text & "'"
CR.SelectionFormula = msf CR.RetrieveDataFiles
CR.WindowState = crptMaximized CR.Action = 1
cmbnopsn.ListIndex = -1 LOAD_COMBO
GENERATE End If
End Sub
Private Sub cmdkeluar_Click() Unload Me
End Sub
Private Sub Form_Load() LOAD_COMBO
DTPTglNota.Value = Format(Now, "DD/MM/YYYY") GENERATE
End Sub
Private Sub GENERATE() Dim SQL As String
Dim rsnota As New ADODB.Recordset Dim valLength As Integer
Dim valTemp As String
SQL = "SELECT NONOTA FROM NOTA ORDER BY NONOTA DESC "
Set rsnota = cn.Execute(SQL)
If Not rsnota.EOF Then rsnota.MoveFirst
valTemp = Val(Right(rsnota!NONOTA, 4)) + 1 Else
valTemp = 1 End If
valLength = Len(valTemp)
txtNoNota.Text = "N" & Right("00000", 4 - valLength) & valTemp End Sub
Dim Kode_Barang As String
26
Dim baris As String
Sub bersih()
cmbkdbrg.ListIndex = -1 txtnmbrg.Text = ""
txtsatuan.Text = ""
txtharga.Text = ""
txtjumlah.Text = ""
txttotal.Text = ""
End Sub
Private Sub cmbkdbrg_Click() Kode_Barang = ""
Set rsbrg = cn.Execute("SELECT * FROM barang WHERE kdbrg='" &
cmbkdbrg.Text & "'")
With rsbrg
If .EOF And .BOF Then Exit Sub
Else
Kode_Barang = !kdbrg txtnmbrg.Text = !nmbrg txtsatuan.Text = !satuan txtharga.Text = !harga cmbkdbrg.SetFocus End If
End With
txtjumlah.SetFocus End Sub
Private Sub cmbkdbrg_DropDown()
cmbkdbrg.Clear
Set rsbrg = cn.Execute("SELECT * FROM barang ORDER BY kdbrg")
With rsbrg
If Not .BOF Then While Not .EOF
cmbkdbrg.AddItem !kdbrg .MoveNext
Wend End If End With End Sub
Private Sub cmdbatal_Click() bersih
txttotsel.Text = ""
gridnota.Clear gridnota.Rows = 2 Call AktifGridNota Call auto
cmbkdbrg.SetFocus End Sub
Private Sub cmdCetak_Click() If cmdsimpan.Enabled = True Then
MsgBox "DATA HARUS DISIMPAN DULU!!!"
Else
Dim rsnt As New ADODB.Recordset
rsnt.Open "select * from nota_kontan ", cn, adOpenKeyset, adLockOptimistic
cr.ReportFileName = "" & App.Path & "\nota1.rpt "
28
msf = "{nota_kontan.nonotakon} = '" & txtnonota.Text & "'"
cr.SelectionFormula = msf cr.RetrieveDataFiles
cr.WindowState = crptMaximized cr.Action = 1
auto
cmdsimpan.Enabled = False cmdcetak.Enabled = False cmdbatal.Enabled = True cmdkeluar.Enabled = True End If
End Sub
Private Sub cmdkeluar_Click() Unload Me
End Sub
Private Sub cmdsimpan_Click() If baris = 1 Then
MsgBox "Belum ada barang yang akan dijual!", _ vbInformation + vbOKOnly, "Information"
cmbkdbrg.SetFocus Else
Set RsNotaKon = New ADODB.Recordset
RsNotaKon.Open " SELECT * FROM nota kontan ", cn, adOpenKeyset, adLockOptimistic
SqlInsert = ""
SqlInsert = "INSERT INTO NOTA_KONTAN" _ & " (nonotakon,tglnotakon) " _
& " VALUES('" & txtnonota.Text & "','" _ & tglnota & "')"
cn.Execute SqlInsert RsNotaKon.Requery
For i = 1 To baris - 1 SqlInsert = ""
SqlInsert = "INSERT INTO detil_nota_kontan" _ & "(nonotakon,kdbrg, " _
& "jml)" _
& "VALUES ('" & txtnonota.Text & "','" _ & gridnota.TextMatrix(i, 0) & "','" _ & gridnota.TextMatrix(i, 4) & "')"
cn.Execute SqlInsert
SqlUpdate = ""
SqlUpdate = "UPDATE BARANG SET " _ & " stok=stok - " _
& Val(gridnota.TextMatrix(i, 4)) & "" _ & " WHERE nmbrg='" _
& gridnota.TextMatrix(i, 1) & "'"
cn.Execute SqlUpdate
Next i
txttotsel.Text = ""
MsgBox "Data telah tersimpan dalam database !", _ vbOKOnly + vbInformation, "Konfirmasi"
bersih
gridnota.Clear gridnota.Rows = 2 Call AktifGridNota End If
cmdsimpan.Enabled = False
30
cmdcetak.Enabled = True cmdbatal.Enabled = False cmdkeluar.Enabled = False End Sub
Private Sub cmdtambah_Click() If cmbkdbrg.ListIndex = -1 Then
MsgBox "Nama barang masih kosong! ", _ vbOKOnly + vbCritical, "Critical"
cmbkdbrg.SetFocus
ElseIf txtjumlah.Text = "0" Or txtjumlah.Text = "" Then
MsgBox "Jumlah masih kosong!", vbInformation + vbOKOnly,
"Information"
txtjumlah.SetFocus Else
With gridnota .Rows = baris + 1
.TextMatrix(baris, 0) = Kode_Barang .TextMatrix(baris, 1) = txtnmbrg.Text .TextMatrix(baris, 2) = txtsatuan.Text .TextMatrix(baris, 3) = txtharga.Text .TextMatrix(baris, 4) = txtjumlah.Text .TextMatrix(baris, 5) = txttotal.Text End With
txttotsel.Text = Val(txttotsel.Text) + Val(txttotal.Text) baris = baris + 1
bersih
cmbkdbrg.SetFocus End If
cmdsimpan.Enabled = True
End Sub
Private Sub Form_Load() Call auto
Call AktifGridNota
cmdcetak.Enabled = False cmdsimpan.Enabled = False End Sub
Sub auto()
Dim SQL As String
Dim rsnt As New ADODB.Recordset Dim valLength As Integer
Dim valTemp As String
SQL = "SELECT NONOTAKON FROM NOTA_KONTAN ORDER BY NONOTAKON DESC "
Set rsnt = cn.Execute(SQL)
If Not rsnt.EOF Then rsnt.MoveFirst
valTemp = Val(Right(rsnt!NONOTAKON, 3)) + 1 Else
valTemp = 1 End If
valLength = Len(valTemp)
txtnonota.Text = "NT" & Right("000", 3 - valLength) & valTemp End Sub
32
Sub AktifGridNota() With gridnota .Col = 0 .Row = 0
.Text = "KODE BARANG"
.CellFontBold = True .ColWidth(0) = 1300
.AllowUserResizing = flexResizeColumns .CellAlignment = flexAlignCenterCenter
.Col = 1 .Row = 0
.Text = "NAMA BARANG"
.CellFontBold = True .ColWidth(1) = 2500
.AllowUserResizing = flexResizeColumns .CellAlignment = flexAlignCenterCenter
.Col = 2 .Row = 0
.Text = "SATUAN"
.CellFontBold = True .ColWidth(2) = 900
.AllowUserResizing = flexResizeColumns .CellAlignment = flexAlignCenterCenter
.Col = 3 .Row = 0
.Text = "HARGA SATUAN"
.CellFontBold = True
.ColWidth(3) = 1500
.AllowUserResizing = flexResizeColumns .CellAlignment = flexAlignCenterCenter
.Col = 4 .Row = 0
.Text = "JUMLAH"
.CellFontBold = True .ColWidth(4) = 1000
.AllowUserResizing = flexResizeColumns .CellAlignment = flexAlignCenterCenter
.Col = 5 .Row = 0
.Text = "TOTAL"
.CellFontBold = True .ColWidth(5) = 1000
.AllowUserResizing = flexResizeColumns .CellAlignment = flexAlignCenterCenter baris = 1
End With End Sub
Private Sub txtjumlah_Change()
txttotal.Text = Val(txtharga.Text) * Val(txtjumlah.Text) End Sub