منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
حل مشكله في الكميه - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : حل مشكله في الكميه (/showthread.php?tid=33954)



حل مشكله في الكميه - mohamedalqadi - 23-03-20

السلام عليكم 

هناك مشكله تظهر لي وهي عند تعديل الكميه المبينه في الصور لاتتغير كميه في بطاقه الصنف 
هذا كود الحفظ الذي استخدمه
كود :
  '========= قيود الادخال ===============
       If RECUSTOMERNAME.Text = "" Then
           MessageBox.Show("يرجى إدخال اسم الزبون", "رسالة تنبيه", MessageBoxButtons.OK, MessageBoxIcon.Error)
           RECUSTOMERNAME.Select()
           Exit Sub
       End If
       If RESALETYPE.SelectedIndex < 0 Then
           MessageBox.Show("يرجى اختيار نوع الفاتورة", "رسالة تنبيه", MessageBoxButtons.OK, MessageBoxIcon.Error)
           RESALETYPE.Select()
           Exit Sub
       End If
       If DataGridView1.Rows.Count = 0 Then
           MessageBox.Show("لا توجد أصناف لحفظها", "رسالة تنبيه", MessageBoxButtons.OK, MessageBoxIcon.Error)
           Exit Sub
       End If

       For I As Integer = 0 To DataGridView1.Rows.Count - 1
           If DataGridView1.Rows(I).Cells(4).Value = 0 Then
               MessageBox.Show("يرجى التحقق من الكميات", "رسالة تنبيه", MessageBoxButtons.OK, MessageBoxIcon.Error)
               Exit Sub

           End If
       Next
       '==============================حفظ رأس الفاتورة================================
       Dim DT As New DataTable
       Dim DA As New SqlClient.SqlDataAdapter("SELECT * FROM RESALE WHERE RESALECODE = '" & RESALECODE.Text & "'", SqlConn)
       DA.Fill(DT)
       If DT.Rows.Count > 0 Then
           RESALECODE.Text = CODE_GENE("RESALE", "ID") + 1
       Else
           Dim DR = DT.NewRow
           DR!RESALECODE = RESALECODE.Text
           DR!RESALETYPE = RESALETYPE.Text
           DR!RECUSTOMERNAME = RECUSTOMERNAME.Text
           DR!RENOTES = RENOTES.Text
           DR!RESALEDATE = RESALEDATE.Value
           DR!RETOTAL = Convert.ToDecimal(RETOTAL.Text)
           DR!REDISCOUND = Convert.ToDecimal(REDISCOUND.Text)
           DR!RETOTALARABIC = RETOTALARABIC.Text
           DR!RETOTALQTY = Val(RETOTALQTY.Text)
           DR!RESALEUSER = RESALEUSER.Text
           DR!STATE = True
           DT.Rows.Add(DR)
           Dim SAVE As New SqlClient.SqlCommandBuilder(DA)
           DA.Update(DT)
       End If
       '======= حفظ تفاصيل الفاتورة ===============

       DA = New SqlClient.SqlDataAdapter("SELECT * FROM RESALE_DET", SqlConn)
       DA.Fill(DT)
       For I = 0 To DataGridView1.Rows.Count - 1
           Dim DR1 = DT.NewRow
           DR1!SALECODE = RESALECODE.Text
           DR1!ITEMCODE = DataGridView1.Rows(I).Cells(0).Value
           DR1!ITEMNAME = DataGridView1.Rows(I).Cells(1).Value
           DR1!UNIT = DataGridView1.Rows(I).Cells(2).Value
           DR1!QTY = DataGridView1.Rows(I).Cells(4).Value
           DR1!PRICE = Val(DataGridView1.Rows(I).Cells(3).Value)
           DR1!DISCOUND = Val(DataGridView1.Rows(I).Cells(5).Value)
           DR1!TOTAL = DataGridView1.Rows(I).Cells(6).Value
           DR1!QTY_IN = DataGridView1.Rows(I).Cells(7).Value
           DT.Rows.Add(DR1)
           Dim CMD_ As New SqlClient.SqlCommandBuilder(DA)
           DA.Update(DT)

       Next
       '=========== اضافة الكمية ==============================
       For M As Integer = 0 To DataGridView1.Rows.Count - 1
           Dim NEW_QTY As Integer
           NEW_QTY = Val(DataGridView1.Rows(M).Cells(7).Value) + Val(DataGridView1.Rows(M).Cells(4).Value)
           Dim CMD_1 As New SqlClient.SqlCommand
           CMD_1.Connection = SqlConn
           CMD_1.CommandText = " UPDATE  ITEM SET QTY = " & NEW_QTY & "  WHERE ITEM_NAME = '" & DataGridView1.Rows(M).Cells(1).Value & "'"
           CMD_1.ExecuteNonQuery()


       Next

       MessageBox.Show("تمت عملية حفظ فاتورة استرجاع المبيعات بنجاح", "رسالة تأكيد", MessageBoxButtons.OK, MessageBoxIcon.Information)
       BUTTNEW_Click(sender, e)
كود :
Private Sub ButtNEW_Click(sender As Object, e As EventArgs) Handles ButtNEW.Click
       For I = 0 To GroupBox1.Controls.Count - 1
           If TypeOf GroupBox1.Controls(I) Is TextBox Then GroupBox1.Controls(I).Text = ""
           If TypeOf GroupBox1.Controls(I) Is DateTimePicker Then GroupBox1.Controls(I).Text = Date.Now
       Next
       For I = 0 To GroupBox2.Controls.Count - 1
           If TypeOf GroupBox2.Controls(I) Is TextBox Then GroupBox2.Controls(I).Text = ""
       Next
       RESALECODE.Text = CODE_GENE("RESALE", "ID") + 1
       RESALETYPE.SelectedIndex = 0
       DataGridView1.Rows.Clear()
       ButtEDIT.Enabled = False
       ButtDELET.Enabled = False
       ButtSAVE.Enabled = True
       RECUSTOMERNAME.Text = ""
       FILL_CUSROMERS()
       DataGridView2.Visible = False
       FILL_DGV(DataGridView2, "SELECT * FROM ITEM ORDER BY ITEM_CODE")
       TXT_BARCODE.Select()
   End Sub
ارجو حل المشكله

[attachment=24205]

[attachment=24206]


RE: حل مشكله في الكميه - IBRA99000 - 23-03-20

لزم تطرح الكميه في العدد الطلب عشان يعطيك اجمالي العدد لي معك ارسلم ملف وساعدك ان شاءالله


RE: حل مشكله في الكميه - mohamedalqadi - 23-03-20

(23-03-20, 11:11 PM)IBRA99000 كتب : لزم تطرح الكميه في العدد الطلب عشان يعطيك اجمالي العدد لي معك ارسلم ملف وساعدك ان شاءالله

االمشكله في قاعده البيانات لو ارستلك الملف

(23-03-20, 11:19 PM)mohamedalqadi كتب :
(23-03-20, 11:11 PM)IBRA99000 كتب : لزم تطرح الكميه في العدد الطلب عشان يعطيك اجمالي العدد لي معك ارسلم ملف وساعدك ان شاءالله

االمشكله في قاعده البيانات لو ارستلك الملف



RE: حل مشكله في الكميه - atefkhalf2004 - 24-03-20

برجاء ارفاق قاعدة البيانات
او سكؤبت لها
حتي يستطيع الزملاء مساعدتك


RE: حل مشكله في الكميه - mohamedalqadi - 24-03-20

قاعده الببانات


RE: حل مشكله في الكميه - mohamedalqadi - 24-03-20

هل من مساعده


RE: حل مشكله في الكميه - asemshahen5 - 25-03-20

عدل الكود ليكون كالتالي :

PHP كود :
       '=========== اضافة الكمية ==============================
        For M As Integer = 0 To DataGridView1.Rows.Count - 1
            Dim NEW_QTY As Integer
            NEW_QTY = Val(DataGridView1.Rows(M).Cells(7).Value) - Val(DataGridView1.Rows(M).Cells(4).Value)
            Dim CMD_1 As New SqlClient.SqlCommand
            CMD_1.Connection = sqlconn
            CMD_1.CommandText = " UPDATE  ITEM SET QTY =" & NEW_QTY & "  WHERE ITEM_CODE = '" & DataGridView1.Rows(M).Cells(0).Value & "'"
            CMD_1.ExecuteNonQuery()
        Next