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
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: contoh aplikasi program penjualan dengan vb.net 2008
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 CetakNota(noFaktur As String) ' Ambil data dari
Imports System.Drawing.Printing Public Class frmNota Private WithEvents pd As New PrintDocument() Private teksNota As String harga FROM barang WHERE kode_barang=@kode"
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