• Tidak ada hasil yang ditemukan

Sistem Informasi Penjualan Barang Berbasis Net Pada Pt.Xyz

N/A
N/A
Protected

Academic year: 2019

Membagikan "Sistem Informasi Penjualan Barang Berbasis Net Pada Pt.Xyz"

Copied!
31
0
0

Teks penuh

(1)

LISTING PROGRAM

1. Module

Module ModUtama

PublicConst cFAsli = "0.00"

PublicConst cFComma = "#,##0.00"

'Koneksi ADO

Public oConn AsNew ADODB.Connection 'String SQL

Public S AsString 'Temp Int

Public i AsInteger 'User Name

Public strUser AsString Public strSQL AsString 'User Type

Public strUserType AsString 'Laporan

Public BTgl AsBoolean Public Tgl1 AsDate Public Tgl2 AsDate

Public ListTemp As ListViewItem

Function main(ByVal ssInitCatalog AsString, ByVal sServer AsString, ByVal sUsername AsString, ByVal sPassword

AsString) AsBoolean

Dim strTestKoneksi AsString = Nothing Try

'oConn.ConnectionString = "Provider=SQLOLEDB;Data Source=(local);Initial Catalog=Jepara;User

(2)

strTestKoneksi = "Provider=SQLOLEDB;Data Source="& sServer &";Initial Catalog="& ssInitCatalog &";USER ID="& sUsername &";Password="& sPassword

'strTestKoneksi = "Server=" & sServer & ";Database=" & ssInitCatalog & ";Trusted_Connection=True;"

oConn.CursorLocation = ADODB.CursorLocationEnum.adUseClient

oConn.ConnectionString = strTestKoneksi oConn.Open() main = True

Catch ex As Exception main = False EndTry

EndFunction

PublicSub CloseRS(ByVal pRS As ADODB.Recordset) pRS.Close()

pRS = Nothing EndSub

PublicFunction FormatTgl(ByVal pDate AsDate) AsString FormatTgl = String.Format("#{0}#", Format(pDate,

"yyyy-MM-dd")) EndFunction

PublicSub GotFocus1(ByVal pOTextBox As TextBox) With pOTextBox

.Text = Format(CDbl(0 & .Text), "0") .SelectionStart = 0

.SelectionLength = Len(.Text) EndWith

EndSub

PublicSub LostFocus1(ByVal pOTextBox As TextBox) With pOTextBox

If Trim(.Text) = ""Then .Text = "0"

.Text = Format(CDbl(0 & .Text), "#,##0") EndWith

EndSub

PublicFunction Kanan(ByVal pcText AsString, ByVal pnLength AsInteger) AsString

Kanan = Right(pcText, pnLength) EndFunction

PublicSub FillCombo(ByVal strquery AsString, ByVal

objcombo As ComboBox, OptionalByVal Kondisi AsBoolean = True)

(3)

objcombo.Items.Clear()

RSCombo.Open(strquery, oConn, ADODB.CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockOptimistic) With RSCombo

If .RecordCount <> 0 Then .MoveFirst() DoWhileNot .EOF

If Kondisi Then

objcombo.Items.Add(.Fields(0).Value &"|"& .Fields(1).Value)

Else

objcombo.Items.Add(.Fields(0).Value) EndIf

.MoveNext() Loop

EndIf EndWith

Call CloseRS(RSCombo) EndSub

'Pengecekan apakah No Transaksi sudah ada sebelumnya PublicFunction IsExistNoBukti(ByVal strbukti AsString) AsBoolean

Dim cF AsString

Dim rS AsNew ADODB.Recordset

cF = "Select nobukti From tblinfokredit "& _

"Where nobukti = '"& strbukti &"'"

rS.Open(cF, oConn,

ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockReadOnly)

IsExistNoBukti = (rS.RecordCount > 0) Call CloseRS(rS)

EndFunction

'Pengecekan apakah No Transaksi sudah ada sebelumnya PublicFunction IsExistNoBayar(ByVal strbukti AsString) AsBoolean

Dim cF AsString

Dim rS AsNew ADODB.Recordset

cF = "Select nobayar From tblbayar "& _

(4)

rS.Open(cF, oConn,

ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockReadOnly)

IsExistNoBayar = (rS.RecordCount > 0) Call CloseRS(rS)

EndFunction

'Pengecekan apakah No Transaksi sudah ada sebelumnya PublicFunction GetOneRecord(ByVal strsql AsString) AsString

Dim cF AsString

Dim rS AsNew ADODB.Recordset cF = strsql

rS.Open(cF, oConn,

ADODB.CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockOptimistic) If rS.RecordCount <> 0 Then

GetOneRecord = rS(0).Value EndIf

Call CloseRS(rS) EndFunction

PublicSub GetMDIChild(ByRef ChildForm As Form, ByVal MDIChild As Form)

ChildForm.MdiParent = MDIChild ChildForm.Show()

ChildForm.BringToFront()

'Call ModData.GetMDIChild(FrmMstCabang, Me, Me.UltraTabbedMdiManager1)

EndSub EndModule

2. Form Utama

PublicClass FormUtama

PrivateSub FormUtama_Disposed(ByVal sender AsObject, ByVal e As System.EventArgs) HandlesMe.Disposed

End EndSub

PrivateSub FormUtama_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.Load

(5)

PrivateSub DataSatuanToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DataSatuanToolStripMenuItem.Click

GetMDIChild(FormUnit, Me) EndSub

PrivateSub DataBarangToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DataBarangToolStripMenuItem.Click

GetMDIChild(FormBarang, Me) EndSub

PrivateSub KeluarToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles

KeluarToolStripMenuItem.Click End

EndSub

PrivateSub BarangKeluarToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BarangKeluarToolStripMenuItem.Click

GetMDIChild(FormBarangKeluar, Me) EndSub

PrivateSub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click

GetMDIChild(FormUnit, Me) EndSub

PrivateSub ToolStripButton2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton2.Click

GetMDIChild(FormBarang, Me) EndSub

PrivateSub ToolStripButton4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton4.Click

GetMDIChild(FormSatuan, Me) EndSub

PrivateSub ToolStripButton6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton6.Click

GetMDIChild(FormBarangKeluar, Me) EndSub

(6)

Dim rsCetak AsNew ADODB.Recordset 'Report Recordset Dim cF AsString

'SQL Laporan

cF = "Select * From tblsatuan Order By kodesatuan"

rsCetak.Open(cF, oConn, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockReadOnly) If rsCetak.RecordCount > 0 Then Dim c AsNew FormRep

Dim rdReport AsNew RepSatuan

rdReport.SetDataSource(rsCetak)

c.CrystalReportViewer1.ReportSource = rdReport

rdReport.Refresh()

c.Text = "Laporan Daftar Satuan"

c.Show() Else

Call CloseRS(rsCetak)

MsgBox("Tidak ada data untuk dicetak !", vbCritical, "Print")

ExitSub EndIf EndSub

PrivateSub DaftarBarangToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DaftarBarangToolStripMenuItem.Click

Dim rsCetak AsNew ADODB.Recordset 'Report Recordset Dim cF AsString

'SQL Laporan

cF = "Select * From viewbarang Order By kodebarang"

rsCetak.Open(cF, oConn, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockReadOnly) If rsCetak.RecordCount > 0 Then Dim c AsNew FormRep

Dim rdReport AsNew RepBarang

rdReport.SetDataSource(rsCetak)

c.CrystalReportViewer1.ReportSource = rdReport

rdReport.Refresh()

c.Text = "Laporan Daftar Barang"

(7)

Call CloseRS(rsCetak)

MsgBox("Tidak ada data untuk dicetak !", vbCritical, "Print")

ExitSub EndIf EndSub

PrivateSub DaftarUnitKerjaToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DaftarUnitKerjaToolStripMenuItem.Click

Dim rsCetak AsNew ADODB.Recordset 'Report Recordset Dim cF AsString

'SQL Laporan

cF = "Select * From tblpembeli Order By kodepembeli"

rsCetak.Open(cF, oConn, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockReadOnly) If rsCetak.RecordCount > 0 Then Dim c AsNew FormRep

Dim rdReport AsNew RepUnit

rdReport.SetDataSource(rsCetak)

c.CrystalReportViewer1.ReportSource = rdReport

rdReport.Refresh()

c.Text = "Laporan Daftar Pembeli"

c.Show() Else

Call CloseRS(rsCetak)

MsgBox("Tidak ada data untuk dicetak !", vbCritical, "Print")

ExitSub EndIf EndSub PrivateSub

LaporanBarangKeluarToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LaporanBarangKeluarToolStripMenuItem.Click

Call GetMDIChild(FormSeleksiKeluar, Me) EndSub

PrivateSub DataUnitKerjaToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DataUnitKerjaToolStripMenuItem.Click

(8)

PrivateSub LaporanPendapatanToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LaporanPendapatanToolStripMenuItem.Click

Dim rsCetak AsNew ADODB.Recordset 'Report Recordset Dim cF AsString

Dim xPesan AsString 'SQL Laporan

xPesan = InputBox("Masukkan Tahun Pendapatan",

"Tahun Transaksi", Year(Now)) If xPesan <>""Then

cF = "Select * From viewlr where tahun='"& xPesan &"'"

rsCetak.Open(cF, oConn, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockReadOnly) If rsCetak.RecordCount > 0 Then Dim c AsNew FormRep

Dim rdReport AsNew RepJualAkun

rdReport.SetDataSource(rsCetak)

c.CrystalReportViewer1.ReportSource = rdReport

rdReport.Refresh()

c.Text = "Laporan Pendapatan"

c.Show() Else

Call CloseRS(rsCetak)

MsgBox("Tidak ada data untuk dicetak !", vbCritical, "Print")

ExitSub EndIf EndIf EndSub EndClass

3. Form Barang

PublicClass FormBarang

Sub ActiveCMD(ByVal L0 AsBoolean, ByVal L1 AsBoolean, ByVal L2 AsBoolean, ByVal L3 AsBoolean, ByVal L4

(9)

cmdbaru.Enabled = L0 cmdsimpan.Enabled = L1 cmdedit.Enabled = L2 cmdhapus.Enabled = L3 cmdbatal.Enabled = L4 cmdkeluar.Enabled = L5 EndSub

Sub ActiveText(ByVal L0 AsBoolean, ByVal L1 AsBoolean) txtkode.Enabled = L0

txtnama.Enabled = L1 cbosatuan.Enabled = L1 txtstok.Enabled = L1

txtharga.Enabled = L1 EndSub

Sub ClearText()

txtkode.Text = ""

txtnama.Text = ""

cbosatuan.Text = ""

txtstok.Text = ""

txtharga.Text = ""

EndSub

Sub IsiListview() Dim cF AsString

Dim rsTampil AsNew ADODB.Recordset Dim i AsInteger

Me.lv.Items.Clear()

cF = "Select * From viewbarang"

With rsTampil 'Buka recordset

.Open(cF, oConn,

ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockReadOnly) If .RecordCount <> 0 Then

.MoveFirst() DoWhileNot .EOF

i = i + 1

ListTemp = lv.Items.Add(i)

ListTemp.SubItems.Add(rsTampil(0).Value)

ListTemp.SubItems.Add(rsTampil(1).Value)

ListTemp.SubItems.Add(rsTampil(2).Value)

(10)

ListTemp.SubItems.Add(rsTampil(4).Value) .MoveNext()

Loop EndIf EndWith EndSub

PrivateSub cmdkeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdkeluar.Click

Me.Close() EndSub

PrivateSub FormBarang_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.Load

Call ActiveCMD(True, False, False, False, False, True) Call ActiveText(False, False)

Call ModUtama.FillCombo("select kodesatuan,namasatuan from tblsatuan", cbosatuan)

Call ModUtama.FillCombo("select kodebarang from tblbarang", txtkode, False)

Call IsiListview() EndSub

PrivateSub cmdbatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdbatal.Click

Call ActiveCMD(True, False, False, False, False, True) Call ActiveText(False, False)

Call ClearText() Call IsiListview()

Call ModUtama.FillCombo("select kodebarang from tblbarang", txtkode, False)

EndSub

PrivateSub cmdbaru_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdbaru.Click

Call ActiveText(True, False) txtkode.Focus()

EndSub

PrivateSub txtkode_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtkode.KeyDown

If e.KeyCode = Keys.Enter Then IfNot txtkode.Text = ""Then Dim cF AsString

Dim rsTampil AsNew ADODB.Recordset

(11)

With rsTampil 'Buka recordset

.Open(cF, oConn, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockReadOnly) 'Jika terdaftar, maka tampilkan If .RecordCount > 0 Then

txtnama.Text = rsTampil(1).Value cbosatuan.Text =

rsTampil(2).Value

txtstok.Text = rsTampil(3).Value txtharga.Text = rsTampil(4).Value Call ActiveCMD(False, False, True, True, True, True)

Call ActiveText(False, True) Else

Call ActiveCMD(False, True, False, False, True, True) Call ActiveText(False, True)

EndIf EndWith 'Tutup RS

Call CloseRS(rsTampil)

txtnama.Focus() EndIf

EndIf EndSub

PrivateSub cmdsimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdsimpan.Click

Dim cF AsString

'Dim rsTampil As New ADODB.Recordset

cF = "insert into tblbarang values('"& txtkode.Text &"','"& txtnama.Text &"','"&

Microsoft.VisualBasic.Left(cbosatuan.Text, 5) &"',"& txtstok.Text &","& txtharga.Text &")"

oConn.BeginTrans() oConn.Execute(cF) oConn.CommitTrans() 'rsTampil.Open(cF, oConn,

ADODB.CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockOptimistic) Call cmdbatal_Click(sender, e)

(12)

PrivateSub cmdedit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdedit.Click

Dim cF AsString

Dim rsTampil AsNew ADODB.Recordset

cF = "update tblbarang set namabarang='"& txtnama.Text &"',kodesatuan='"&

Microsoft.VisualBasic.Left(cbosatuan.Text, 5) &"',stok="& txtstok.Text &",harga="& txtharga.Text &" where

kodebarang='"& txtkode.Text &"'"

oConn.BeginTrans() oConn.Execute(cF) oConn.CommitTrans() 'rsTampil.Open(cF, oConn,

ADODB.CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockOptimistic) Call cmdbatal_Click(sender, e)

EndSub

PrivateSub cmdhapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdhapus.Click

If MsgBox("Apakah record ini mau dihapus?",

MsgBoxStyle.YesNo, "Konfirmasi") = MsgBoxResult.Yes Then Dim cF AsString

Dim rsTampil AsNew ADODB.Recordset

cF = "delete from tblbarang where kodebarang='"& txtkode.Text &"'"

rsTampil.Open(cF, oConn, ADODB.CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockOptimistic)

MsgBox("Record berhasil dihapus", MsgBoxStyle.OkOnly, "Informasi")

Call cmdbatal_Click(sender, e) EndIf

EndSub

PrivateSub txtstok_KeyPress(ByVal sender As System.Object, ByVal e As

System.Windows.Forms.KeyPressEventArgs) Handles txtstok.KeyPress

If Asc(e.KeyChar) <> 8 And (Asc(e.KeyChar) < Asc("0") Or Asc(e.KeyChar) > Asc("9")) Then

e.KeyChar = ""

(13)

PrivateSub txtharga_KeyPress(ByVal sender As System.Object, ByVal e As

System.Windows.Forms.KeyPressEventArgs) Handles txtharga.KeyPress

If Asc(e.KeyChar) <> 8 And (Asc(e.KeyChar) < Asc("0") Or Asc(e.KeyChar) > Asc("9")) Then

e.KeyChar = ""

EndIf EndSub EndClass

4. Form Barang Keluar

PublicClass FormBarangKeluar Dim Ketemu AsBoolean

Sub ActiveCMD(ByVal L0 AsBoolean, ByVal L1 AsBoolean, ByVal L2 AsBoolean, ByVal L3 AsBoolean)

cmdbaru.Enabled = L0 cmdsimpan.Enabled = L1 cmdbatal.Enabled = L2 cmdkeluar.Enabled = L3 EndSub

Sub ActiveText(ByVal L0 AsBoolean, ByVal L1 AsBoolean) txtbukti.Enabled = L0

DTTanggal.Enabled = L1 cbosupplier.Enabled = L1 cbobarang.Enabled = L1 txtjumlah.Enabled = L1 EndSub

Sub ClearText()

txtbukti.Text = ""

DTTanggal.Value = Now cbosupplier.Text = ""

cbobarang.Text = ""

txtstok.Text = ""

txtjumlah.Text = ""

txttotal.Text = ""

txtharga.Text = ""

txtbeli.Text = ""

(14)

PrivateSub txtjumlah_KeyPress(ByVal sender As System.Object, ByVal e As

System.Windows.Forms.KeyPressEventArgs) Handles txtjumlah.KeyPress

If Asc(e.KeyChar) <> 8 And (Asc(e.KeyChar) < Asc("0") Or Asc(e.KeyChar) > Asc("9")) Then

e.KeyChar = ""

EndIf EndSub

PrivateSub cmdkeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdkeluar.Click

Me.lv.Items.Clear() Me.Close()

EndSub

PrivateSub cmdbatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdbatal.Click

Me.lv.Items.Clear()

Call ActiveCMD(True, False, False, True) Call ActiveText(False, False)

Call ClearText()

lv.Enabled = True

cmdtambah.Enabled = True cmdhapus.Enabled = True EndSub

PrivateSub FormBarangKeluar_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)

HandlesMyBase.Load

Call ActiveCMD(True, False, False, True) Call ActiveText(False, False)

Call FillCombo("select kodepembeli,namapembeli from tblpembeli", Me.cbosupplier)

Call FillCombo("select kodebarang,namabarang from tblbarang", Me.cbobarang)

DTTanggal.Value = Now Ketemu = False

EndSub

PrivateSub cmdtambah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdtambah.Click

Dim K AsInteger

Dim totalbeli AsDouble = 0 If txtjumlah.Text <>""Then

If Val(txtjumlah.Text) > Val(txtstok.Text) ThenExitSub IfNot lv.Items.Count = 0 Then

(15)

ForEach ListTemp In lv.SelectedItems

ListTemp.Selected = False Next

For K = 0 To lv.Items.Count - 1

If Trim(lv.Items(K).SubItems(1).Text) =

Microsoft.VisualBasic.Left(cbobarang.Text, 5) Then lv.Items(K).Selected = True lv.Items(K).EnsureVisible() MsgBox("Kode Barang "&

cbobarang.Text &" sudah ada dalam daftar", MsgBoxStyle.Exclamation, "Peringatan") cbobarang.Focus() ExitSub

EndIf Next EndIf

ListTemp = lv.Items.Add(lv.Items.Count + 1) With ListTemp

.SubItems.Add(Microsoft.VisualBasic.Left(cbobarang.Text, 5))

.SubItems.Add(Microsoft.VisualBasic.Mid(cbobarang.Text, 7))

.SubItems.Add(txtstok.Text) .SubItems.Add(txtjumlah.Text) .SubItems.Add(Val(txtstok.Text) - Val(txtjumlah.Text))

.SubItems.Add(Val(txtharga.Text)) .SubItems.Add(Val(txttotal.Text)) EndWith

cbobarang.Focus() EndIf

If lv.Items.Count <> 0 Then

For i AsInteger = 0 To lv.Items.Count - 1 totalbeli = totalbeli + lv.Items(i).SubItems(7).Text

Next

txtbeli.Text = totalbeli EndIf

EndSub

PrivateSub cmdhapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdhapus.Click

(16)

lv.BeginUpdate() If ListTemp.Selected = TrueThen

'MsgBox(ListTemp.SubItems(4).Text) Jumlah Keluar

'MsgBox(ListTemp.SubItems(1).Text) Kode Barang lv.Items.Remove(ListTemp)

EndIf

lv.EndUpdate() Next

For i AsInteger = 0 To lv.Items.Count - 1 totalbeli = totalbeli + lv.Items(i).SubItems(7).Text

Next

txtbeli.Text = totalbeli EndIf

EndSub

PrivateSub cmdbaru_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdbaru.Click

Call ActiveText(True, False) txtbukti.Focus() EndSub

PrivateSub txtbukti_KeyDown(ByVal sender As System.Object, ByVal e As

System.Windows.Forms.KeyEventArgs) Handles txtbukti.KeyDown

Dim TempStok AsInteger Dim TempHarga AsDouble

If e.KeyCode = Keys.Enter Then IfNot txtbukti.Text = ""Then Dim cf AsString

Dim RSCari AsNew ADODB.Recordset

cf = "select * from viewbarangkeluar where nobukti='"& txtbukti.Text &"'"

RSCari.Open(cf, oConn, ADODB.CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockOptimistic) With RSCari

If .RecordCount > 0 Then

Ketemu = True

lv.Enabled = False

cmdtambah.Enabled = False cmdhapus.Enabled = False txtangkut.Text =

(17)

txtpasang.Text = RSCari.Fields(10).Value

txtpotongan.Text = RSCari.Fields(11).Value

.MoveFirst() DoWhileNot .EOF

ListTemp = lv.Items.Add(lv.Items.Count + 1)

With ListTemp

.SubItems.Add(RSCari.Fields(3).Value)

.SubItems.Add(RSCari.Fields(4).Value)

TempStok =

Val(RSCari.Fields(5).Value) + Val(RSCari.Fields(6).Value) .SubItems.Add(TempStok)

.SubItems.Add(RSCari.Fields(5).Value)

.SubItems.Add(RSCari.Fields(6).Value)

.SubItems.Add(RSCari.Fields(7).Value)

TempHarga =

Val(RSCari.Fields(5).Value) * Val(RSCari.Fields(7).Value) .SubItems.Add(TempHarga) EndWith

txtbeli.Text = Val(txtbeli.Text) + TempHarga

.MoveNext() Loop

txttotbayar.Text = Val(txtbeli.Text) + Val(txtpasang.Text) + Val(txtangkut.Text) - Val(txtpotongan.Text)

'MsgBox("No Bukti tersebut sudah terdaftar didalam database", MsgBoxStyle.Information, "Warning") 'txtbukti.Focus()

Else

Call ActiveCMD(False, True, True, True) Call ActiveText(False, True)

DTTanggal.Focus() EndIf

EndWith EndIf EndIf EndSub

PrivateSub cbobarang_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles

(18)

txtstok.Text = GetOneRecord("select

stok,kodebarang from tblbarang where kodebarang='"& Microsoft.VisualBasic.Left(cbobarang.Text, 5) &"'") txtharga.Text = GetOneRecord("select

harga,kodebarang from tblbarang where kodebarang='"& Microsoft.VisualBasic.Left(cbobarang.Text, 5) &"'") EndSub

PrivateSub cmdsimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdsimpan.Click

Dim intloop AsInteger If Ketemu = TrueThen

strSQL = "update tblbantukeluar set

biayaangkut="& Val(txtangkut.Text) &",biayapasang="& Val(txtpasang.Text) &",potongan="& Val(txtpotongan.Text) &" where nobukti='"& txtbukti.Text &"'"

'Eksekusi SQL - simpan ke tabel oConn.Execute(strSQL) Call cmdbatal_Click(sender, e) Else

If lv.Items.Count <> 0 Then 'Simpan Dalam Tabel Masuk

oConn.BeginTrans() For intloop = 0 To lv.Items.Count - 1

strSQL = "Insert Into tblkeluar Values ('"& _

Trim(txtbukti.Text) &"','"& Format(DTTanggal.Value, "yyyy/MM/dd") &"','"& _

Trim(Microsoft.VisualBasic.Left(cbosupplier.Text, 5)) &"','"& Trim(Trim(lv.Items(intloop).SubItems(1).Text)) &"',"& _

Trim(Trim(lv.Items(intloop).SubItems(4).Text)) &","& _

Trim(Trim(lv.Items(intloop).SubItems(5).Text)) &")"

'Eksekusi SQL - simpan ke tabel

oConn.Execute(strSQL) Next

'Commit Trans

oConn.CommitTrans() 'Simpan dalam tabel barang

(19)

strSQL = "update tblbarang set

stok="& Trim(lv.Items(intloop).SubItems(5).Text) &" where kodebarang='"& Trim(lv.Items(intloop).SubItems(1).Text) &"'"

'Eksekusi SQL - simpan ke tabel

oConn.Execute(strSQL) Next

'Commit Trans

oConn.CommitTrans()

'Simpan Dalam Tabel BantuMasuk oConn.BeginTrans()

strSQL = "Insert Into tblbantukeluar Values ('"& _

Trim(txtbukti.Text) &"','"& Format(DTTanggal.Value, "yyyy/MM/dd") &"','"& _

Trim(Microsoft.VisualBasic.Left(cbosupplier.Text, 5)) &"',"& Val(txtangkut.Text) &","& Val(txtpasang.Text) &", "& Val(txtpotongan.Text) &")"

'Eksekusi SQL - simpan ke tabel

oConn.Execute(strSQL) 'Commit Trans

oConn.CommitTrans()

Dim rsCetak AsNew ADODB.Recordset 'Report Recordset Dim cF AsString

'SQL Laporan

cF = "Select * From viewbarangkeluar where nobukti='"& txtbukti.Text &"'"

'cF = "select * from querykredit where nobukti between '" & cboawal.Text & "' and '" & cboakhir.Text & "'"

rsCetak.Open(cF, oConn, ADODB.CursorTypeEnum.adOpenStatic,

ADODB.LockTypeEnum.adLockReadOnly) If rsCetak.RecordCount > 0 Then Dim c AsNew FormRep

Dim rdReport AsNew RepBarangKeluar

rdReport.SetDataSource(rsCetak)

c.CrystalReportViewer1.ReportSource = rdReport

(20)

c.Text = "Kwitansi"

c.Show() EndIf

Call cmdbatal_Click(sender, e) EndIf

EndIf EndSub

PrivateSub txtjumlah_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtjumlah.Leave

If txtjumlah.Text <>""Then

If Val(txtjumlah.Text) > Val(txtstok.Text) Then

MsgBox("Maaf, Stok tidak mencukupi untuk dijual", MsgBoxStyle.Critical, "Kesalahan")

txtjumlah.Focus() Else

txttotal.Text = Val(txtjumlah.Text) * Val(txtharga.Text)

EndIf EndIf EndSub

PrivateSub txtpasang_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtpasang.Leave

txttotbayar.Text = Val(txtbeli.Text) + Val(txtpasang.Text) + Val(txtangkut.Text) - Val(txtpotongan.Text)

EndSub

PrivateSub txtangkut_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtangkut.Leave

txttotbayar.Text = Val(txtbeli.Text) + Val(txtpasang.Text) + Val(txtangkut.Text) - Val(txtpotongan.Text)

EndSub

PrivateSub txtpotongan_Leave(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles txtpotongan.Leave

txttotbayar.Text = Val(txtbeli.Text) + Val(txtpasang.Text) + Val(txtangkut.Text) - Val(txtpotongan.Text)

(21)

5. Form Konfigurasi

PublicClass FormKonfigurasi

Dim sConn AsNew ADODB.Connection

PrivateSub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

End EndSub

PrivateSub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

main("stocknet", txtds.Text, txtuser.Text, txtpass.Text)

Me.Hide()

FormUtama.Show() EndSub

Function cekKoneksi(ByVal ssInitCatalog AsString, ByVal sServer AsString, ByVal sUsername AsString, ByVal

sPassword AsString) AsBoolean

Dim strTestKoneksi AsString = Nothing Try

'oConn.ConnectionString = "Provider=SQLOLEDB;Data Source=(local);Initial Catalog=Jepara;User

ID=sa;Password=darkangel"

strTestKoneksi = "Provider=SQLOLEDB;Data Source="& sServer &";Initial Catalog="& ssInitCatalog &";USER ID="& sUsername &";Password="& sPassword

sConn.ConnectionString = strTestKoneksi sConn.Open()

MsgBox("Test Connection Success....", MsgBoxStyle.Information, "Pesan")

cekKoneksi = True

Button2.Enabled = True Catch ex As Exception

cekKoneksi = False

MsgBox("Please check your connection

setting...", MsgBoxStyle.Exclamation, "Peringatan") EndTry

EndFunction

PrivateSub FormKonfigurasi_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.Load

(22)

EndSub

PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

If cekKoneksi("stocknet", txtds.Text, txtuser.Text, txtpass.Text) Then

Button2.Enabled = True EndIf

EndSub EndClass

6. Form Satuan

PublicClass FormSatuan

Sub ActiveCMD(ByVal L0 AsBoolean, ByVal L1 AsBoolean, ByVal L2 AsBoolean, ByVal L3 AsBoolean, ByVal L4

AsBoolean, ByVal L5 AsBoolean) cmdbaru.Enabled = L0 cmdsimpan.Enabled = L1 cmdedit.Enabled = L2 cmdhapus.Enabled = L3 cmdbatal.Enabled = L4 cmdkeluar.Enabled = L5 EndSub

Sub ActiveText(ByVal L0 AsBoolean, ByVal L1 AsBoolean) txtkode.Enabled = L0

txtnama.Enabled = L1 EndSub

Sub ClearText()

txtkode.Text = ""

txtnama.Text = ""

EndSub

Sub IsiListview() Dim cF AsString

Dim rsTampil AsNew ADODB.Recordset Dim i AsInteger

Me.lv.Items.Clear()

cF = "Select * From tblpembeli"

(23)

.Open(cF, oConn,

ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockReadOnly) If .RecordCount <> 0 Then

.MoveFirst() DoWhileNot .EOF

i = i + 1

ListTemp = lv.Items.Add(i)

ListTemp.SubItems.Add(rsTampil(0).Value)

ListTemp.SubItems.Add(rsTampil(1).Value) .MoveNext()

Loop EndIf EndWith EndSub

PrivateSub cmdkeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdkeluar.Click

Me.Close() EndSub

PrivateSub FormSatuan_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.Load

Call ActiveCMD(True, False, False, False, False, True) Call ActiveText(False, False)

Call IsiListview() EndSub

PrivateSub cmdbatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdbatal.Click

Call ActiveCMD(True, False, False, False, False, True) Call ActiveText(False, False)

Call ClearText() Call IsiListview() EndSub

PrivateSub cmdbaru_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdbaru.Click

Call ActiveText(True, False) txtkode.Focus()

EndSub

PrivateSub txtkode_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtkode.KeyDown

(24)

Dim rsTampil AsNew ADODB.Recordset

cF = "Select * From tblpembeli Where kodepembeli= '"& txtkode.Text &"'"

With rsTampil 'Buka recordset

.Open(cF, oConn, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockReadOnly) 'Jika terdaftar, maka tampilkan If .RecordCount > 0 Then

txtnama.Text = rsTampil(1).Value Call ActiveCMD(False, False, True, True, True, True) Call ActiveText(False, True)

Else

Call ActiveCMD(False, True, False, False, True, True) Call ActiveText(False, True)

EndIf EndWith 'Tutup RS

Call CloseRS(rsTampil)

txtnama.Focus() EndIf

EndIf EndSub

PrivateSub cmdsimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdsimpan.Click

Dim cF AsString

Dim rsTampil AsNew ADODB.Recordset

cF = "insert into tblpembeli values('"& txtkode.Text &"','"& txtnama.Text &"')"

rsTampil.Open(cF, oConn, ADODB.CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockOptimistic) Call cmdbatal_Click(sender, e)

EndSub

PrivateSub cmdedit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdedit.Click

Dim cF AsString

Dim rsTampil AsNew ADODB.Recordset

cF = "update tblpembeli set namapembeli='"&

(25)

rsTampil.Open(cF, oConn, ADODB.CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockOptimistic) Call cmdbatal_Click(sender, e)

EndSub

PrivateSub cmdhapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdhapus.Click

If MsgBox("Apakah record ini mau dihapus?",

MsgBoxStyle.YesNo, "Konfirmasi") = MsgBoxResult.Yes Then Dim cF AsString

Dim rsTampil AsNew ADODB.Recordset

cF = "delete from tblpembeli where kodepembeli='"& txtkode.Text &"'"

rsTampil.Open(cF, oConn, ADODB.CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockOptimistic)

MsgBox("Record berhasil dihapus", MsgBoxStyle.OkOnly, "Informasi")

Call cmdbatal_Click(sender, e) EndIf

EndSub EndClass

7. Form Seleksi Keluar

PublicClass FormSeleksiKeluar

PrivateSub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

Me.Close() EndSub

PrivateSub FormSeleksiKeluar_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)

HandlesMyBase.Load

Call FillCombo("select distinct nobukti from tblbantukeluar", cboawal, False)

Call FillCombo("select distinct nobukti from tblbantukeluar", cboakhir, False)

EndSub

PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

(26)

'SQL Laporan

cF = "Select * From viewbarangkeluar Order By nobukti"

rsCetak.Open(cF, oConn, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockReadOnly) If rsCetak.RecordCount > 0 Then Dim c AsNew FormRep

Dim rdReport AsNew RepBarangKeluar

rdReport.SetDataSource(rsCetak)

c.CrystalReportViewer1.ReportSource = rdReport

rdReport.Refresh()

c.Text = "Laporan Barang Keluar"

c.Show() Else

Call CloseRS(rsCetak)

MsgBox("Tidak ada data untuk dicetak !", vbCritical, "Print")

ExitSub EndIf EndSub

PrivateSub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click

Dim rsCetak AsNew ADODB.Recordset 'Report Recordset Dim cF AsString

'SQL Laporan

cF = "select * from viewbarangkeluar where

tanggalkeluar between '"& Format(dtawal.Value, "yyyy-MM-dd") &"' and '"& Format(dtakhir.Value, "yyyy-MM-dd") &"'"

rsCetak.Open(cF, oConn, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockReadOnly) If rsCetak.RecordCount > 0 Then Dim c AsNew FormRep

Dim rdReport AsNew RepBarangKeluar

rdReport.SetDataSource(rsCetak)

c.CrystalReportViewer1.ReportSource = rdReport

rdReport.Refresh()

c.Text = "Laporan Barang Keluar Per Tanggal"

c.Show() Else

Call CloseRS(rsCetak)

(27)

ExitSub EndIf EndSub

PrivateSub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click

Dim rsCetak AsNew ADODB.Recordset 'Report Recordset Dim cF AsString

'SQL Laporan

cF = "Select * From viewbarangkeluar Order By nobukti"

rsCetak.Open(cF, oConn, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockReadOnly) If rsCetak.RecordCount > 0 Then Dim c AsNew FormRep

Dim rdReport AsNew RepBarangKeluar

rdReport.SetDataSource(rsCetak)

c.CrystalReportViewer1.ReportSource = rdReport

rdReport.Refresh()

c.Text = "Laporan Barang Keluar"

c.Show() Else

Call CloseRS(rsCetak)

MsgBox("Tidak ada data untuk dicetak !", vbCritical, "Print")

ExitSub EndIf EndSub

PrivateSub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Dim rsCetak AsNew ADODB.Recordset 'Report Recordset Dim cF AsString

'SQL Laporan

cF = "Select * From viewbarangkeluar where nobukti between '"& cboawal.Text &"' and '"&

cboakhir.Text &"'"

'cF = "select * from querykredit where nobukti between '" & cboawal.Text & "' and '" & cboakhir.Text & "'"

(28)

Dim rdReport AsNew RepBarangKeluar

rdReport.SetDataSource(rsCetak)

c.CrystalReportViewer1.ReportSource = rdReport

rdReport.Refresh()

c.Text = "Laporan Barang Keluar"

c.Show() Else

Call CloseRS(rsCetak)

MsgBox("Tidak ada data untuk dicetak !", vbCritical, "Print")

ExitSub EndIf EndSub EndClass

8. Form Pembeli

Public Class FormSatuan

Sub ActiveCMD(ByVal L0 As Boolean, ByVal L1 As

Boolean, ByVal L2 As Boolean, ByVal L3 As Boolean, ByVal L4 As Boolean, ByVal L5 As Boolean)

cmdbaru.Enabled = L0 cmdsimpan.Enabled = L1 cmdedit.Enabled = L2 cmdhapus.Enabled = L3 cmdbatal.Enabled = L4 cmdkeluar.Enabled = L5 End Sub

Sub ActiveText(ByVal L0 As Boolean, ByVal L1 As Boolean)

txtkode.Enabled = L0 txtnama.Enabled = L1 End Sub

Sub ClearText()

txtkode.Text = ""

txtnama.Text = ""

End Sub

Sub IsiListview() Dim cF As String

(29)

Me.lv.Items.Clear()

cF = "Select * From tblpembeli"

With rsTampil

'Buka recordset .Open(cF, oConn,

ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockReadOnly) If .RecordCount <> 0 Then .MoveFirst()

Do While Not .EOF i = i + 1

ListTemp = lv.Items.Add(i)

ListTemp.SubItems.Add(rsTampil(0).Value)

ListTemp.SubItems.Add(rsTampil(1).Value) .MoveNext()

Loop End If End With End Sub

Private Sub cmdkeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdkeluar.Click

Me.Close() End Sub

Private Sub FormSatuan_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Call ActiveCMD(True, False, False, False, False, True)

Call ActiveText(False, False) Call IsiListview()

End Sub

Private Sub cmdbatal_Click(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles cmdbatal.Click

Call ActiveCMD(True, False, False, False, False, True)

Call ActiveText(False, False) Call ClearText()

(30)

Private Sub cmdbaru_Click(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles cmdbaru.Click

Call ActiveText(True, False) txtkode.Focus()

End Sub

Private Sub txtkode_KeyDown(ByVal sender As System.Object, ByVal e As

System.Windows.Forms.KeyEventArgs) Handles txtkode.KeyDown

If e.KeyCode = Keys.Enter Then If Not txtkode.Text = "" Then Dim cF As String

Dim rsTampil As New ADODB.Recordset cF = "Select * From tblpembeli Where kodepembeli= '" & txtkode.Text & "'"

With rsTampil

'Buka recordset .Open(cF, oConn, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockReadOnly)

'Jika terdaftar, maka tampilkan If .RecordCount > 0 Then

txtnama.Text = rsTampil(1).Value Call ActiveCMD(False, False, True, True, True, True)

Call ActiveText(False, True) Else

Call ActiveCMD(False, True, False, False, True, True)

Call ActiveText(False, True) End If

End With 'Tutup RS

Call CloseRS(rsTampil) txtnama.Focus()

End If End If End Sub

Private Sub cmdsimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdsimpan.Click

Dim cF As String

(31)

cF = "insert into tblpembeli values('" & txtkode.Text & "','" & txtnama.Text & "')"

rsTampil.Open(cF, oConn, ADODB.CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockOptimistic) Call cmdbatal_Click(sender, e) End Sub

Private Sub cmdedit_Click(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles cmdedit.Click

Dim cF As String

Dim rsTampil As New ADODB.Recordset

cF = "update tblpembeli set namapembeli='" & txtnama.Text & "' where kodepembeli='" & txtkode.Text &

"'"

rsTampil.Open(cF, oConn, ADODB.CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockOptimistic) Call cmdbatal_Click(sender, e) End Sub

Private Sub cmdhapus_Click(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles cmdhapus.Click

If MsgBox("Apakah record ini mau dihapus?",

MsgBoxStyle.YesNo, "Konfirmasi") = MsgBoxResult.Yes Then Dim cF As String

Dim rsTampil As New ADODB.Recordset cF = "delete from tblpembeli where kodepembeli='" & txtkode.Text & "'"

rsTampil.Open(cF, oConn, ADODB.CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockOptimistic)

MsgBox("Record berhasil dihapus", MsgBoxStyle.OkOnly, "Informasi")

Call cmdbatal_Click(sender, e) End If

Referensi

Dokumen terkait

Proses menghitung jarak serta ketinggian sebuah objek digunakan tiga buah sensor ultrasonik, setiap sensor ultrasonik ditempatkan pada sebuah Nylon PT pan / tilt

Hasil penelitian adalah (1) proses pembelajaran pendidikan agama Islam guru mengunakan membuat RPP, menggunakan model pembelajaran, mengelola kelas, dan

Dalam penelitian ini, berbagai organisasi Islam fundamentalis yang tumbuh dan berkembang di Universitas Indonesia dapat dipetakan menjadi tiga tipologi gerakan keagamaan, di

 memfasilitasi peserta didik membuat laporan eksplorasi yang dilakukan baik lisan maupun tertulis, secara individual maupun kelompok;.  memfasilitasi peserta didik untuk menyajikan

Peranan irigasi dalam meningkatkan dan menstabilkan produksi pertanian tidak hanya bersandar pada produktifitas saja tetapi juga pada kemampuannya untuk meningkatkan faktor-faktor

Jika laptop menggunakan shared memori video (bagian dari memori utama yang digunakan untuk keperluan video), mungkin saja bahwamodul RAM rusak. Jalankan

Pra Rencana Pabrik Natrium Sulfat dari Garam (NaCl) dan Asam Sulfat dengan Proses Garam – Asam Sulfat

Laporan Akhir ini disusun berdasarkan apa yang telah kami lakukan pada saat pengerjaan alat simulasi baik dari proses pembuatan, proses pengujian dan perencanaan