Sunteți pe pagina 1din 4

Imports System.Data.

OleDb
Public Class Form1
'tabel penjualan
Private xkoneksi As New OleDbConnection
Private padapter As New OleDbDataAdapter
Private pcommand As New OleDbCommand
Private preader As OleDbDataReader
Private pdataset As New DataSet
'tabel barang
Private badapter As New OleDbDataAdapter
Private bcommand As New OleDbCommand
Private breader As OleDbDataReader
Private bdataset As New DataSet
'tabel detail_penjualan
Private dadapter As New OleDbDataAdapter
Private dcommand As New OleDbCommand
Private dreader As OleDbDataReader
Private ddataset As New DataSet
Dim x As Object
Sub getno()
With pcommand
.Connection = xkoneksi
.CommandText = "select notrans from jual order by notrans desc "
End With
x = pcommand.ExecuteScalar 'data1
If IsDBNull(x) Then
x = 0
End If
'preader = pcommand.executereader
'data banyak...
'while preader.read
'
x = preader ("no trans")
'end while
'preader.close()
If x < 10 Then
No = "000" & x + 1
ElseIf x < 1000 Then
No = "0" & x + 1
Else
No = x + 1
End If
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.Even
tArgs) Handles MyBase.Load
'TODO: This line of code loads data into the 'JualDataSet1.detail_penjua
lan' table. You can move, or remove it, as needed.
Me.Detail_penjualanTableAdapter.Fill(Me.JualDataSet1.detail_penjualan)
Dim skr As Date = Date.Now
txttgl.text = skr
'xkoneksi.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Sou
rce="C:\Users\HAIDAR\Documents\Visual Studio 2010\Projects\barang\jual.accdb"
xkoneksi.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Sour
ce=|DataDirectory|\jual.accdb"
xkoneksi.Open()
getno()
'MsgBox (x)
'txtnotrans.Text = x + 1

txtnotrans.Text = no.Text
End Sub
Private Sub txtkode_brg_KeyPress(ByVal sender As Object, ByVal e As System.W
indows.Forms.KeyPressEventArgs) Handles txtkode_brg.KeyPress
If e.KeyChar = Chr(13) Then
bcommand.Connection = xkoneksi
bcommand.CommandText = "select * from barang where kode_brg'" & txtk
ode_brg.Text & "'"
bcommand.CommandType = CommandType.Text
breader = bcommand.ExecuteReader
If breader.HasRows Then
breader.Read()
txtnama_brg.Text = breader("nama_brg")
txths.Text = breader("harga_sat")
txtjumlah.Focus()
Else
MsgBox("data tidak ada")
End If
breader.Close()
End If
End Sub
Function getstok(ByVal kode As String) As Integer
bcommand = New OleDbCommand("select stok from barang where kode_brg'" &
kode & "'", xkoneksi)
Dim hasil As Integer = bcommand.ExecuteScalar
Return hasil
End Function
Dim jum As Integer = 0
Private Sub txtjumlah_KeyUp(ByVal sender As Object, ByVal e As System.Window
s.Forms.KeyEventArgs) Handles txtjumlah.KeyUp
If e.KeyCode = Keys.Enter Then
txttotal.Text = Val(txths.Text) *
Val(txtjumlah.Text)
'if getstok (txtkode_brg.text) - jum < 0 then
'e.handled = true
'if getstok (txtkode_brg.text) = 0 then
' msgbox("stok habis")
' txtjumlah.text = 0
'else
' msgbox ("stok kurang.max" & getstok (txtkode_brg.txt))
' txtjumlah.text = getstok (txtkode_brg.text)
'end if
'else
'e.handled = false
'end if
'txttotal.text = val (txths.text) *val (txtjumlah.text)
'else
' if txtjumlah.text <> "" then
'
jum = cint (txtjumlah.text)
' else
'
jum = 0
' end if
'end if
End If
End Sub
Dim tot As Integer
Private Sub btsimpan_Click(ByVal sender As System.Object, ByVal e As System.
EventArgs) Handles btsimpan.Click

If Trim(txtkode_brg.Text) <> "" And


Trim(txtjumlah.Text) <> "" And
txtjumlah.Text >= 1 Then
Dim jumbrg As Integer = 0
For i As Integer = 0 To dg1.rows.count - 1
If dg1.Item(0, i).Value = txtkode_brg.Text Then
jumbrg = dg1.Item(3, i).Value
Exit For
End If
Next
If jumbrg + txtjumlah.Text > getstok(txtkode_brg.Text) Then
MsgBox("maaf stok tidak cukup. tinggal " & getstok(txtkode_brg.T
ext) - jumbrg & "")
Exit Sub
End If
Dim ada As Boolean = False
Dim idx As Integer
For idx = 0 To dg1.rows.count - 1
If txtkode_brg.Text = dg1.item(0, idx).value Then
ada = True
Exit For
End If
Next
If ada = True Then
dg1.item(3, idx).value = CInt(dg1.item(3, idx).value) + CInt(txt
jumlah.Text)
dg1.item(4, idx).value = dg1.item(2, idx).value * dg1.item(3, id
x).value
'msgbox ("barang sudah dipesan")
Else
dg1.rows.add()
dg1.item(0, dg1.rows.count
dg1.item(1, dg1.rows.count
dg1.item(2, dg1.rows.count
dg1.item(3, dg1.rows.count
dg1.item(4, dg1.rows.count
End If
tot = tot + txttotal.Text
txtgrand.text = tot

1).value
1).value
1).value
1).value
1).value

=
=
=
=
=

txtkode_brg.Text
txtnama_brg.Text
txths.Text
txtjumlah.Text
txttotal.Text

Else
MsgBox("kode dan jumlah tidak boleh kosong atau jumlah pembelian min
.1")
End If
End Sub
Private Sub btmasuk_Click(ByVal sender As System.Object, ByVal e As System.E
ventArgs) Handles btmasuk.Click
pcommand = New OleDbCommand("insert into jual values('" & Replace(txtnot
rans.Text, "'", "''") & "','" & Now.Date & "','" & txtgrand.text & "')", xkoneks
i)
pcommand.ExecuteNonQuery()
For i As Integer = 0 To dg1.rows.count - 1
pcommand = New OleDbCommand("insert into detail_penjualan values('"
& txtnotrans.Text & "','" & dg1.item(0, i).value & "','" & dg1.item(2, i).value
& "','" & dg1.item(3, i).value & "','" & dg1.item(4, i).value & "')", xkoneksi)
pcommand.ExecuteNonQuery()
pcommand = New OleDbCommand("update barang set stok=stok-" & dg1.ite
m(3, i).value & "where kode_brg='" & dg1.item(0, i).value & "'", xkoneksi)

pcommand.ExecuteNonQuery()
Next
dg1.rows.clear()
getno()
'txtnotrans.text=x+1
txtnotrans.Text = No
tot = 0
txtgrand.text = 0
End Sub
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As S
ystem.EventArgs) Handles no.TextChanged
End Sub
End Class

S-ar putea să vă placă și