|
|
Copyright © 2003-2009 By Suthep Sangvirotjanaphat |
|
|
|
Mobile: 089-967-2200, 081-915-7816 Phone: 0-2992-4877 Fax: 0-2992-4878 Fast Contact Us |
GreatFriends.Biz Community |
Custom Search
|
คือนู๋ทำโปรเจคจบนะค่ะ และต้องมีหน้าบันทึกการขายพร้อมออกใบเสร็จได้ด้วย คราวนี้ติดโค้ดตรงคิดคำนวณส่วนลดนะค่ะ



Private Sub Calculate()
Dim i As Integer = 0
Dim tmpDiscount As Single = 0
Dim tmp As Single = 0
Dim tmpv As Single = 0
Dim tmpVAT As Single = 0
Dim vat As Single = 0
Dim net As Single = 0
For i = 0 To lv.Items.Count - 1
tmpDiscount = tmpDiscount + CSng(lv.Items(i).SubItems(5).Text) 'ส่วนลด
tmp =
CSng(lv.Items(i).SubItems(3).Text) * (lv.Items(i).SubItems(4).Text) 'ราคาต่อหน่วย*จำนวนtmpv = tmpv +
CSng(lv.Items(i).SubItems(6).Text) 'รวมเป็นเงิน 'vat = vat + CSng(lv.Items(i).SubItems(5).Text)vat = vat + lblvat.Text
'ภาษีnet =
CSng(tmpv + vat).ToString("#,##.00") 'ยอดสุทธิ Nextlbldiscount.Text = tmpDiscount.ToString(
"#,##0.00") 'เลเบลส่วนลด = tmpdiscounttmpVAT =
CSng(tmp - tmpDiscount) * txtvat.Text / 100 '(ราคาต่อหน่วย*จำนวน-ส่วนลด)*7/100lblvat.Text = vat.ToString(
"#,##0.00") ' lbltotal.Text = tmpv.ToString("#,##0.00") ' lblnet.Text = tmpv.ToString("#,##0.00") ' txttotal.Text = tmpv.ToString("#,##0.00")lbltotal.Text = tmpv.ToString(
"#,##0.00") 'ยอดรวมเงินlblnet.Text = net.ToString(
"#,##0.00") 'ยอดสุทธิ End SubPrivate Sub VerifyDiscount() Dim i As Integer = 0 Dim tmpDiscount As Single = 0 Dim tmpTotal As Single = 0 Dim vat As Single For i = 0 To lv.Items.Count - 1 'ส่วนลด
tmpDiscount =
CSng((CInt(lv.Items(i).SubItems(3).Text) * CInt(lv.Items(i).SubItems(4).Text)) * CInt((lv.Items(i).SubItems(5).Text)) / 100)tmpDiscount =
CSng((CInt(txtprice.Text) * CInt(txtcount.Text)) * (CInt(txtdiscount.Text) / 100))lv.Items(i).SubItems(5).Text = tmpDiscount.ToString(
"#,##0.00") 'ภาษีvat =
CSng(((CInt(lv.Items(i).SubItems(3).Text) * CInt(lv.Items(i).SubItems(4).Text)) - CDbl(lv.Items(i).SubItems(5).Text)) * CInt(txtvat.Text) / 100)lblvat.Text = vat.ToString(
"#,##0.00") 'รวมเป็นเงินtmpTotal = (
CSng(lv.Items(i).SubItems(3).Text) * CSng(lv.Items(i).SubItems(4).Text)) - CSng(tmpDiscount.ToString("#,##0.00"))lv.Items(i).SubItems(6).Text =
CSng(tmpTotal.ToString("#,##0.00")) Next End Sub
โค้ดปุ่มแอด
Private Sub btAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btAdd.Click
Dim i As Integer = 0
Dim lvi As ListViewItem
Dim tmpcodeitem As String = ""
txtTaxNo.Focus()
If (txtcodeitem.Text = "") Or (lblTitle.Text = "") ThenMessageBox.Show(
"กรุณาเลือกรหัสสินค้า!!!", "ข้อผิดพลาด", MessageBoxButtons.OK, MessageBoxIcon.Error)txtcodeitem.Focus()
Exit Sub End If If (txtcount.Text = "") ThenMessageBox.Show(
"กรุณากรอกจำนวนสินค้า!!!", "ข้อผิดพลาด", MessageBoxButtons.OK, MessageBoxIcon.Error)txtcount.Focus()
Exit Sub End If ' If (txtdiscount.Text = "") Then 'txtdiscount.Text = "0" ' End If For i = 0 To lv.Items.Count - 1tmpcodeitem = lv.Items(i).SubItems(0).Text
If txtcodeitem.Text = tmpcodeitem ThenMessageBox.Show(
"คุณเลือกรหัสสินค้าซ้ำกัน !!!", "ผลการตรวจสอบ", MessageBoxButtons.OK, MessageBoxIcon.Information)txtcodeitem.Text =
""lblTitle.Text =
""txtprice.Text =
""txtcount.Text =
""txtdiscount.Text =
"0"txtvat.Text =
"7"txtcodeitem.Focus()
txtcodeitem.SelectAll()
Exit Sub End If Next Dim anyData() As String Dim tmpDiscount As Single = 0 Dim tmpTotal As Single = 0 Dim total As Single = 0 Dim vat As Single = 0tmpDiscount =
CSng((CInt(txtprice.Text) * CInt(txtcount.Text)) * (CInt(txtdiscount.Text) / 100)) 'คิดส่วนลด (ราคาต่อหน่วย*จำนวน)*ส่วนลดที่ได้รับ/100tmpTotal = (
CInt(txtprice.Text) * CInt(txtcount.Text)) - tmpDiscount 'คิดรวมเป็นเงิน (ราคาต่อหน่วย*จำนวน)-ส่วนลดที่คิดได้vat = (
CInt(txtprice.Text) * CInt(txtcount.Text) * CInt(txtvat.Text) / 100) 'คิด vat (ราคาต่อหน่วย*จำนวน*7/100)total =
CSng(tmpTotal.ToString) + CSng(vat.ToString) 'คิดราคาสุทธิ (ราคารวมที่คิดได้ + vat ที่คิดได้)anyData =
New String() { _txtcodeitem.Text, _
lblTitle.Text, _
lblunit.Text, _
txtprice.Text, _
txtcount.Text, _
lblnet.Text, _
tmpDiscount.ToString(
"#,##0.00"), _total.ToString(
"#,##0.00") _}
lvi =
New ListViewItem(anyData)lv.Items.Add(lvi)
VerifyDiscount()
Calculate()
cleartxt()
End Sub
รบกวนอาจาร์ยและพี่ ๆ ด้วยนะค่ะ ว่ายน้ำต่อไปไม่ถูกแล้วอ่าค่ะ
ขอบคุณมาก ๆ ล่วงหน้าเลยค่ะ 
|
|
maicomsci |
วันที่ส่ง: 6 มิ.ย. 52 01:09 GMT+7 วันที่ปรับล่าสุด: 7 มิ.ย. 52 06:21 GMT+7 |
ที่ส่วนลดของการคีย์ครั้งที่ 2 ไปแสดงซ้ำกับการคีย์ครั้งแรก เพราะว่ามีโค้ดซ้ำกันอยู่ที่
'ส่วนลด
tmpDiscount =
CSng((CInt(lv.Items(i).SubItems(3).Text) * CInt(lv.Items(i).SubItems(4).Text)) * CInt((lv.Items(i).SubItems(5).Text)) / 100)tmpDiscount =
CSng((CInt(txtprice.Text) * CInt(txtcount.Text)) * (CInt(txtdiscount.Text) / 100))
ส่วนที่ error นั้นอาจจะมาจากค่าของตัวแปรบางตัวใน anyData อาจจะไม่ถูก เพราะเห็นว่าไปดึงค่ามาจาก lblnet.Text ด้วย
ให้ลอง Debug ดูก็จะทราบเองว่าค่าของตัวแปร ที่จะใส่เข้าไปใน ListViewItem นั้น เป็นค่าที่เราต้องการหรือเปล่าครับ
|
|
V# Guy |
วันที่ส่ง: 6 มิ.ย. 52 05:33 GMT+7 วันที่ปรับล่าสุด: 6 มิ.ย. 52 05:33 GMT+7 |
|
|
maicomsci |
วันที่ส่ง: 6 มิ.ย. 52 18:07 GMT+7 วันที่ปรับล่าสุด: 6 มิ.ย. 52 18:07 GMT+7 |


|
|
surrealist |
วันที่ส่ง: 6 มิ.ย. 52 18:50 GMT+7 วันที่ปรับล่าสุด: 6 มิ.ย. 52 18:50 GMT+7 |

|
|
maicomsci |
วันที่ส่ง: 6 มิ.ย. 52 20:20 GMT+7 วันที่ปรับล่าสุด: 6 มิ.ย. 52 20:20 GMT+7 |


|
|
V# Guy |
วันที่ส่ง: 7 มิ.ย. 52 06:21 GMT+7 วันที่ปรับล่าสุด: 7 มิ.ย. 52 06:21 GMT+7 |
|
เรียน .NET/OOAD กับ อ.สุเทพ (surrealist) Microsoft Most Valuable Professional (MVP): |
![]() ลงทะเบียนเรียน |