Latihan 37

Public Class Latihan37

Dim A As New OleDb.OleDbConnection("Provider=microsoft.ACE.OLEDB.12.0;data source=" & Application.StartupPath & "\DATAMAJEMUK.accdb")
Dim dt As New DataTable
Dim dr As DataRow

Private Sub Latihan37_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim X As New OleDb.OleDbDataAdapter
X = New OleDb.OleDbDataAdapter("Select BARANG.KODEBARANG, BARANG.NAMABARANG, DETAILTRANSAKSI.UNIT, DETAILTRANSAKSI.HARGA, DETAILTRANSAKSI.UNIT*DETAILTRANSAKSI.HARGA AS JUMLAH from DETAILTRANSAKSI INNER JOIN BARANG ON DETAILTRANSAKSI.KODEBARANG=BARANG.KODEBARANG WHERE NOTRANS= '" & nt070.Text & "'", A)
X.Fill(dt)
X.Dispose()

Dim dataPrimary(1) As DataColumn
dataPrimary(0) = dt.Columns("KODEBARANG")
dt.PrimaryKey = dataPrimary

dgv070.DataSource = dt
End Sub

Private Sub TOTALJUMLAH()
Dim TOT As Double = 0
For Each x As DataRow In dt.Rows
TOT = TOT + x("JUMLAH")
Next
tot070.Text = TOT
End Sub

Private Sub KB_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles kb070.Leave
If kb070.Text.Length = 0 Then
Exit Sub
End If

Dim Pencari As New ByIskandar.CariKeDataBaseByIskandar
Pencari.AturPencarianDataBase("BARANG", "KODEBARANG", kb070.Text, 1, A)
If Pencari.JumlanBaris > 0 Then
kb070.Text = Pencari.DataTablenya.Rows(0).Item("KODEBARANG")
nb070.Text = Pencari.DataTablenya.Rows(0).Item("NAMABARANG")
Else
MsgBox("Kode barang tersebut tidak ada")
Exit Sub
End If
End Sub

Private Sub KB_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles kb070.TextChanged
nb070.Text = ""
u070.Text = ""
hb070.Text = ""
End Sub

Private Sub UNIT_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles u070.TextChanged, hb070.TextChanged
jum070.Text = Val(u070.Text) * Val(hb070.Text)
End Sub

Private Sub Tambah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tambah.Click
'a'
If kb070.Text.Length = 0 Then
MsgBox("Kode barang sudah ada")
Exit Sub
End If

If nb070.Text.Length = 0 Then
MsgBox("Nama barang sudah ada")
End If

If Val(u070.Text) = 0 Then
MsgBox("Masukkan unit barang")
Exit Sub
End If

If Val(hb070.Text) = 0 Then
MsgBox("Masukkan harga barang barang")
Exit Sub
End If

'b'
dr = dt.Rows.Find(kb070.Text)

If dr Is Nothing Then
dr = dt.NewRow
dr("KODEBARANG") = kb070.Text
Else
MsgBox("Maaf kodebarang sudah ada")
Exit Sub
End If

'c'
dr = dt.NewRow
dr("KODEBARANG") = kb070.Text
dr("NAMABARANG") = nb070.Text
dr("UNIT") = u070.Text
dr("HARGA") = hb070.Text
dr("JUMLAH") = jum070.Text

dt.Rows.Add(dr)

'd'
kb070.Text = ""
nb070.Text = ""
u070.Text = ""
hb070.Text = ""

'e'
TOTALJUMLAH()
End Sub

Private Sub Simpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Simpan.Click
'a'
If nt070.Text.Length = 0 Then
MsgBox("No. transaksi sudah ada")
Exit Sub
End If

If jt070.Text.Length = 0 Then
MsgBox("Jenis transaksi sudah ada")
Exit Sub
End If

'b'
If dt.Rows.Count = 0 Then
MsgBox("Jumlah baris tidak terisi")
Exit Sub
End If

'c'
Dim pencari As New ByIskandar.CariKeDataBaseByIskandar
pencari.AturPencarianDataBase("MASTERTRANSAKSI", "NOTRANS", nt070.Text, 1, A)
If pencari.JumlanBaris > 0 Then
MsgBox("data tersebut sudah ada")
Exit Sub
End If

'd'
Dim CM As New OleDb.OleDbCommand
CM = New OleDb.OleDbCommand("INSERT INTO MASTERTRANSAKSI (NOTRANS, TANGGALTRANSAKSI, JENISTRANSAKSI) VALUES ('" & nt070.Text & "', #" & dtp.Value.Month & "/" & dtp.Value.Day & "/" & dtp.Value.Year & "#, '" & jt070.Text & "')", A)
A.Open()
CM.ExecuteNonQuery()
A.Close()

'e'
For Each X As DataRow In dt.Rows
CM = New OleDb.OleDbCommand("INSERT INTO DETAILTRANSAKSI (NOTRANS, KODEBARANG, UNIT, HARGA) VALUES ('" & nt070.Text & "','" & X("KODEBARANG") & "'," & X("UNIT") & ", " & X("HARGA") & ")", A)
A.Open()
CM.ExecuteNonQuery()
A.Close()
CM.Dispose()
Next

'f'
nt070.Text = ""
jt070.Text = ""
jum070.Text = ""
'g'
dt.Rows.Clear()

'h'
TOTALJUMLAH()
End Sub
End Class

Komentar

Postingan populer dari blog ini

Latihan 39

Warna Kebaikan