input transaksi penjualan
TRANSCRIPT
Database Client Server Manajemen Informatika (POLMED)
Dosen : Ismael, M.Kom
MEMBUAT FORM TRANSAKSI PENJUALAN
1. Untuk membuat form Transaksi Penjualan tambahkan 1 form kedalam project , kemudian
masukan beberapa objek seperti berikut
2. Aturlah propertis masing masing objek seperti berikut
Nama Obejek Propertis Isi
Form1
label1
label2
label3
label4
label5
label6
label7
label8
label9
label10
label11
Name
Text
Text
Font Size
name
Text
Font Size
Text
Text
Text
Font Size
Text
ForeColor
Text
ForeColor
Text
ForeColor
Text
Font Size
Name
Font Size
Name
Font Size
FrmPenjualan
Transaksi Penjualan
Total Belanja Rp.
18
lblTotBelanja
0
18
No Transaksi
Tanggal
Di Bayar
18
F2 : Transaksi Baru
Red
F2 : Cari Barang
Red
F3 : Pembayaran
Red
Bayar Rp.
18
Kembali Rp.
18
lblBayar
18
Database Client Server Manajemen Informatika (POLMED)
Dosen : Ismael, M.Kom
label12
TextBox1
DateTimePicker
TextBox3
TextBox4
TextBox5
TextBox6
TextBox7
TextBox8
TextBox9
TextBox10
TextBox11
GroupBox1
GroupBox2
button1
button2
ListView1
ListView2
Name
Font Size
Name
Name
Format
CustomFormat
Name
Name
Name
Name
Name
Name
Name
Name
Name
Name
Name
Text
Name
Text
Name
Name
GridLines
View
Name
GridLines
View
lblKembali
18
txtNoTransaksi
TglTransaksi
Custom
dd/MM/yyyy
txtCariNmBrg
txtDiBayar
txtKdBarang
txtNamaBarang
txtHarga
txtNmBarang
txtSatuan
txtDiscount
txtQty
gbBarang
gbBayar
btnBaru
&Baru
btnTutup
&Tutup
Lv
True
Detail
LvBarang
True
Detail
3. Klik kanan pada ListView1 (Lv) EditColums, akan tampil seperti gambar berikut
Database Client Server Manajemen Informatika (POLMED)
Dosen : Ismael, M.Kom
Klik Tombol Add, Kemudian pad propertisnya masukan seperti tabel berikut :
Member Propertis Isi
ColumnHeader1
ColumnHeader2
ColumnHeader3
ColumnHeader4
ColumnHeader5
ColumnHeader6
Text
Width
Text
Width
Text
Width
Text
Width
Text
Width
Text
Width
KODE BARANG
170
NAMA BARANG
525
HARGA
150
DISCOUNT
140
QTY
60
JUMLAH
60
Sehingga menjadi seperti berikut:
Jika sudah diganti semua klik tombol OK
4. Lakukan seperti langkah 3 untuk ListView2 (LvBarang), masukan pada propertisnya
seperti tabel berikut:
Member Propertis Isi
ColumnHeader6
ColumnHeader7
Text
Width
Text
Width
KODE BARANG
150
NAMA BARANG
300
5. Langkah berikutnya menulis kode program yang diperlukan, Klik 2x Pada Form
kemudian masukan Kode berikut pada private sub FrmPenjualan_Load(……) :
Database Client Server Manajemen Informatika (POLMED)
Dosen : Ismael, M.Kom
6. Deklarasikan beberapa variabel dibawan Public Class FrmPenjualan, seperti berikut
7. Buat method / prosedure dengan Nama aktifText kemudian tuliskan coding berikut
didalamnya.
8. Buat sebuah method / prosedure dengan Nama simpanNoTransaksi, kemudian tuliskan
coding berikut didalamnya.
TxtTglTransaksi.Value = Date.Now AktifText(False) gbBarang.Visible = False gbBayar.Visible = False
Dim stok As Integer Dim jumlah, total As Long Dim tanggal As String Dim dibayar, kembali As Long
Private Sub AktifText(ByVal param As Boolean) For Each obj In Controls If Microsoft.VisualBasic.Left(obj.Name, 3) = "txt" Then obj.Enabled = param obj.Text = "" End If Next Lv.Items.Clear() total = 0 dibayar = 0 kembali = 0 lblTotBelanja.Text = 0 lblKembali.Text = 0 lblBayar.Text = 0 End Sub
Database Client Server Manajemen Informatika (POLMED)
Dosen : Ismael, M.Kom
9. Buat sebuah method / prosedure dengan Nama TampilBarang, kemudian tuliskan coding
berikut didalamnya.
10. Buat method / prosedure dengan Nama BacaNoFaktur kemudian tuliskan coding berikut
didalamnya.
Private Sub simpanNoTransaksi() con = New SqlClient.SqlConnection(MdlMarket.cnString) Try con.Open() strSQL = "insert into tjual values(" & txtNoTransaksi.Text & ",'" & Microsoft.VisualBasic.Format(TxtTglTransaksi.Value, "MM/dd/yyyy") & "',0)" cmd = New SqlClient.SqlCommand(strSQL, con) cmd.ExecuteScalar() con.Close() con = Nothing Catch ex As Exception MessageBox.Show("Database tidak bisa dibuka:" & ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Information) End Try End Sub
Private Sub TampilBarang() Dim lSingleItem As New ListViewItem() LvBarang.Items.Clear() strSQL = "select * from tBarang where nmbarang like'%" & txtCariNmBrg.Text & "%'" con = New SqlClient.SqlConnection(MdlMarket.cnString) Try con.Open() cmd = New SqlClient.SqlCommand(strSQL, con) cmd.CommandText = strSQL rs = cmd.ExecuteReader() While rs.Read lSingleItem = LvBarang.Items.Add(rs(0)) lSingleItem.SubItems.Add(rs(1)) End While con.Close() con = Nothing Catch eX As Exception MessageBox.Show("Database tidak bisa dibuka:" & eX.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Information) End Try End Sub
Database Client Server Manajemen Informatika (POLMED)
Dosen : Ismael, M.Kom
11. Buat method / prosedure dengan Nama UpdateTransaksi kemudian tuliskan coding
berikut didalamnya.
12. Buat method / prosedure dengan Nama simpanTransaksi kemudian tuliskan coding
berikut didalamnya.
Private Sub BacaNoFaktur() strSQL = "SELECT max(nojual) from tjual" con = New SqlClient.SqlConnection(MdlMarket.cnString) Try con.Open() cmd = New SqlClient.SqlCommand(strSQL, con) cmd.CommandText = strSQL rs = cmd.ExecuteReader() If rs.Read Then txtNoTransaksi.Text = Format(rs(0) + 1, "0000000") End If con.Close() con = Nothing Catch ex As Exception MessageBox.Show("Database tidak bisa dibuka:" & ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Information) End Try End Sub
Private Sub UpdateTransaksi() con = New SqlClient.SqlConnection(MdlMarket.cnString) Try con.Open() 'simpan ke tabel tbmasuk strSQL = "UPDATE tjual SET total=" & total & " where nojual=" & txtNoTransaksi.Text & "" cmd = New SqlClient.SqlCommand(strSQL, con) cmd.ExecuteScalar() con.Close() con = Nothing Catch ex As Exception MessageBox.Show("Database tidak bisa dibuka:" & ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Information) End Try End Sub
Database Client Server Manajemen Informatika (POLMED)
Dosen : Ismael, M.Kom
13. Klik 2x pada Button Baru, Masukan Kode Berikut didalam Private Sub btnBaru_Click:
14. Klik 2x pada txtKdBarang, kemudian ganti eventnya menjadi KeyDown, masukan kode
berikut didalamnya, sehingga seperti berikut :
Private Sub simpanTransaksi() con = New SqlClient.SqlConnection(MdlMarket.cnString) Try con.Open() strSQL = "INSERT INTO tjualdetail values(" & txtNoTransaksi.Text & ",'" & txtKdBarang.Text & "'," & txtHarga.Text & "," & txtQty.Text & ")" cmd = New SqlClient.SqlCommand(strSQL, con) cmd.ExecuteScalar() 'updata tabel barang strSQL = "UPDATE tbarang SET stok=stok - " & txtQty.Text & " WHERE kdbarang='" & txtKdBarang.Text & "'" cmd = New SqlClient.SqlCommand(strSQL, con) con.Close() con = Nothing Catch eX As Exception MessageBox.Show("Database tidak bisa dibuka:" & eX.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Information) End Try End Sub
txtKdBarang.Enabled = True txtKdBarang.Focus() BacaNoFaktur() 'simpan nomor transaksi yang baru simpanNoTransaksi()
Database Client Server Manajemen Informatika (POLMED)
Dosen : Ismael, M.Kom
15. Klik 2x pada txtKdBarang, kemudian ganti eventnya menjadi KeyPress, masukan kode
berikut didalamnya, sehingga seperti berikut :
Private Sub txtKdBarang_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtKdBarang.KeyDown Try Select Case e.KeyCode Case 113 'F2 ' Baru AktifText(False) AktifText(True) BacaNoFaktur()
simpanNoTransaksi() txtKdBarang.Focus() Case 114 'F3 cari barang LvBarang.Items.Clear() gbBarang.Visible = True txtCariNmBrg.Text = "" txtCariNmBrg.Focus() Case 115 'F4 ' pembayaran gbBayar.Visible = True txtDiBayar.Focus() Case 115 'F5 'keluar Me.Close() End Select Catch ex As Exception MessageBox.Show("Ada Kesalahan Pada :" & ex.Message, "Pesan", MessageBoxButtons.OK, MessageBoxIcon.Information) End Try End Sub
Database Client Server Manajemen Informatika (POLMED)
Dosen : Ismael, M.Kom
16. Klik 2x pada txtQty, kemudian ganti eventnya menjadi KeyPress, masukan kode berikut
didalamnya, sehingga seperti berikut :
Private Sub txtKdBarang_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtKdBarang.KeyPress If e.KeyChar = Chr(13) Then If txtKdBarang.Text = "" Then txtKdBarang.Focus() Else strSQL = "select * from tBarang where kdbarang='" & txtKdBarang.Text & "'" con = New SqlClient.SqlConnection(MdlMarket.cnString) Try con.Open() cmd = New SqlClient.SqlCommand(strSQL, con) cmd.CommandText = strSQL rs = cmd.ExecuteReader() If rs.Read Then txtNamaBarang.Text = rs(1).ToString txtHarga.Text = rs(5).ToString txtDiscount.Text = 0 stok = rs(6) txtQty.Enabled = True txtQty.Focus() Else MessageBox.Show("Kode Produk :" + txtKdBarang.Text + "Tidak ditemukan", "Pesan", MessageBoxButtons.OK, MessageBoxIcon.Information) txtKdBarang.Text = "" txtKdBarang.Focus() End If con.Close() con = Nothing Catch eX As Exception MessageBox.Show("Database tidak bisa dibuka:" & eX.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Information) End Try End If End If End Sub
Database Client Server Manajemen Informatika (POLMED)
Dosen : Ismael, M.Kom
17. Klik 2x pada txtCariNmBrg, masukan kode berikut didalamnya, sehingga menjadi
seperti berikut:
18. Klik 2x pada txtCariNmBrg kemudian ganti eventnya menjadi KeyDown, masukan kode
berikut didalamnya, sehingga menjadi seperti berikut:
Private Sub txtQty_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtQty.KeyPress Dim lSingleItem As New ListViewItem() If e.KeyChar = Chr(13) Then If txtQty.Text = "" Then txtQty.Focus() Else If Val(txtQty.Text) > stok Then MessageBox.Show("Stok Tidak Mencukupi, yang ada : " + stok.ToString, "Pesan", MessageBoxButtons.OK, MessageBoxIcon.Information) txtQty.Text = "" txtQty.Focus() Else jumlah = Val(txtHarga.Text) * Val(txtQty.Text) total = total + jumlah lSingleItem = Lv.Items.Add(txtKdBarang.Text) lSingleItem.SubItems.Add(txtNamaBarang.Text) lSingleItem.SubItems.Add(txtHarga.Text) lSingleItem.SubItems.Add(txtDiscount.Text) lSingleItem.SubItems.Add(txtQty.Text) lSingleItem.SubItems.Add(jumlah) lblTotBelanja.Text = Format(total, "###,###,###") simpanTransaksi() txtKdBarang.Text = "" txtNamaBarang.Text = "" txtHarga.Text = "" txtDiscount.Text = "" txtQty.Text = "" txtKdBarang.Focus() End If End If End If End Sub
Private Sub txtCariNmBrg_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtCariNmBrg.TextChanged TampilBarang() End Sub
Database Client Server Manajemen Informatika (POLMED)
Dosen : Ismael, M.Kom
19. Klik 2x pada txtCariNmBrg kemudian ganti eventnya menjadi KeyPress, masukan kode
berikut didalamnya, sehingga menjadi seperti berikut:
20. Klik 2x btnTutup , kemudian masukan kode berikut, sehingga menjadi seperti berikut :
21. Klik 2x pada LvBarang, kemudian ganti eventnya menjadi Click masukan kode berikut
didalamnya, sehingga menjadi seperti berikut:
22. Klik 2x pada LvBarang kemudian ganti eventnya menjadi KeyPress, masukan kode
berikut didalamnya, sehingga menjadi seperti berikut:
Private Sub txtCariNmBrg_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtCariNmBrg.KeyDown Try Select Case e.KeyCode Case 27 'ESC ' gbBarang.Visible = False txtCariNmBrg.Text = "" txtKdBarang.Focus() End Select Catch ex As Exception End Try End Sub
Private Sub txtCariNmBrg_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtCariNmBrg.KeyPress If e.KeyChar = Chr(13) Then If txtCariNmBrg.Text = "" Then txtCariNmBrg.Focus() Else LvBarang.Focus() End If End If End Sub
Private Sub btnTutup_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTutup.Click Me.Close() End Sub
Private Sub LvBarang_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles LvBarang.Click gbBarang.Visible = False LvBarang.Items.Clear() txtKdBarang.Focus() End Sub
Database Client Server Manajemen Informatika (POLMED)
Dosen : Ismael, M.Kom
23. Klik 2x pada LvBarang kemudian ganti eventnya menjadi ItemSelectionChanged,
masukan kode berikut didalamnya, sehingga menjadi seperti berikut:
24. Klik 2x pada txtDiBayar kemudian ganti eventnya menjadi KeyDown, masukan kode
berikut didalamnya, sehingga menjadi seperti berikut:
25. Klik 2x pada txtDiBayar kemudian ganti eventnya menjadi KeyPress, masukan kode
berikut didalamnya, sehingga menjadi seperti berikut:
Private Sub LvBarang_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles LvBarang.KeyPress gbBarang.Visible = False LvBarang.Items.Clear() txtKdBarang.Focus()End Sub
Private Sub LvBarang_ItemSelectionChanged(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ListViewItemSelectionChangedEventArgs) Handles LvBarang.ItemSelectionChanged txtKdBarang.Text = e.Item.Text End Sub
Private Sub txtDiBayar_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtDiBayar.KeyDown Try Select Case e.KeyCode Case 27 gbBayar.Visible = False txtKdBarang.Focus() End Select Catch ex As Exception End Try End Sub
Database Client Server Manajemen Informatika (POLMED)
Dosen : Ismael, M.Kom
26. Silakan disimpan. Kemudian coba jalankan
Private Sub txtDiBayar_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtDiBayar.KeyPress If e.KeyChar = Chr(13) Then If txtDiBayar.Text = "" Then txtDiBayar.Focus() ElseIf txtDiBayar.Text < total Then MessageBox.Show("Uang yang dibayarkan Jumlahnya Kurang") txtDiBayar.Focus() Else dibayar = Val(txtDiBayar.Text) kembali = dibayar - total lblBayar.Text = Format(dibayar, "###,###,###") lblKembali.Text = Format(kembali, "###,###,###") UpdateTransaksi() gbBayar.Visible = False txtDiBayar.Text = "" txtKdBarang.Focus() End If End If End Sub