نكمل معاكم مشروعنا بعد ما انتهينا من تصميم وبرمجة فورم فاتورة الشراء بشكل كامل سننتقل انا واياكم الى تصميم وبرمجة فورم مرتجع الشراء
ماهو مرتجع الشراء ؟
مرتجع الشراء هو ارجاع احد الاصناف التي تم شرائها من احد الاماكن سواء سوبر ماركت او شركة او اي محل تجاري بسبب خلل في الصنف او تبديل هذا الصنف بصنف اخر او خطا مصنعي او تلف الصنف انتهاء صلاحيته , مرتجعع الشرأء هو ضروري اذا كان سبب ارجاع الصنف باحد الاسباب السابقه اي تلف او خلل او انتهاء صلاحيته او تبديل الصنف بصنف اخر وبالتالي فيكون ضروري في مشروعنا ولكن بعض الشركات او اصحاب السوبر ماركت يشترط على المشتري اذا تم شراء الصنف لا يرجع ولا يبدل ومن باب الحفاظ على سمعه الشركه او محل السوبر ماركت وصدق التعامل مع الزبائن يجب ان يكون مرتجع الشراء موجود في نظام السوبر ماركت ولابد من ارجاع الاصناف التالفه من الزبائن بسبب خلل مصنعي او انتهاء صلاحية وايضا تبديل صنف بصنف اخر .
وفورم مرتجع الشراء بقوه فورم فاتورة الشراء .
مثلا جاء لنا احد الزبائن وقام بارجاع احد الاصناف بعد شراء الصنف سابقا وبالتالي سوف يكون لدينا اداة مرتجع الشرأء حتئ نرجع الصنف ويتم خصم الكمية من المخزن لدينا
تصميم فورم مرتجع الشراء
من صندوق الادوات نضيف الادوات التالية على الفورم كما يلي :-
نضيف 4 RadioButton ونسمي كل واحد من الاربعه تسميه Text كما يلي
الصنف RadioB1
المورد RadioB2
كاش RadioB3
اجل RadioB4
اما تسميه برمجية يبقى اسمها كما هو RadioButton1 - نضيف 3 Button ونسمي كل واحد منهم من الثلاثه تسميه Text كما يلي :
حفظ المرتجع
مرتجع جديد
بحث ايضا التسميه البرمجية تبقئ كما هي Button
- نضيف 2 ComboBox
- نضيف 4 TextBoxt ونضع امام كل textbox ليبل label ونسمي الليبلات الاربعه تسميه Text كما يلي : التسلسل
المستخدم
اجمالي المرتجع
عدد الاصناف المرتجعه
نحن وضعنا امام كل textbox ليبل label وسمينا الليبلات بحيث اخذ TextBox تسميته من اللايبلات وبالتالي نسمي TextBox تسميه برمجية كما يلي :
التسلسل نسميه rebuyld
المستخدم نسميه rebuyuser
اجمالي المرتجع نسميه rebuytotolg
عدد الاصناف المرتجعه نسميه rebuyltemcount
- ثم نضيف 4 DateTimePicker ثم نضع امام كل واحد ليبل label ونغير اسم اللايبلات تسميه Text كما يلي : التاريخ الان
الوقت الان ➖ ونغير اسم (التاريخ الان ) تسميه برمجيه Rebuydate ونغير اسم (الوقت الان) تسميه برمجيه Rebuytime * نحدد Rebuytime مقابيل (الوقت الان) الذي قمنا بتسميته ومن الخصائص نختار CustomFomat ونكتب الكود تالي yyyy/MM/dd ss:mm:hh tt حتئ يضهر لنا الوقت بالساعات واالدقايق والثواني………
➖ يبقى لدينا اثنين DateTimePicker ايضا نضع امام كل واحد ليبل label ونغير اسم الليبل تسميه Text كما يلي :
من تاريخ DateTimePicker1
الى تاريخ DateTimePicker2 اما تسميه برمجيه تبقئ كما هي اعلاه
- نضيف اداة datagridview لتحميل البيانات عليها
هذه جميع الادوات التي نحتاجها في فورم مرتجع الشراء .
يصبح الفورم النهائي كما في الصورة .
ربط فورم مرتجع الشراء ب الفورم الرئيسي
بعدها نربط فورم المرتجع بفورم الرئيسي manipage وبالتالي نذهب الى فورم manipage وعند قائمه المشتريات نضيف فرع ونسميه مرتجع الشراء ثم ننقر عليه ونكتب الكود التالي :
Rebuy.MdiParent = Me Rebuy.WindowState = FormWindowState.Maximized Rebuy.Show()
بعدما انتهينا من تصميم مرتجع الشراء ويبقى فقط اكواد البرمجة.
مقدمة بسيطه لفورم مرتجع الشراء .
كيف يتم استرجاع المشتريات ؟
كيف يعمل مرتجع شراء ؟
لنفرض جاء احد موردين الى شركة وقام بشراء فاتوره باصناف مختلفه بتاريخ 2019/4/20 ثم جاء نفس المورد الى شركة بتاريخ 2019/4/25 اي 5 ايام مرت من بيع هذه الاصناف وقال لديه 3 اصناف فيها خلل مصنعي اي يوجد بها عيوب والتكن الثلاثه اصناف من نوع واحد هي (مكينه لحام) ويريد استرجاعها الى شركة في هذه حاله ياتي صاحب البائع الذي سجل فاتوره شراء للمورد حتئ يتاكد هل هو بالفعل باع هذه ثلاثه اصناف الى مورد فيها عيوب وبالتالي اذا كان المورد صادق سوف يتم استرجاعها او اذا قال بائع انا لم ابيع هذا الاصناف سوف لم يتم استرجاعها ولنفرض المورد صادق بكلامه وبالتالي يتم استرجاع الاصناف بعد مايتم خصم كميتها من المخزن الرئيسي في الشركه من خلال فتح نظام سوبر ماركت الذي نعمل عليه ثم نفتح فورم مرتجع الشراء وناخذ تاريخ شراء الاصناف ثلاثه 2019/4/20 ونذهب الى خانه بحث ونختار نوع بحث اما بحث بالصنف او المورد او اجل ام كاش ولنفرض بحث بالصنف نضع اشارة امام RadioButton الصنف ثم نحدد تاريخ شراء من خلال DateTimePicker1 باعتبار يوم تاريخ الذي نسترجع فيه الاصناف هو 2019/4/25 وبالتالي نقوم بتغير تاريخ من خلال البحث من تاريخ ونجعله 2019/4/20 ونضغط على زر بحث سوف يبحث لي ويظهر لي تواريخ لبيانات كثيره وبالتالي نعرفه من خلال اسم مورد وبعد حصولنا على بيانات مورد نكتب في داتا كراند فيو في حقل كمية الاسترجاع كم صنف 3 ثم وبالتالي يتم سعر هذه الاصناف من رصيد مورد بشرط ان يكون نقدا فاتوره شراء ولديه رصيد متبقي يتم خصم منه سعر هذه الاصناف .
هذا كل مايخص عمل مرتجع الشراء وسيتضح لكم كل شي ان شاء الله بعد ما ننتهي من برمجة الفورم بشكل كامل وسترون عمليه الاسترجاع بالفيديو ان شاء الله .
صورة ربط فورم مرتجع الشراء بفورم الرئيسي manipage للبرنامج وكتبنا فرع داخل قائمة المشتريات باسم مرتجع الشراء .
صورة نوضح كود ربط فورم مرتجع داخل فرع مرتجع شراء بالفورم الرئيسي manipage .
ما يهمنا قبل برمجة الفورم هي داتا كراند فيو datagridview .
ما هي الحقول التي نحتاجها لتظهر على داتا كراند فيو datagridview
ج / الحقول التي نحتاجها في داتا كراند فيو datagridview هي كالتالي : رقم الفاتورة تاريخ الفاتورة كاش اجل المورد الصنف الصلاحية كمية الشراء كمية المرتجع اجمالي المرتجع الملاحظات الخصم اجمالي الجمهور سعر شراء الوحدة اجمالي الشراء قيمه الربح رقم المرتجع عدد الاصناف المرتجعه وسوف نضيف هذه الحقول عن طريق الضغط كلك ايسر على سهم الموجود على داتا كراند فيو (datagridview) من جهة اليمين ثم نختار خيار Edit columns ثم نختار خيار add ثم نكتب الحقل مثلا رقم الفاتورة في مربع Header text ثم نضغط على add للاضافة ونكرر العمليه الى ان ننتهي من اضافة جميع الحقول
شاهد الفيديو كيف تم اضافة الحقول على داتا كراند فيو datagridview .
بعد ذلك نقوم بربط هذه الحقول اعلاه بمكان ما يقابله من حقول داخل قاعدة البيانات اي ياخذ كل حقل اعلاه مكانه في قاعدة بيانات (الجداول) وذلك من خلال نفس السهم الذي قمنا من خلاله باضافة الحقول اعلاه نضغط عليه ثم نختار Edit columns ثم تظهر لنا على جهة اليسار جميع الحقول التي قمنا باضافتها بعدها نختار مثلا حقل رقم الفاتورة وعلئ جهة اليمين نختار DatapropertyName ثم في مربع none نكتب معرف حقل رقم فاتوره وهو Rebuyld ونضغط ok ثم نختار الحقل ثاني وهو تاريخ الفاتورة وايضا في مربع none نكتب معرف حقل في جدول Buydate ثم نضغط ok وهكذا الى ان ننتهي كتابه جميع الحقول وتكملة البقية كالتالي : رقم الفاتورة ➖ ➖➖Buyld تاريخ الفاتورة ➖➖➖ Buydate كاش ➖➖➖Buycash اجل ➖➖➖ Buypostpone المورد➖➖➖ Buylmporter الصنف ➖➖➖ Operltem الصلاحية ➖➖➖Operltemexp كمية الشراء➖➖➖Buyqty كمية المرتجع ➖➖➖ اجمالي المرتجع ➖➖➖ الملاحظات ➖➖➖ الخصم ➖➖➖ Buydisconund اجمالي الجمهور ➖➖➖ Buytotalg سعر شراء الوحدة ➖➖Buyunitprice اجمالي الشراء ➖➖➖Buytotalb قيمه الربح ➖➖➖Buyearn رقم المرتجع ➖➖➖ Rebuyld عدد الاصناف المرتجعه ➖➖ ➖
ملاحظه
خمسه حقول اعلاء لم نكتب نكتب قيمه لها تبقى فارغه اي لا نكتب اي شي في مربع none وهذه الحقول هي كمية المرتجع ، واجمالي المرتجع، والملاحظات ، وعدد الاصناف المرتجعه
ملاحظه
حقل كاش والاجل يجب تغير نوع البيانات التي سوف تحفظ فيها من خلال داتا كراند فيو وسهم بجانب اليمن كلك ايسر ثم Edit columns ثم نحدد حقل كاش ثم من خيارات ع جهته اليمين نختار خيار Column Type ثم نختار خيار DatagridviewChecBoxColumn باعتبار هذا الحقل نوع بياناته نعم / لا وكذلك حقل اجل نغير نوع بيانات كما في الكاش
شاهد الفيديو كيف تم اضافة اماكن ما يقابل الحقول في قاعدة البيانات .
في الفيديو انا ربطت كم حقل وانت اخي المبرمج بتكمل البقيه فقط اخذ معرف مايقابل حقل وضعه في مربع none
صورة توضيح لاضافة حقول على داتا كراند فيو datagridview
صورة رقم 2 توضيح تكملة اضافة الحقول في داتا كراند فيو datagridview .
بعد اضافة الحقول على داتا كراند فيو وربطها مع الاماكن في قاعدة بيانات اي كل حقل ياخذ مكانه الذي سوف يكتب عليه بيانات في داتا كراند فيو ثم يحفظ في قاعدة البيانات .
تحميل بيانات الصنف و المورد في ComboBox
الان سنحمل بيانات الصنف في ComboBox1 الموجود على داتا كراند فيو وايضا نحمل بيانات المورد في ComboBox2 الموجود على داتا كراند فيو ويتم ذلك من خلال النقر على فورم مرتجع الشراء Rebuy نقرتين وفي حدث اللود load نكتب الكود التالي الخاص بتحميل بيانات الصنف وبيانات المورد :
=== تحميل الاصناف في كوكبو بوكس load_ltmes() ComboBox1.DataSource = ltmesdt ComboBox1.DisplayMember = "ltemname" ComboBox1.ValueMember = "ltemld" '=== تحميل المورد في كوكبو بوكس load_lmporters() ComboBox2.DataSource = lmportersdt ComboBox2.DisplayMember = "lmportername" ComboBox2.ValueMember = "lmporterld"
لاحظ ترتيب الكود اعلاه كما في الصوره .
شاهد فيديو توضيح كيف تم تحميل بيانات الصنف والمورد في ComboBox
الاتصال بجدول مرتجع الشراء
بعد ذلك وكالعادة نقوم بتعريف متغيرات داتا تيبل dt و داتا اول دبيدي ادبتر da وكذلك نعرف ld جنيريشن وايضا نعرف Code وجملة اللود load الخاصه بجدول مرتجع الشراء Rebuypill .
اذن نقوم بفتح مديول module ونعرف المتغيرات اعلاه ونكتب الاكواد التاليه :
Public Redbuypilldt As New DataTable Public Redbuypillda As New OleDbDataAdapter Public mynewldredbuypill As Integer Public Redbuypillcmd As New OleDbCommand Public Sub code_redbuypill() Dim dt As New DataTable Dim da As New OleDbDataAdapter("select max(rebuyld) from rebuypill", con) da.Fill(dt) If IsDBNull(dt(0)(0)) = True Then mynewldredbuypill = 1 Else mynewldredbuypill = dt(0)(0) + 1 End If End Sub Public Sub load_Redbuypill() Redbuypilldt.Clear() Redbuypillda = New OleDbDataAdapter("select * from rebuypill", con) Redbuypillda.Fill(Redbuypilldt) End Sub
الكود اعلاه لا يحتاج إلى شرح لانه تم شرحه في دروس سابقه عده مرات .
لاحظ ترتيب اكواد المتغيرات اعلاه كما في الصورة .
تحميل بيانات مرتجعات الشراء
وفي نفس لود load الخاص بالفورم نستدعي متغير من مديول لتحميل بيانات جدول Rebuypill مرتجع الشراء ونكتب الاستدعاء التالي :
load_Redbuypill() DataGridView1.DataSource = Redbuypilldt
لاحظ الصورة كيف تم استدعاء تحميل جدول Rebuypill في حدث اللود load
كيف نقوم بانشاء هذه العلاقة ؟
Public Sub rebuyQ() Dim dt As New DataTable Dim da As New OleDbDataAdapter("SELECT buypill.buyld, buypill.buydate, buypill.buylmporter, buypill.buycash, buypill.buypostpone, operations.operltem, operations.operltemexp, operations.buyqty, operations.buytotalg, operations.buydisconund, operations.buyunitprice, operations.buytotalb, operations.buyearn, operations.rebuyqty, operations.rebuytotalg, operations.rebuynotes FROM buypill INNER JOIN operations ON buypill.buyld = operations.buyld", con) da.Fill(dt) DataGridView1.AutoGenerateColumns = False DataGridView1.DataSource = dt End Sub⚙ شرح الكود
صورة رقم 2 تكملة كيف تم انشاء استعلام
صورة رقم 3 تكملة كيف تم انشاء استعلام
صورة رقم 4 واخيرا تكملة كيف تم انشاء استعلام
فيديو توضيح اكثر كيف تم تصميم علاقه استعلام بين جدولين operations , and buypill
صورة رقم 1 كيف تم نسخ كود استعلام من الاستعلام نفسه
صورة رقم 2 تكملة كيف تم نسخ كود الاستعلام
فيديو توضيح كيف تم كتابه وترتيب كود اجراء الاستعلام
Public Sub newrebuy() code_redbuypill() rebuyld.Text = mynewldredbuypill rebuyltemcount.Text = 0 rebuytotolg.Text = 0 rebuyuser.Text = "" End Sub⚙ شرح الكود
ثم نقوم بتغير نوع البيانات للحقول الثلاثه التاليه : كمية المرتجع - اجمالي المرتجع - الملاحظات الفائده هي جعل هذه الحقول تاخذ نوع البيانات التي تسجل عليها من خلال داتا كراند فيو… .
برمجة ازرار البحث عن مرتجع الشراء
برمجة زر البحث عن مرتجع الشراء
🔸🔸'==========بحث عام If RadioButton1.Checked = True And RadioButton2.Checked = False And RadioButton3.Checked = False And RadioButton4.Checked = False Then Dim dt As New DataTable Dim da As New OleDbDataAdapter("SELECT buypill.buyld, buypill.buydate, buypill.buylmporter, buypill.buycash, buypill.buypostpone, operations.operltem, operations.operltemexp, operations.buyqty, operations.buytotalg, operations.buydisconund, operations.buyunitprice, operations.buytotalb, operations.buyearn, operations.rebuyqty, operations.rebuytotalg, operations.rebuynotes FROM buypill , operations where buypill.buyld = operations.buyld and buydate between #" & DateTimePicker1.Value.ToString("yyyy/MM/dd") & "# and #" & DateTimePicker2.Value.ToString("yyyy/MM/dd") & "#", con) da.Fill(dt) DataGridView1.AutoGenerateColumns = False DataGridView1.DataSource = dt End If 🔸🔸 '========بحث بالصنف If RadioButton1.Checked = True And RadioButton2.Checked = False And RadioButton3.Checked = False And RadioButton4.Checked = False Then Dim dt As New DataTable Dim da As New OleDbDataAdapter("SELECT buypill.buyld, buypill.buydate, buypill.buylmporter, buypill.buycash, buypill.buypostpone, operations.operltem, operations.operltemexp, operations.buyqty, operations.buytotalg, operations.buydisconund, operations.buyunitprice, operations.buytotalb, operations.buyearn, operations.rebuyqty, operations.rebuytotalg, operations.rebuynotes FROM buypill , operations where buypill.buyld = operations.buyld and buydate between #" & DateTimePicker1.Value.ToString("yyyy/MM/dd") & "# and #" & DateTimePicker2.Value.ToString("yyyy/MM/dd") & "# and operltem = '" & ComboBox1.Text & "'", con) da.Fill(dt) DataGridView1.AutoGenerateColumns = False DataGridView1.DataSource = dt End If 🔸🔸'=========بحث بالمورد If RadioButton1.Checked = False And RadioButton2.Checked = True And RadioButton3.Checked = False And RadioButton4.Checked = False Then Dim dt As New DataTable Dim da As New OleDbDataAdapter("SELECT buypill.buyld, buypill.buydate, buypill.buylmporter, buypill.buycash, buypill.buypostpone, operations.operltem, operations.operltemexp, operations.buyqty, operations.buytotalg, operations.buydisconund, operations.buyunitprice, operations.buytotalb, operations.buyearn, operations.rebuyqty, operations.rebuytotalg, operations.rebuynotes FROM buypill , operations where buypill.buyld = operations.buyld and buydate between #" & DateTimePicker1.Value.ToString("yyyy/MM/dd") & "# and #" & DateTimePicker2.Value.ToString("yyyy/MM/dd") & "# and buylmporter = '" & ComboBox2.Text & "'", con) da.Fill(dt) DataGridView1.AutoGenerateColumns = False DataGridView1.DataSource = dt End If 🔸🔸 '=========بحث نقدي If RadioButton1.Checked = False And RadioButton2.Checked = False And RadioButton3.Checked = True And RadioButton4.Checked = False Then Dim dt As New DataTable Dim da As New OleDbDataAdapter("SELECT buypill.buyld, buypill.buydate, buypill.buylmporter, buypill.buycash, buypill.buypostpone, operations.operltem, operations.operltemexp, operations.buyqty, operations.buytotalg, operations.buydisconund, operations.buyunitprice, operations.buytotalb, operations.buyearn, operations.rebuyqty, operations.rebuytotalg, operations.rebuynotes FROM buypill , operations where buypill.buyld = operations.buyld and buydate between #" & DateTimePicker1.Value.ToString("yyyy/MM/dd") & "# and #" & DateTimePicker2.Value.ToString("yyyy/MM/dd") & "# and buycash = " & RadioButton3.Checked & "", con) da.Fill(dt) DataGridView1.AutoGenerateColumns = False DataGridView1.DataSource = dt End If 🔸🔸'========بحث اجل If RadioButton1.Checked = False And RadioButton2.Checked = False And RadioButton3.Checked = False And RadioButton4.Checked = True Then Dim dt As New DataTable Dim da As New OleDbDataAdapter("SELECT buypill.buyld, buypill.buydate, buypill.buylmporter, buypill.buycash, buypill.buypostpone, operations.operltem, operations.operltemexp, operations.buyqty, operations.buytotalg, operations.buydisconund, operations.buyunitprice, operations.buytotalb, operations.buyearn, operations.rebuyqty, operations.rebuytotalg, operations.rebuynotes FROM buypill , operations where buypill.buyld = operations.buyld and buydate between #" & DateTimePicker1.Value.ToString("yyyy/MM/dd") & "# and #" & DateTimePicker2.Value.ToString("yyyy/MM/dd") & "# and buypostpone = " & RadioButton4.Checked & "", con) da.Fill(dt) DataGridView1.AutoGenerateColumns = False DataGridView1.DataSource = dt End If End Subشرح الاكواد الخمسة اعلاه
حساب اجمالي المرتجع
Try Dim total, count As Double '= حساب اجمالي المرتجع في داتا كراند DataGridView1(9, DataGridView1.CurrentRow. Index).Value = DataGridView1(8, DataGridView1.CurrentRow. Index).Value * DataGridView1(13, DataGridView1.CurrentRow. Index).Value '=====,ترقيم الاصناف المرتجعه For i As Integer = 0 To DataGridView1.Rows.Count - 1 If DataGridView1(8, DataGridView1.Rows(i).Index). Value > 0 Then DataGridView1(16, DataGridView1.Rows(i).Index). Value = rebuyld.Text DataGridView1(17, DataGridView1.Rows(i).Index). Value = 1 '===حساب اجمالي المرتجع وعدد الاصناف في تكس بوكس total = total + DataGridView1(9, DataGridView1.Rows(i).Index). Value count = count + DataGridView1(17, DataGridView1.Rows(i).Index). Value Else '=======رقم المرتجع DataGridView1(16, DataGridView1.Rows(i).Index). Value = Nothing '========اجمالي المرتجع DataGridView1(17, DataGridView1.Rows(i).Index). Value = Nothing End If rebuytotolg.Text = total rebuyltemcount.Text = count Next Catch ex As Exception MsgBox(ex.Message) End Try End sub⚙ شرح الاكواد
حساب اجمالي المرتجع من خلال داتا كراند فيو
وضع اجمالي مرتجع وعدد الاصناف المرتجعه في تكس مخصص لهم
و 2
ايضا للتوضيح اكثر شاهد فيديو كيف تم كتابه وترتيب الاكواد السابقه
ايضا شاهد بالفيديو مثال كيف تم حساب حسابات الاكواد اعلاه
… ..
كيف يتم حفظ الصنف بعد استرجاعه ؟
كود تعديل الكمية في المخزن الرئيسي
'=== كود اضافة حقول For z As Integer = 0 To DataGridView1.Rows.Count - 1 If DataGridView1(8, DataGridView1.Rows(z).Index).Value > 0 Then oprationscmd = New OleDbCommand(" insert into operations (buyunitprice,operltem,operltemexp,rebuyld,rebuynotes,rebuyqty,rebuytotalg) values (" & DataGridView1(13, DataGridView1.Rows(z).Index).Value & ", '" & DataGridView1(5, DataGridView1.Rows(z).Index).Value & "', #" & DataGridView1(6, DataGridView1.Rows(z).Index).Value & "#, " & rebuyld.Text & " ,'" & DataGridView1(10, DataGridView1.Rows(z).Index).Value & "', " & DataGridView1(8, DataGridView1.Rows(z).Index).Value & " ," & DataGridView1(9, DataGridView1.Rows(z).Index).Value & ")", con) con.Open() oprationscmd.ExecuteNonQuery() con.Close() End If Next '======كود حفظ حقول Redbuypilldt.Rows.Add() Dim last As Integer = Redbuypilldt.Rows.Count - 1 Redbuypilldt.Rows(last).Item("rebuydate") = Rebuydate.Value Redbuypilldt.Rows(last).Item("rebuyld") = rebuyld.Text Redbuypilldt.Rows(last).Item("rebuyltemcount") = rebuyltemcount.Text Redbuypilldt.Rows(last).Item("rebuytime") = Rebuytime.Value Redbuypilldt.Rows(last).Item("rebuytotalg") = rebuytotolg.Text Redbuypilldt.Rows(last).Item("rebuyuser") = rebuyuser.Text Dim save As New OleDbCommandBuilder(Redbuypillda) Redbuypillda.Update(Redbuypilldt) Redbuypilldt.AcceptChanges() MsgBox("تم حفظ البيانات بنجاح") load_Redbuypill() '======= newrebuy() '==كود ايجاد كمية For x As Integer = 0 To DataGridView1.Rows.Count - 1 If DataGridView1(8, DataGridView1.Rows(x).Index).Value > 0 Then Dim dt As New DataTable Dim da As New OleDbDataAdapter dt.Clear() da = New OleDbDataAdapter("select * from ltems where ltemname = '" & DataGridView1(5, DataGridView1.Rows(x).Index).Value & "'", con) da.Fill(dt) If dt.Rows.Count > 0 Then cruinqty =dt.Rows(0).Item("ltemqty") MsgBox(cruinqty) End If '=====كود تعديل كمية Dim newqtw As Double newqtw = cruinqty - Val(DataGridView1(8, DataGridView1.Rows(x).Index).Value) ltemscmd = New OleDbCommand("update ltems set ltemqty = " & newqtw & " where ltemname = '" & DataGridView1(5, DataGridView1.Rows(x).Index).Value & "' ", con) con.Open() ltemscmd.ExecuteNonQuery() con.Close() End If Next End Sub⚙ هذه اكواد
Dim cruinqty As Double Public ltemscmd As New OleDbCommand Public oprationscmd As New OleDbCommand