Latihan 39

Public Class Latihan39

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

Private Sub Latihan39_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= '" & NOTRANS070.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
TOTAL070.Text = TOT

End Sub

Private Sub DGV070_CellEndEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DGV070.CellEndEdit
If DGV070.Columns(e.ColumnIndex).Name = "KODEBARANG" Then
'Cari nama barang'
DGV070.CurrentRow.Cells("NAMABARANG").Value = ""
DGV070.CurrentRow.Cells("UNIT").Value = 0
DGV070.CurrentRow.Cells("HARGA").Value = 0
DGV070.CurrentRow.Cells("JUMLAH").Value = 0

Dim Pencari As New ByIskandar.CariKeDataBaseByIskandar
Pencari.AturPencarianDataBase("BARANG", "KODEBARANG", DGV070.CurrentRow.Cells("KODEBARANG").Value, 1, A)
'Menampilkan nama barang jika isi kolom kodebarang ditemukan oleh proses diatas'
If Pencari.JumlanBaris > 0 Then
DGV070.CurrentRow.Cells("NAMABARANG").Value = Pencari.DataTablenya.Rows(0).Item("NAMABARANG")
Else
DGV070.CurrentRow.Cells("KODEBARANG").Value = ""
If Latihan383940.ShowDialog = Windows.Forms.DialogResult.OK Then
DGV070.CurrentRow.Cells("KODEBARANG").Value = Latihan383940017.DGV38.CurrentRow.Cells("KODEBARANG").Value
DGV070.CurrentRow.Cells("NAMABARANG").Value = Latihan383940017.DGV38.CurrentRow.Cells("NAMABARANG").Value
End If
End If

ElseIf DGV070.Columns(e.ColumnIndex).Name = "UNIT" Or DGV070.Columns(e.ColumnIndex).Name = "HARGA" Then
DGV070.CurrentRow.Cells("JUMLAH").Value = DGV070.CurrentRow.Cells("UNIT").Value * DGV070.CurrentRow.Cells("HARGA").Value

TOTALJUMLAH()
End If
End Sub

Private Sub Simpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Simpan070.Click
If NOTRANS070.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

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

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

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

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

NOTRANS070.Text = ""
JT070.Text = ""

dt.Rows.Clear()

End Sub
End Class

Komentar

Postingan populer dari blog ini

Warna Kebaikan