Private Sub btnSimpan_Click(sender As Object, e As EventArgs) Handles btnSimpan.Click If txtKode.Text = "" Then MsgBox("Kode barang harus diisi!") Return End If Koneksi() cmd = New OleDbCommand("INSERT INTO barang (kode_barang, nama_barang, harga, stok) VALUES (@kode, @nama, @harga, @stok)", conn) cmd.Parameters.AddWithValue("@kode", txtKode.Text) cmd.Parameters.AddWithValue("@nama", txtNama.Text) cmd.Parameters.AddWithValue("@harga", Val(txtHarga.Text)) cmd.Parameters.AddWithValue("@stok", Val(txtStok.Text)) cmd.ExecuteNonQuery() TutupKoneksi() TampilkanData() MsgBox("Data barang tersimpan") End Sub

Imports System.Data.OleDb Module ModKoneksi Public conn As OleDbConnection Public cmd As OleDbCommand Public da As OleDbDataAdapter Public dt As DataTable Public rd As OleDbDataReader

Sub TampilkanData() Koneksi() da = New OleDbDataAdapter("SELECT * FROM barang", conn) dt = New DataTable() da.Fill(dt) dgvBarang.DataSource = dt TutupKoneksi() End Sub

Sub CetakNota(noFaktur As String) ' Ambil data dari database teksNota = "NOTA PENJUALAN" & vbCrLf & "No Faktur: " & noFaktur & vbCrLf & "==================" ' ... tambahkan detail barang ... PrintPreviewDialog1.Document = pd PrintPreviewDialog1.ShowDialog() End Sub

Imports System.Data.OleDb Public Class frmBarang Private Sub frmBarang_Load(sender As Object, e As EventArgs) Handles MyBase.Load TampilkanData() End Sub

' Simpan detail For Each row As DataRow In dtDetail.Rows cmd = New OleDbCommand("INSERT INTO detail_penjualan (no_faktur, kode_barang, qty, subtotal) VALUES (@faktur, @kode, @qty, @sub)", conn, trans) cmd.Parameters.AddWithValue("@faktur", txtNoFaktur.Text) cmd.Parameters.AddWithValue("@kode", row("kode_barang")) cmd.Parameters.AddWithValue("@qty", row("qty")) cmd.Parameters.AddWithValue("@sub", row("subtotal")) cmd.ExecuteNonQuery()

Private Sub txtKodeBarang_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtKodeBarang.KeyPress If e.KeyChar = Chr(13) Then Koneksi() cmd = New OleDbCommand("SELECT nama_barang, harga FROM barang WHERE kode_barang=@kode", conn) cmd.Parameters.AddWithValue("@kode", txtKodeBarang.Text) rd = cmd.ExecuteReader() If rd.Read() Then txtNamaBarang.Text = rd("nama_barang").ToString() txtHarga.Text = rd("harga").ToString() Else MsgBox("Barang tidak ditemukan") End If rd.Close() TutupKoneksi() txtQty.Focus() End If End Sub