Contoh Aplikasi Program Penjualan Dengan — Vb.net 2008

Private Sub pd_PrintPage(sender As Object, e As PrintPageEventArgs) Handles pd.PrintPage e.Graphics.DrawString(teksNota, New Font("Arial", 12), Brushes.Black, 100, 100) End Sub End Class Cara termudah tanpa Crystal Reports: Buat form frmLaporan.vb dengan DateTimePicker dari tanggal sampai tanggal, lalu tampilkan di DataGridView:

dtDetail.Rows.Add(txtKodeBarang.Text, txtNamaBarang.Text, harga, qty, subtotal) total += subtotal lblTotal.Text = Format(total, "C2") txtKodeBarang.Clear() txtNamaBarang.Clear() txtHarga.Clear() txtQty.Clear() End Sub

Imports System.Drawing.Printing Public Class frmNota Private WithEvents pd As New PrintDocument() Private teksNota As String contoh aplikasi program penjualan dengan vb.net 2008

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

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

Private Sub btnTambahItem_Click(sender As Object, e As EventArgs) Handles btnTambahItem.Click Dim harga As Double = Val(txtHarga.Text) Dim qty As Integer = Val(txtQty.Text) Dim subtotal As Double = harga * qty

Public Sub Koneksi() conn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\db_penjualan.mdb") If conn.State = ConnectionState.Closed Then conn.Open() End If End Sub GetType(Double)) dgvDetail.DataSource = dtDetail

' Kurangi stok cmd = New OleDbCommand("UPDATE barang SET stok = stok - @qty WHERE kode_barang = @kode", conn, trans) cmd.Parameters.AddWithValue("@qty", row("qty")) cmd.Parameters.AddWithValue("@kode", row("kode_barang")) cmd.ExecuteNonQuery() Next trans.Commit() MsgBox("Transaksi berhasil disimpan") dtDetail.Clear() total = 0 lblTotal.Text = "0" Catch ex As Exception trans.Rollback() MsgBox("Error: " & ex.Message) End Try TutupKoneksi() End Sub End Class Gunakan PrintDocument dan PrintPreviewDialog . Contoh sederhana untuk mencetak teks nota:

Public Class frmTransaksi Dim total As Double = 0 Dim dtDetail As New DataTable() Private Sub frmTransaksi_Load(sender As Object, e As EventArgs) Handles MyBase.Load ' Setup DataTable untuk detail dtDetail.Columns.Add("kode_barang") dtDetail.Columns.Add("nama_barang") dtDetail.Columns.Add("harga", GetType(Double)) dtDetail.Columns.Add("qty", GetType(Integer)) dtDetail.Columns.Add("subtotal", GetType(Double)) dgvDetail.DataSource = dtDetail