Public Class Latihan_39_084
Dim dt As New DataTable
Dim cm As New OleDb.OleDbCommand
Dim Deriel As New ByIskandar.CariKeDataBaseByIskandar
Dim dfa As New OleDb.OleDbConnection("PROVIDER = MICROSOFT.ACE.OLEDB.12.0; DATA SOURCE =" & Application.StartupPath & "/Datamajemuk.ACCDB")
Private Sub Latihan_39_084_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim a As New OleDb.OleDbDataAdapter
a = New OleDb.OleDbDataAdapter("SELECT BARANG.KODEBARANG, BARANG.NAMABARANG, DETAILTRANSAKSI.UNIT, DETAILTRANSAKSI.HARGA, DETAILTRANSAKSI.UNIT*HARGA AS JUMLAH FROM BARANG INNER JOIN DETAILTRANSAKSI ON BARANG.KODEBARANG = DETAILTRANSAKSI.KODEBARANG WHERE NOTRANS = '" & notrans_084.Text & "'", dfa)
a.Fill(dt)
a.Dispose()
Dim dc(1) As DataColumn
dc(0) = dt.Columns("kodebarang")
dt.PrimaryKey = dc
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_084.ShowDialog = Windows.Forms.DialogResult.OK Then
dgv_084.CurrentRow.Cells("KODEBARANG").Value = Latihan_38_39_40_084.dgv_084.CurrentRow.Cells("KODEBARANG").Value
dgv_084.CurrentRow.Cells("NAMABARANG").Value = Latihan_38_39_40_084.dgv_084.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
fitrah()
End If
End Sub
Private Sub fitrah()
Dim fitrah1 As Integer = 0
For Each fitrah2 As DataRow In dt.Rows
fitrah1 += fitrah2("JUMLAH")
Next
tot_084.Text = fitrah1
End Sub
Private Sub d_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles smp_084.Click
If notrans_084.Text.Length = 0 Then
MsgBox("Isi rong itu No Transaksinya")
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
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 = ""
dt.Rows.Clear()
fitrah()
End Sub
End Class
Tidak ada komentar:
Posting Komentar