Jumat, 02 Desember 2011

form 40B

Public Class Latihan_40B_084
Dim dfa As New OleDb.OleDbConnection("PROVIDER = MICROSOFT.ACE.OLEDB.12.0; DATA SOURCE =" & Application.StartupPath & "/dataMajemuk.accdb")
Dim dt As New DataTable
Dim Deriel As New ByIskandar.CariKeDataBaseByIskandar
Dim cm As New OleDb.OleDbCommand

Public Sub Deriel2()
Dim a As New OleDb.OleDbDataAdapter
a = New OleDb.OleDbDataAdapter("select barang.KODEBARANG, barang.NAMABARANG, detailtransaksi.UNIT, detailtransaksi.HARGA, detailtransaksi.unit * detailtransaksi.harga as JUMLAH from barang inner join detailtransaksi on barang.kodebarang = detailtransaksi.kodebarang where notrans = '" & notrans_084.Text & "'", dfa)
dt.Rows.Clear()
a.Fill(dt)
End Sub

Public Sub Deriel3()
Dim total As Integer = 0
For Each x As DataRow In dt.Rows
total += x("Jumlah")
Next
tot_084.Text = total
End Sub

Private Sub Deriel4()
If notrans_084.Text.Length = 0 Then
MsgBox("Isi rong itu Notransnya..")
Exit Sub
End If

If jetrans_084.Text.Length = 0 Then
MsgBox("Isi rong itu Jenis Transaksinya..")
Exit Sub
End If

If dt.Rows.Count = 0 Then
MsgBox("Isi rong itu datatable k..")
Exit Sub
End If
End Sub

Private Sub tambah()
Deriel4()
Deriel.AturPencarianDataBase("mastertransaksi", "notrans", notrans_084.Text, 1, dfa)
If Deriel.JumlanBaris > 0 Then
MsgBox("Adami notrans seperti itu..")
Exit Sub
End If

cm = New OleDb.OleDbCommand("insert into mastertransaksi (notrans, tanggaltransaksi, jenistransaksi) values ('" & notrans_084.Text & "',#" & dtp_084.Value.Month & "/" & dtp_084.Value.Day & "/" & dtp_084.Value.Year & "#, '" & jetrans_084.Text & "')", dfa)
dfa.Open()
cm.ExecuteNonQuery()
dfa.Close()

For Each x As DataRow In dt.Rows
cm = New OleDb.OleDbCommand("insert into detailtransaksi (notrans, kodebarang, unit, harga) values ('" & notrans_084.Text & "', '" & x("kodebarang") & "', '" & x("unit") & "', '" & x("harga") & "') ", dfa)
dfa.Open()
cm.ExecuteNonQuery()
dfa.Close()
Next
cm.Dispose()

notrans_084.Text = ""
jetrans_084.Text = ""
tot_084.Text = ""
not_084.Text = "-"

dt.Rows.Clear()
Latihan_40A_084.Deriel1()
End Sub

Public Sub edit()
Deriel4()
If notrans_084.Text <> not_084.Text Then
Deriel.AturPencarianDataBase("mastertransaksi", "notrans", notrans_084.Text, 1, dfa)
If Deriel.JumlanBaris > 0 Then
MsgBox("Adami Notrans seperti itu,,mohon ganti..")
Exit Sub
End If
End If

cm = New OleDb.OleDbCommand("delete * from mastertransaksi where notrans = '" & not_084.Text & "'", dfa)
dfa.Open()
cm.ExecuteNonQuery()
dfa.Close()

cm = New OleDb.OleDbCommand("insert into mastertransaksi(notrans, tanggaltransaksi, jenistransaksi) values ('" & notrans_084.Text & "',#" & dtp_084.Value.Month & "/" & dtp_084.Value.Day & "/" & dtp_084.Value.Year & "#, '" & jetrans_084.Text & "')", dfa)
dfa.Open()
cm.ExecuteNonQuery()
dfa.Close()

cm = New OleDb.OleDbCommand("delete * from detailtransaksi where notrans = '" & not_084.Text & "'", dfa)
dfa.Open()
cm.ExecuteNonQuery()
dfa.Close()

For Each x As DataRow In dt.Rows
cm = New OleDb.OleDbCommand("insert into detailtransaksi(notrans, kodebarang, unit, harga) values ('" & notrans_084.Text & "', '" & x("kodebarang") & "', '" & x("unit") & "', '" & x("harga") & "')", dfa)
dfa.Open()
cm.ExecuteNonQuery()
dfa.Close()
Next
cm.Dispose()

notrans_084.Text = ""
jetrans_084.Text = ""
tot_084.Text = ""
not_084.Text = "-"

dt.Rows.Clear()
Latihan_40A_084.Deriel1()
End Sub

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

Dim dc(1) As DataColumn
dc(0) = dt.Columns("kodebarang")
dt.PrimaryKey = dc

dt.Columns("unit").DefaultValue = 0
dt.Columns("harga").DefaultValue = 0
dt.Columns("jumlah").DefaultValue = 0

dgv_084.DataSource = dt
End Sub

Private Sub dgv_084_CellEndEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgv_084.CellEndEdit
If dgv_084.Columns(e.ColumnIndex).Name = "KODEBARANG" Then
'If dgv.CurrentRow.Cells(0) = "KODEBARANG" Then (rumus lain)

'untuk mencari nama barang
dgv_084.CurrentRow.Cells("NAMABARANG").Value = ""
dgv_084.CurrentRow.Cells("UNIT").Value = 0
dgv_084.CurrentRow.Cells("HARGA").Value = 0
dgv_084.CurrentRow.Cells("JUMLAH").Value = 0

Deriel.AturPencarianDataBase("barang", "kodebarang", dgv_084.CurrentRow.Cells("KODEBARANG").Value, 1, dfa)
If Deriel.JumlanBaris > 0 Then '(menampilkan nama barang jika kolom kode barang ditemukan oleh proses di atas
dgv_084.CurrentRow.Cells("NAMABARANG").Value = Deriel.DataTablenya.Rows(0).Item("NAMABARANG")
Else
dgv_084.CurrentRow.Cells("NAMABARANG").Value = ""
If Latihan_38_39_40_022.ShowDialog = Windows.Forms.DialogResult.OK Then
dgv.CurrentRow.Cells("KODEBARANG").Value = Latihan_38_39_40_022.dgv.CurrentRow.Cells("KODEBARANG").Value
dgv.CurrentRow.Cells("NAMABARANG").Value = Latihan_38_39_40_022.dgv.CurrentRow.Cells("NAMABARANG").Value
End If
End If

ElseIf dgv_084.Columns(e.ColumnIndex).Name = "UNIT" Or dgv_084.Columns(e.ColumnIndex).Name = "HARGA" Then
dgv_084.CurrentRow.Cells("JUMLAH").Value = dgv_084.CurrentRow.Cells("UNIT").Value * dgv_084.CurrentRow.Cells("HARGA").Value
Deriel3()
End If
End Sub

Private Sub smp_084_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles smp_084.Click
If not_084.Text = "-" Then
tambah()
Else
edit()
End If
End Sub

Private Sub dgv_084_DataError(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewDataErrorEventArgs) Handles dgv_084.DataError
MsgBox("Terjadi sedikit kesalahan...")
End Sub
End Class

Tidak ada komentar:

Posting Komentar