منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : حل مشكله في الكميه
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم 

هناك مشكله تظهر لي وهي عند تعديل الكميه المبينه في الصور لاتتغير كميه في بطاقه الصنف 
هذا كود الحفظ الذي استخدمه
كود :
  '========= قيود الادخال ===============
       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]
لزم تطرح الكميه في العدد الطلب عشان يعطيك اجمالي العدد لي معك ارسلم ملف وساعدك ان شاءالله
(23-03-20, 11:11 PM)IBRA99000 كتب : [ -> ]لزم تطرح الكميه في العدد الطلب عشان يعطيك اجمالي العدد لي معك ارسلم ملف وساعدك ان شاءالله

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

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

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

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