Public Class LATIHAN_040B_36109075
Dim BALON As New OleDb.OleDbConnection("Provider=microsoft.ACE.OLEDB.12.0;datasource=" & Application.StartupPath & "\DataMajemuk.accdb")
Dim CIKY As New DataTable
Public Sub PUTRY()
Dim Z As New OleDb.OleDbDataAdapter
Z = 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= '" & nt075.Text & "'", BALON)
CIKY.Rows.Clear()
Z.Fill(CIKY)
End Sub
Private Sub LATIHAN_040B_36109075_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim dataPrimary(1) As DataColumn
dataPrimary(0) = CIKY.Columns("NOTRANS")
CIKY.PrimaryKey = dataPrimary
DGV075.DataSource = CIKY
TOTALJUMLAH()
End Sub
Public Sub TOTALJUMLAH()
Dim TOT As Double = 0
For Each x As DataRow In CIKY.Rows
TOT = TOT + x("JUMLAH")
Next
tot075.Text = TOT
End Sub
Private Sub DGV075_CellEndEdit(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DGV075.CellEndEdit
If DGV075.Columns(e.ColumnIndex).Name = "KODEBARANG" Then
'Cari nama barang'
DGV075.CurrentRow.Cells("NAMABARANG").Value = ""
DGV075.CurrentRow.Cells("UNIT").Value = 0
DGV075.CurrentRow.Cells("HARGA").Value = 0
DGV075.CurrentRow.Cells("JUMLAH").Value = 0
Dim Pencari As New ByIskandar.CariKeDataBaseByIskandar
Pencari.AturPencarianDataBase("BARANG", "KODEBARANG", DGV075.CurrentRow.Cells("KODEBARANG").Value, 1, BALON)
'Menampilkan nama barang jika isi kolom kodebarang ditemukan oleh proses diatas'
If Pencari.JumlanBaris > 0 Then
DGV075.CurrentRow.Cells("NAMABARANG").Value = Pencari.DataTablenya.Rows(0).Item("NAMABARANG")
Else
DGV075.CurrentRow.Cells("KODEBARANG").Value = ""
If LATIHAN_383940_075.ShowDialog = Windows.Forms.DialogResult.OK Then
DGV075.CurrentRow.Cells("KODEBARANG").Value = LATIHAN_383940_075.DGV38_075.CurrentRow.Cells("KODEBARANG").Value
DGV075.CurrentRow.Cells("NAMABARANG").Value = LATIHAN_383940_075.DGV38_075.CurrentRow.Cells("NAMABARANG").Value
End If
End If
ElseIf DGV075.Columns(e.ColumnIndex).Name = "UNIT" Or DGV075.Columns(e.ColumnIndex).Name = "HARGA" Then
'Hitung kolom jumlah'
DGV075.CurrentRow.Cells("JUMLAH").Value = DGV075.CurrentRow.Cells("JUMLAH").Value = DGV075.CurrentRow.Cells("UNIT").Value * DGV075.CurrentRow.Cells("HARGA").Value
End If
TOTALJUMLAH()
End Sub
Private Sub simpan_tambah()
If nt075.Text.Length = 0 Then
MsgBox("Maaf, Nomor transaksi harus diisi dulu")
Exit Sub
End If
If jt075.Text.Length = 0 Then
MsgBox("Maaf, Jenis transaksi harus diisi dulu")
Exit Sub
End If
If CIKY.Rows.Count() = 0 Then
MsgBox("Maaf, Proses tidak dapat dilanjutkan")
Exit Sub
End If
If NO_075.Text <> nt075.Text Then
Dim pencari As New ByIskandar.CariKeDataBaseByIskandar
pencari.AturPencarianDataBase("MASTERTRANSAKSI", "NOTRANS", nt075.Text, 1, BALON)
If pencari.JumlanBaris > 0 Then
MsgBox("Nomor transaksi sudah ada")
Exit Sub
End If
End If
Dim CM As New OleDb.OleDbCommand
CM = New OleDb.OleDbCommand("INSERT INTO MASTERTRANSAKSI(NOTRANS, TANGGALTRANSAKSI, JENISTRANSAKSI) VALUES ('" & nt075.Text & "', #" & DTP075.Value.Month & "/" & DTP075.Value.Day & "/" & DTP075.Value.Year & "#, '" & jt075.Text & "')", BALON)
'Membuka koneksi'
BALON.Open()
'Eksekusi prose penyimpanan'
CM.ExecuteNonQuery()
'Menutup koneksi'
BALON.Close()
'Memeriksa isi jumlah baris dalam object tabel'
For Each X As DataRow In CIKY.Rows
'Mengatur perintah simpan'
CM = New OleDb.OleDbCommand("INSERT INTO DETAILTRANSAKSI (NOTRANS, KODEBARANG, UNIT, HARGA) VALUES ('" & nt075.Text & "', '" & X("KODEBARANG") & "'," & X("UNIT") & ", " & X("HARGA") & ")", BALON)
BALON.Open()
CM.ExecuteNonQuery()
BALON.Close()
CM.Dispose()
Next
NO_075.Text = "-"
nt075.Text = ""
jt075.Text = ""
CIKY.Rows.Clear()
TOTALJUMLAH()
'Prosedur mengambil data dari LATIHAN_040A_36109075'
LATIHAN_040A_36109075.ina()
End Sub
Private Sub simpan_edit()
If nt075.Text.Length = 0 Then
MsgBox("Maaf, Nomor transaksi harus diisi dulu")
Exit Sub
End If
If jt075.Text.Length = 0 Then
MsgBox("Maaf, Jenis transaksi harus diisi dulu")
Exit Sub
End If
If CIKY.Rows.Count() = 0 Then
MsgBox("Maaf, Proses tidak dapat dilanjutkan")
Exit Sub
End If
If NO_075.Text <> nt075.Text Then
Dim pencari As New ByIskandar.CariKeDataBaseByIskandar
pencari.AturPencarianDataBase("MASTERTRANSAKSI", "NOTRANS", nt075.Text, 1, BALON)
If pencari.JumlanBaris > 0 Then
MsgBox("Nomor transaksi sudah ada")
Exit Sub
End If
End If
Dim CM As New OleDb.OleDbCommand
CM = New OleDb.OleDbCommand("DELETE * FROM MASTERTRANSAKSI WHERE NOTRANS= '" & nt075.Text & "'", BALON)
BALON.Open()
CM.ExecuteNonQuery()
BALON.Close()
CM = New OleDb.OleDbCommand("INSERT INTO MASTERTRANSAKSI (NOTRANS, TANGGALTRANSAKSI, JENISTRANSAKSI) VALUES ('" & nt075.Text & "', #" & DTP075.Value.Month & "/" & DTP075.Value.Day & "/" & DTP075.Value.Year & "#, '" & jt075.Text & "')", BALON)
BALON.Open()
CM.ExecuteNonQuery()
BALON.Close()
CM = New OleDb.OleDbCommand("DELETE * FROM DETAILTRANSAKSI WHERE NOTRANS= '" & nt075.Text & "'", BALON)
BALON.Open()
CM.ExecuteNonQuery()
BALON.Close()
'Memeriksa isi jumlah baris dalam object tabel'
For Each XX As DataRow In CIKY.Rows
'Mengatur perintah simpan'
CM = New OleDb.OleDbCommand("INSERT INTO DETAILTRANSAKSI (NOTRANS, KODEBARANG, UNIT, HARGA) VALUES ('" & nt075.Text & "', '" & XX("KODEBARANG") & "', " & XX("UNIT") & ", " & XX("HARGA") & ")", BALON)
BALON.Open()
CM.ExecuteNonQuery()
BALON.Close()
CM.Dispose()
Next
NO_075.Text = "-"
nt075.Text = ""
jt075.Text = ""
CIKY.Rows.Clear()
TOTALJUMLAH()
LATIHAN_040A_36109075.ina()
End Sub
Private Sub simpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles simpan.Click
If NO_075.Text = "-" Then
simpan_tambah()
Else
simpan_edit()
End If
End Sub
End Class
Tidak ada komentar:
Posting Komentar