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

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (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=44183)

الصفحات: 1 2


في حالة الكمية تساوي صفر - ali_ahmed12 - 27-10-22

السلام عليكم 
هادي محاولتي في حاله انه كميه تساوي صفر يظهر رساله خطا ياريت الي يعرف حل لايبخل علي وشكرا 
مرفق كود برمجي جدول قاعدة بيانات صورة خطا 
كود :
If e.KeyCode = Keys.Enter Then
           Dim qty2 As Integer
           da = New SqlDataAdapter("select qty from products ", Module1.con)
           da.Fill(dt2)
           qty2 = Val(dt2.Rows(0)(5))
           If qty2 <= 0 Then
               Dim rMsg As MsgBoxResult
               rMsg = MsgBox("الكمية المطلوبة غير متاحة،، هل تريد الاستمرار بالتسجيل ؟", vbYesNo + vbExclamation, "تحذير")
               If rMsg = vbNo Then Exit Sub
               ' إذا كان (لا) لا يريد الاستمرار سيتم انهاء الحدث من هنا بدون تنفيذ باقي الكود
               ' وإذا اختر نعم (يعني الاستمرار) سيتم تنفيذ باقي الكود
           Else
               For i As Integer = 0 To DGV_PRODUCT.Rows.Count - 1
                   If DGV_PRODUCT.Rows(i).Cells(0).Value = txtid.Text Then
                       MsgBox("هدا المنتج موجود مسبقا", MsgBoxStyle.Critical, "تحذير")
                       cl()
                       Exit Sub
                   End If
               Next
               Dim row As DataRow = dt.NewRow
               row(0) = txtid.Text
               row(1) = txtlabel.Text
               row(2) = txtqty.Text
               row(3) = txtprice.Text
               row(4) = txtamount.Text
               dt.Rows.Add(row)
               Me.DGV_PRODUCT.DataSource = dt
               cl()
               tootal()
           End If
       End If
جدول قاعدة بيانات لهدا اخترت dt.rows(0)(5)


RE: في حالة الكمية تساوي صفر - Taha Okla - 27-10-22

(27-10-22, 07:36 PM)ali_ahmed12 كتب : السلام عليكم 
هادي محاولتي في حاله انه كميه تساوي صفر يظهر رساله خطا ياريت الي يعرف حل لايبخل علي وشكرا 
مرفق كود برمجي جدول قاعدة بيانات صورة خطا 
كود :
If e.KeyCode = Keys.Enter Then
           Dim qty2 As Integer
           da = New SqlDataAdapter("select qty from products ", Module1.con)
           da.Fill(dt2)
           qty2 = Val(dt2.Rows(0)(5))
           If qty2 <= 0 Then
               Dim rMsg As MsgBoxResult
               rMsg = MsgBox("الكمية المطلوبة غير متاحة،، هل تريد الاستمرار بالتسجيل ؟", vbYesNo + vbExclamation, "تحذير")
               If rMsg = vbNo Then Exit Sub
               ' إذا كان (لا) لا يريد الاستمرار سيتم انهاء الحدث من هنا بدون تنفيذ باقي الكود
               ' وإذا اختر نعم (يعني الاستمرار) سيتم تنفيذ باقي الكود
           Else
               For i As Integer = 0 To DGV_PRODUCT.Rows.Count - 1
                   If DGV_PRODUCT.Rows(i).Cells(0).Value = txtid.Text Then
                       MsgBox("هدا المنتج موجود مسبقا", MsgBoxStyle.Critical, "تحذير")
                       cl()
                       Exit Sub
                   End If
               Next
               Dim row As DataRow = dt.NewRow
               row(0) = txtid.Text
               row(1) = txtlabel.Text
               row(2) = txtqty.Text
               row(3) = txtprice.Text
               row(4) = txtamount.Text
               dt.Rows.Add(row)
               Me.DGV_PRODUCT.DataSource = dt
               cl()
               tootal()
           End If
       End If
جدول قاعدة بيانات لهدا اخترت dt.rows(0)(5)

شو يعني  dt2   الموجودة في كودك  ؟؟؟

العملية ليست نسخ ولصق أكواد ...
تنسخ كود من مكان ما ثم تلصقه هنا .. بدون أن تعرف ما هذا الشيء ..

الأمر بسيط في حال كنت تدرك الأساسيات ..
والله لا أعرف ماذا أقول لك ..

لتستطيع أن تصنع برنامج حسابات عليك أن تعرف أساسيات اللغة التي تصنعه بها :
وفي حال برنامجك : تحتاج لمعرفه أساسيات الـ VB.net  + أساسيات لغة الاستعلام SQL

هناك كتاب يعلم الفيجول بيزك بطريقة بسيطة جداً  وهو كتاب المهندس أحمد جمال.
أنصحك بأن تقرأ كل كلمة فيه ..  
فإن العمر يمضي ولن تجد فرصة كهذا للتعلم بأسلوب مبرمج من الطراز الرفيع ..

كي لا أطيل عليك :
هذا الكود عالجه ليناسب برنامجك ويحسب لك المجموع :
كود :
       '-----------------------------------------------------------------------------------
       Dim ct As String = "Select Sum(qty) As SumOrders  from products Where ID_product = 105" ' رقم المادة مثلاً
       '-----------------------------------------------------------------------------------
       Dim Cmd As SqlCommand = New SqlCommand(ct, con)
       Dim da As SqlDataAdapter = New SqlDataAdapter(Cmd)
       Dim dt As DataTable = New DataTable
       da.Fill(dt)
       Dim qty2 As Integer
       qty2 = dt.Rows(0)("SumOrders").ToString


وفقك الله ..


RE: في حالة الكمية تساوي صفر - عبد العزيز البسكري - 27-10-22

شكرا لك أخ TAHA OKLA و بارك الله فيك و لك و جزاك خير الجزاء لما تقدمه كل يوم للإخوة السائلين
عسى الله أن يزيدها بموازين حسناتك إن شاء الله
أنا شخصيا و أتحدث فقط عن نفسي .. لا غير
قررت و منذ مدة عدم إبداء و لو الرأي بدون توفّر مثال بسيط يوضح المطلوب
أخ كريم طالب للتعلم .. هذا من حقه و طلباته أوامر
و لكن ليس من حقه أن يرهقني غيبيا و أقوم ببناء مشروع جديد و قاعدة بيانات جديدة و أجرب الأكواد تطبيقيا وافتراضيا و ذهنيا و أخمن و أتكهن خياليا لما يريد الوصول إليه
و بالأخير يقول لي ليس هذا المطلوب و ليس هذا ما أقصده
كلام عام ..عابر .. و لا أعني به أحد مهما كان 
تحياتي و إحتراماتي للجميع



RE: في حالة الكمية تساوي صفر - Taha Okla - 27-10-22

(27-10-22, 09:53 PM)عبد العزيز البسكري كتب :
شكرا لك أخ TAHA OKLA و بارك الله فيك و لك و جزاك خير الجزاء لما تقدمه كل يوم للإخوة السائلين
عسى الله أن يزيدها بموازين حسناتك إن شاء الله
أنا شخصيا و أتحدث فقط عن نفسي .. لا غير
قررت و منذ مدة عدم إبداء و لو الرأي بدون توفّر مثال بسيط يوضح المطلوب
أخ كريم طالب للتعلم .. هذا من حقه و طلباته أوامر
و لكن ليس من حقه أن يرهقني غيبيا و أقوم ببناء مشروع جديد و قاعدة بيانات جديدة و أجرب الأكواد تطبيقيا وافتراضيا و ذهنيا و أخمن و أتكهن خياليا لما يريد الوصول إليه
و بالأخير يقول لي ليس هذا المطلوب و ليس هذا ما أقصده
كلام عام ..عابر .. و لا أعني به أحد مهما كان 
تحياتي و إحتراماتي للجميع

جزاكم الله خيراً أستاذنا الكريم ، فمنكم ومن الأخوة الأفاضل نبقى نتعلم ونستفيد..

ولي نفس وجهة نظرك في تقديم المساعدة.
ولكن هنا كان لدي الكود جاهز في مشروع (قاعدة Access) عندي فعدلته تقريباً بما يناسب هذا المشروع.

وهنا لفت أنتباهي وجود متغير  غير معرف على كوده ..
فعرفت أنه نسخ الكود ولصقه بدون أن يجهد ذهنه في التفكير في هذا الكود.

ولو كان يعرف ماذا يعني هذا المتغير لما أحتاج أن يسأل ..
أجد صعوبة في تقبل عدم معرفة الأساسيات لشيء تطمح أن تكون في أعلى مرتبة فيه.
..

أتذكر قبل عشرين سنة (الشخص الذي علمني البرمجة-جزاه الله عني كل خير) بدأ معي من الصفر.
برنامج برسالة -
برنامج تغيير المسميات -
ثم برنامج لعبة الحظ (العشوائية).

ثم الحلقات والمصفوفات ..
ثم برنامج لعرض مسارات الملفات،
ثم برنامج لتشغيل الفيديو والصوت ثم قراءة ملفات نصية،

ثم برنامج للصور وعرض الصور.. والرسم.
ثم قواعد البيانات  بالأدوات الأساسية لمحرك  البحث المستخدم - ثم بأوامر الـ SQL (لأعرف الفرق بين كل أداة وسرعة كل كود).


أول برنامج حسابات لي كان بسيط جداً (برنامج لحسابات مشاركات زملاء السكن في غرفة السكن الجامعي)
وأخذ مني أكثر من 2000 سطر برمجي(مناقشة كل حالة من حالات المشاركين من دفع ومن استفاد وهكذا).
كنت لا أتوقف في أي مرحلة من مراحل البرنامج .. فكل شيء له أكثر من طريقة تجول بخاطري ..
بطريق صحيحة أو معوجة - كان المهم عندي إنها البرنامج بأسرع وقت ممكن..
..
ولكن بعد مضي أقل من عام استطعت أن أختصره لأقل من 800 سطر.

لأني أكتشفت أن هناك أساسيات لو كنت أعلمها لما أحتجت أن أناقش كثير من الحالات، بل كان يكفى صناعة (كود عام نناقش فيه حالة واحدة ونغير فيه المتغير مع كل تغيير بتغير المشارك) بدلاً من أن أكرر الكود لمناقشة الحالات مع كل عنصر من المشتركين.
وأظن لو عدت إليه الان لأختصرت أكثر من نصف الكود.

لأن كلما وجدت فرصة ووقت مناسب للتعلم أستغله بتعلم الأساسيات من جديد وأشاهد فيديوهات لمبرمجين مختلفين فلا بد أن أجد معلومة مختلفة وجديدة مع كل شخص.


الحديث يطول .. والعمر قصير ..

آسف ع الاطالة وجزاكم الله عنا كل خير..


RE: في حالة الكمية تساوي صفر - عبد العزيز البسكري - 27-10-22

(27-10-22, 11:02 PM)Taha Okla كتب :
(27-10-22, 09:53 PM)عبد العزيز البسكري كتب :
شكرا لك أخ TAHA OKLA و بارك الله فيك و لك و جزاك خير الجزاء لما تقدمه كل يوم للإخوة السائلين
عسى الله أن يزيدها بموازين حسناتك إن شاء الله
أنا شخصيا و أتحدث فقط عن نفسي .. لا غير
قررت و منذ مدة عدم إبداء و لو الرأي بدون توفّر مثال بسيط يوضح المطلوب
أخ كريم طالب للتعلم .. هذا من حقه و طلباته أوامر
و لكن ليس من حقه أن يرهقني غيبيا و أقوم ببناء مشروع جديد و قاعدة بيانات جديدة و أجرب الأكواد تطبيقيا وافتراضيا و ذهنيا و أخمن و أتكهن خياليا لما يريد الوصول إليه
و بالأخير يقول لي ليس هذا المطلوب و ليس هذا ما أقصده
كلام عام ..عابر .. و لا أعني به أحد مهما كان 
تحياتي و إحتراماتي للجميع

جزاكم الله خيراً أستاذنا الكريم ، فمنكم ومن الأخوة الأفاضل نبقى نتعلم ونستفيد..

ولي نفس وجهة نظرك في تقديم المساعدة.
ولكن هنا كان لدي الكود جاهز في مشروع (قاعدة Access) عندي فعدلته تقريباً بما يناسب هذا المشروع.

وهنا لفت أنتباهي وجود متغير  غير معرف على كوده ..
فعرفت أنه نسخ الكود ولصقه بدون أن يجهد ذهنه في التفكير في هذا الكود.

ولو كان يعرف ماذا يعني هذا المتغير لما أحتاج أن يسأل ..
أجد صعوبة في تقبل عدم معرفة الأساسيات لشيء تطمح أن تكون في أعلى مرتبة فيه.
..

أتذكر قبل عشرين سنة (الشخص الذي علمني البرمجة-جزاه الله عني كل خير) بدأ معي من الصفر.
برنامج برسالة -
برنامج تغيير المسميات -
ثم برنامج لعبة الحظ (العشوائية).

ثم الحلقات والمصفوفات ..
ثم برنامج لعرض مسارات الملفات،
ثم برنامج لتشغيل الفيديو والصوت ثم قراءة ملفات نصية،

ثم برنامج للصور وعرض الصور.. والرسم.
ثم قواعد البيانات  بالأدوات الأساسية لمحرك  البحث المستخدم - ثم بأوامر الـ SQL (لأعرف الفرق بين كل أداة وسرعة كل كود).


أول برنامج حسابات لي كان بسيط جداً (برنامج لحسابات مشاركات زملاء السكن في غرفة السكن الجامعي)
وأخذ مني أكثر من 2000 سطر برمجي(مناقشة كل حالة من حالات المشاركين من دفع ومن استفاد وهكذا).
كنت لا أتوقف في أي مرحلة من مراحل البرنامج .. فكل شيء له أكثر من طريقة تجول بخاطري ..
بطريق صحيحة أو معوجة - كان المهم عندي إنها البرنامج بأسرع وقت ممكن..
..
ولكن بعد مضي أقل من عام استطعت أن أختصره لأقل من 800 سطر.

لأني أكتشفت أن هناك أساسيات لو كنت أعلمها لما أحتجت أن أناقش كثير من الحالات، بل كان يكفى صناعة (كود عام نناقش فيه حالة واحدة ونغير فيه المتغير مع كل تغيير بتغير المشارك) بدلاً من أن أكرر الكود لمناقشة الحالات مع كل عنصر من المشتركين.
وأظن لو عدت إليه الان لأختصرت أكثر من نصف الكود.

لأن كلما وجدت فرصة ووقت مناسب للتعلم أستغله بتعلم الأساسيات من جديد وأشاهد فيديوهات لمبرمجين مختلفين فلا بد أن أجد معلومة مختلفة وجديدة مع كل شخص.


الحديث يطول .. والعمر قصير ..

آسف ع الاطالة وجزاكم الله عنا كل خير..

بارك الله فيك و لك و جزاك خير الجزاء
و أطال بعمرك و بعمر من تحب .. في محبة الله و مرضاته و الله أخي طه 
بالنسبة لي مجرد هواية 
و بدأت فعلا أشعر أنّ لكل
Sub
هناك
End
تحياتي و احتراماتي



RE: في حالة الكمية تساوي صفر - ali_ahmed12 - 27-10-22

(27-10-22, 11:06 PM)عبد العزيز البسكري كتب :
(27-10-22, 11:02 PM)Taha Okla كتب :
(27-10-22, 09:53 PM)عبد العزيز البسكري كتب :
شكرا لك أخ TAHA OKLA و بارك الله فيك و لك و جزاك خير الجزاء لما تقدمه كل يوم للإخوة السائلين
عسى الله أن يزيدها بموازين حسناتك إن شاء الله
أنا شخصيا و أتحدث فقط عن نفسي .. لا غير
قررت و منذ مدة عدم إبداء و لو الرأي بدون توفّر مثال بسيط يوضح المطلوب
أخ كريم طالب للتعلم .. هذا من حقه و طلباته أوامر
و لكن ليس من حقه أن يرهقني غيبيا و أقوم ببناء مشروع جديد و قاعدة بيانات جديدة و أجرب الأكواد تطبيقيا وافتراضيا و ذهنيا و أخمن و أتكهن خياليا لما يريد الوصول إليه
و بالأخير يقول لي ليس هذا المطلوب و ليس هذا ما أقصده
كلام عام ..عابر .. و لا أعني به أحد مهما كان 
تحياتي و إحتراماتي للجميع

جزاكم الله خيراً أستاذنا الكريم ، فمنكم ومن الأخوة الأفاضل نبقى نتعلم ونستفيد..

ولي نفس وجهة نظرك في تقديم المساعدة.
ولكن هنا كان لدي الكود جاهز في مشروع (قاعدة Access) عندي فعدلته تقريباً بما يناسب هذا المشروع.

وهنا لفت أنتباهي وجود متغير  غير معرف على كوده ..
فعرفت أنه نسخ الكود ولصقه بدون أن يجهد ذهنه في التفكير في هذا الكود.

ولو كان يعرف ماذا يعني هذا المتغير لما أحتاج أن يسأل ..
أجد صعوبة في تقبل عدم معرفة الأساسيات لشيء تطمح أن تكون في أعلى مرتبة فيه.
..

أتذكر قبل عشرين سنة (الشخص الذي علمني البرمجة-جزاه الله عني كل خير) بدأ معي من الصفر.
برنامج برسالة -
برنامج تغيير المسميات -
ثم برنامج لعبة الحظ (العشوائية).

ثم الحلقات والمصفوفات ..
ثم برنامج لعرض مسارات الملفات،
ثم برنامج لتشغيل الفيديو والصوت ثم قراءة ملفات نصية،

ثم برنامج للصور وعرض الصور.. والرسم.
ثم قواعد البيانات  بالأدوات الأساسية لمحرك  البحث المستخدم - ثم بأوامر الـ SQL (لأعرف الفرق بين كل أداة وسرعة كل كود).


أول برنامج حسابات لي كان بسيط جداً (برنامج لحسابات مشاركات زملاء السكن في غرفة السكن الجامعي)
وأخذ مني أكثر من 2000 سطر برمجي(مناقشة كل حالة من حالات المشاركين من دفع ومن استفاد وهكذا).
كنت لا أتوقف في أي مرحلة من مراحل البرنامج .. فكل شيء له أكثر من طريقة تجول بخاطري ..
بطريق صحيحة أو معوجة - كان المهم عندي إنها البرنامج بأسرع وقت ممكن..
..
ولكن بعد مضي أقل من عام استطعت أن أختصره لأقل من 800 سطر.

لأني أكتشفت أن هناك أساسيات لو كنت أعلمها لما أحتجت أن أناقش كثير من الحالات، بل كان يكفى صناعة (كود عام نناقش فيه حالة واحدة ونغير فيه المتغير مع كل تغيير بتغير المشارك) بدلاً من أن أكرر الكود لمناقشة الحالات مع كل عنصر من المشتركين.
وأظن لو عدت إليه الان لأختصرت أكثر من نصف الكود.

لأن كلما وجدت فرصة ووقت مناسب للتعلم أستغله بتعلم الأساسيات من جديد وأشاهد فيديوهات لمبرمجين مختلفين فلا بد أن أجد معلومة مختلفة وجديدة مع كل شخص.


الحديث يطول .. والعمر قصير ..

آسف ع الاطالة وجزاكم الله عنا كل خير..

بارك الله فيك و لك و جزاك خير الجزاء
و أطال بعمرك و بعمر من تحب .. في محبة الله و مرضاته و الله أخي طه 
بالنسبة لي مجرد هواية 
و بدأت فعلا أشعر أنّ لكل
Sub
هناك
End
تحياتي و احتراماتي
شكرا علي رد اخ طه وأخ عبد العزيز 
انا اقصد dt2 مصفوفة سجلات هو datatable ملءته بجدول منتجات موضح في صوره وانا عامل جمله update كل ما ابيع 
ينقص كميه من جدول من جدول منتجات اريد فقط عندما تكون كميه صفر في جدول منتجات لصنف معين يظهر تنبيه للمستخدم.....
وبخصوص تعلم اساسيات درستهم من تعريف متغيرات ثم جمله if و switch و for و while و do while ثم مصفوفات احاديه وثناءية 
ثم تعامل معا ملفات ثم خصائص فورم وادوات toolbox 
وكل أداة جربت عليه ثم درست sql  انواع بيانات جمله إدخال insert وجمله حدف وتعديل و معامل ترتيب ودوال التجميع sum count max avg min ثم درست transaction و trigger وجمله استعلام داخل جمله استعلام sub query ودرست view جدول مؤقت ودرست تكون مستخدم وتعطيه صلاحيات علي جدول معين 
ثم درست تقنية ado.net بوضعه منفصل ومتصل 
درست قواعد البيانات في جامعه مقرر نظري وعملي 
من مخطط erd قاموس بيانات تحويل مخطط erd الي جدول 
ودرست صيغ تطبيع 0nf الي 3nf 
ياريت عدم استهزاء بالأعضاء الذي يردون استفسار 
للعلم انا لا اريد بيع شي 
انم اتعلم علي كورس أخ فاضل خالد السعداني  كورس مبيعات 
هو عامله بتقنية data Access layer 
احاول بكل طرق أن أجد داءما افكار خاصه في معادلات حسابيه 
وانا طالب لزالت في مرحله دراسه ..... وفقك الله

(27-10-22, 09:30 PM)Taha Okla كتب :
(27-10-22, 07:36 PM)ali_ahmed12 كتب : السلام عليكم 
هادي محاولتي في حاله انه كميه تساوي صفر يظهر رساله خطا ياريت الي يعرف حل لايبخل علي وشكرا 
مرفق كود برمجي جدول قاعدة بيانات صورة خطا 
كود :
If e.KeyCode = Keys.Enter Then
           Dim qty2 As Integer
           da = New SqlDataAdapter("select qty from products ", Module1.con)
           da.Fill(dt2)
           qty2 = Val(dt2.Rows(0)(5))
           If qty2 <= 0 Then
               Dim rMsg As MsgBoxResult
               rMsg = MsgBox("الكمية المطلوبة غير متاحة،، هل تريد الاستمرار بالتسجيل ؟", vbYesNo + vbExclamation, "تحذير")
               If rMsg = vbNo Then Exit Sub
               ' إذا كان (لا) لا يريد الاستمرار سيتم انهاء الحدث من هنا بدون تنفيذ باقي الكود
               ' وإذا اختر نعم (يعني الاستمرار) سيتم تنفيذ باقي الكود
           Else
               For i As Integer = 0 To DGV_PRODUCT.Rows.Count - 1
                   If DGV_PRODUCT.Rows(i).Cells(0).Value = txtid.Text Then
                       MsgBox("هدا المنتج موجود مسبقا", MsgBoxStyle.Critical, "تحذير")
                       cl()
                       Exit Sub
                   End If
               Next
               Dim row As DataRow = dt.NewRow
               row(0) = txtid.Text
               row(1) = txtlabel.Text
               row(2) = txtqty.Text
               row(3) = txtprice.Text
               row(4) = txtamount.Text
               dt.Rows.Add(row)
               Me.DGV_PRODUCT.DataSource = dt
               cl()
               tootal()
           End If
       End If
جدول قاعدة بيانات لهدا اخترت dt.rows(0)(5)

شو يعني  dt2   الموجودة في كودك  ؟؟؟

العملية ليست نسخ ولصق أكواد ...
تنسخ كود من مكان ما ثم تلصقه هنا .. بدون أن تعرف ما هذا الشيء ..

الأمر بسيط في حال كنت تدرك الأساسيات ..
والله لا أعرف ماذا أقول لك ..

لتستطيع أن تصنع برنامج حسابات عليك أن تعرف أساسيات اللغة التي تصنعه بها :
وفي حال برنامجك : تحتاج لمعرفه أساسيات الـ VB.net  + أساسيات لغة الاستعلام SQL

هناك كتاب يعلم الفيجول بيزك بطريقة بسيطة جداً  وهو كتاب المهندس أحمد جمال.
أنصحك بأن تقرأ كل كلمة فيه ..  
فإن العمر يمضي ولن تجد فرصة كهذا للتعلم بأسلوب مبرمج من الطراز الرفيع ..

كي لا أطيل عليك :
هذا الكود عالجه ليناسب برنامجك ويحسب لك المجموع :
 Dim qty2 As Integer
       qty2 = dt.Rows(0)("SumOrders").ToString


وفقك الله ..
بارك الله فيك عدلت علي كودك وهو يعمل الانه ميه بالمئة مشكور اخ طه 

كود :
Private Sub txtprice_KeyDown(sender As Object, e As KeyEventArgs) Handles txtprice.KeyDown

       If e.KeyCode = Keys.Enter Then
           '-----------------------------------------------------------------------------------
           Dim ct As String = "Select Sum(qty) As SumOrders  from products Where ID_product = '" & txtid.Text & "'" ' رقم المادة مثلاً
           '-----------------------------------------------------------------------------------
           Dim Cmd As SqlCommand = New SqlCommand(ct, Module1.con)
           Dim da As SqlDataAdapter = New SqlDataAdapter(Cmd)
           Dim dt2 As DataTable = New DataTable
           da.Fill(dt2)
           Dim qty2 As Integer
           qty2 = dt2.Rows(0)("SumOrders").ToString
           For i As Integer = 0 To DGV_PRODUCT.Rows.Count - 1
               If DGV_PRODUCT.Rows(i).Cells(0).Value = txtid.Text Then
                   MsgBox("هدا المنتج موجود مسبقا", MsgBoxStyle.Critical, "تحذير")
                   cl()
                   Exit Sub
               End If
           Next
           If qty2 <= 0 Then
               Dim rMsg As MsgBoxResult
               rMsg = MsgBox("الكمية المطلوبة غير متاحة،، هل تريد الاستمرار بالتسجيل ؟", vbYesNo + vbExclamation, "تحذير")
               If rMsg = vbNo Then
                   txtid.Clear()
                   txtlabel.Clear()
                   txtqty.Clear()
                   txtprice.Clear()
                   txtamount.Clear()
                   TxtDes.Focus()
                   Exit Sub

                   ' إذا كان (لا) لا يريد الاستمرار سيتم انهاء الحدث من هنا بدون تنفيذ باقي الكود
                   ' وإذا اختر نعم (يعني الاستمرار) سيتم تنفيذ باقي الكود
               Else

                   Dim row As DataRow = dt.NewRow
                   row(0) = txtid.Text
                   row(1) = txtlabel.Text
                   row(2) = txtqty.Text
                   row(3) = txtprice.Text
                   row(4) = txtamount.Text
                   dt.Rows.Add(row)
                   Me.DGV_PRODUCT.DataSource = dt
                   cl()
                   tootal()
               End If
           Else
               Dim row As DataRow = dt.NewRow
               row(0) = txtid.Text
               row(1) = txtlabel.Text
               row(2) = txtqty.Text
               row(3) = txtprice.Text
               row(4) = txtamount.Text
               dt.Rows.Add(row)
               Me.DGV_PRODUCT.DataSource = dt
               cl()
               tootal()

           End If

       End If


   End Sub



RE: في حالة الكمية تساوي صفر - Taha Okla - 28-10-22

جرب هذا :

كود :
       If e.KeyCode = Keys.Enter Then
           '-----------------------------------------------------------------------------------
           Dim ct As String = "Select Sum(qty) As SumOrders  from products Where ID_product = '" & txtid.Text & "'" ' رقم المادة مثلاً
           '-----------------------------------------------------------------------------------
           Dim Cmd As SqlCommand = New SqlCommand(ct, Module1.con)
           Dim da As SqlDataAdapter = New SqlDataAdapter(Cmd)
           Dim dt2 As DataTable = New DataTable
           da.Fill(dt2)
           Dim qty2 As Integer
           qty2 = dt2.Rows(0)("SumOrders").ToString
           If qty2 <= 0 Then
               Dim rMsg As MsgBoxResult
               rMsg = MsgBox("الكمية المطلوبة غير متاحة،، هل تريد الاستمرار بالتسجيل ؟", vbYesNo + vbExclamation, "تحذير")
               If rMsg = vbNo Then
                   txtid.Clear()
                   txtlabel.Clear()
                   txtqty.Clear()
                   txtprice.Clear()
                   TxtDes.Focus()
                   Exit Sub
               End If
               ' إذا كان (لا) لا يريد الاستمرار سيتم انهاء الحدث من هنا بدون تنفيذ باقي الكود
               ' وإذا اختر نعم (يعني الاستمرار) سيتم تنفيذ باقي الكود
           End If

           For i As Integer = 0 To DGV_PRODUCT.Rows.Count - 1
               If DGV_PRODUCT.Rows(i).Cells(0).Value = txtid.Text Then
                   MsgBox("هدا المنتج موجود مسبقا", MsgBoxStyle.Critical, "تحذير")
                   cl()
                   Exit Sub
               End If
           Next
           Dim row As DataRow = dt.NewRow
           row(0) = txtid.Text
           row(1) = txtlabel.Text
           row(2) = txtqty.Text
           row(3) = txtprice.Text
           row(4) = txtamount.Text
           dt.Rows.Add(row)
           Me.DGV_PRODUCT.DataSource = dt
           cl()
           tootal()
       End If

ثم لا يوجد أحد هنا يستهزئ بك أو بغيرك ..

من طريقة أسلوبك في الكتابة واضح أنك لست عربي ..
لذلك لم تميز أننا نستهزئ أم جديين .
نحن العرب(في نفس الدولة) إذا أختلفت لهجاتنا نفهم على بعضنا البعض خطأً فكيف (ببلدين مختلفين) أو بشخص غير عربي ..

---
ثانيا المشكلة التي وقعت فيها هنا تدل على ضعف الأساسيات لديك . 
كيف تريد أن ينفذ كود شرطي كل الحالات فيه بالرغم من أنه من أساسيات الشرط أن ينفذ حالة واحدة فقط ؟؟؟
الأساسيات تعني تطبيق على كل ما يخطر ببالك من حالات .. عليك أن تتعم ثم تجرب ثم تجرب ثم تجرب حتى لا يبقى في نفسك شيء على هذا الكود.
بإمكانك أن تقرأ كتاب برمجي من ألف صفحة في ثلاثة أيام، ولكن لا يمكنك أن تفهم كل ما فيه بأقل من عدة سنوات.
فليس كل ما كتبه مؤلف الكتاب موجود على سطور الكتاب،، هناك تعلميات بين السطور  تركها المؤلف لك لتكتشفها بعد أن تجرب بنفسك (تعادل ما كتبه المؤلف وأكثر)..
---

تعلمت من مشايخنا : 
- بأنه عليك دوماً إفتراض حسن النية لدى كل من يقابلك حتى يجهر صراحة بأنه يسيء المعاملة..
- والصاحب الذي يقسى عليك ليعلمك خير من الأخ الذي يعمل ببدلاً عنك ليريحك ..


RE: في حالة الكمية تساوي صفر - ali_ahmed12 - 28-10-22

(28-10-22, 12:57 AM)Taha Okla كتب : جرب هذا :

كود :
       If e.KeyCode = Keys.Enter Then
           '-----------------------------------------------------------------------------------
           Dim ct As String = "Select Sum(qty) As SumOrders  from products Where ID_product = '" & txtid.Text & "'" ' رقم المادة مثلاً
           '-----------------------------------------------------------------------------------
           Dim Cmd As SqlCommand = New SqlCommand(ct, Module1.con)
           Dim da As SqlDataAdapter = New SqlDataAdapter(Cmd)
           Dim dt2 As DataTable = New DataTable
           da.Fill(dt2)
           Dim qty2 As Integer
           qty2 = dt2.Rows(0)("SumOrders").ToString
           If qty2 <= 0 Then
               Dim rMsg As MsgBoxResult
               rMsg = MsgBox("الكمية المطلوبة غير متاحة،، هل تريد الاستمرار بالتسجيل ؟", vbYesNo + vbExclamation, "تحذير")
               If rMsg = vbNo Then
                   txtid.Clear()
                   txtlabel.Clear()
                   txtqty.Clear()
                   txtprice.Clear()
                   TxtDes.Focus()
                   Exit Sub
               End If
               ' إذا كان (لا) لا يريد الاستمرار سيتم انهاء الحدث من هنا بدون تنفيذ باقي الكود
               ' وإذا اختر نعم (يعني الاستمرار) سيتم تنفيذ باقي الكود
           End If

           For i As Integer = 0 To DGV_PRODUCT.Rows.Count - 1
               If DGV_PRODUCT.Rows(i).Cells(0).Value = txtid.Text Then
                   MsgBox("هدا المنتج موجود مسبقا", MsgBoxStyle.Critical, "تحذير")
                   cl()
                   Exit Sub
               End If
           Next
           Dim row As DataRow = dt.NewRow
           row(0) = txtid.Text
           row(1) = txtlabel.Text
           row(2) = txtqty.Text
           row(3) = txtprice.Text
           row(4) = txtamount.Text
           dt.Rows.Add(row)
           Me.DGV_PRODUCT.DataSource = dt
           cl()
           tootal()
       End If

---
ثانيا المشكلة التي وقعت فيها هنا تدل على ضعف الأساسيات لديك . 
كيف تريد أن ينفذ كود شرطي كل الحالات فيه بالرغم من أنه من أساسيات الشرط أن ينفذ حالة واحدة فقط ؟؟؟
الأساسيات تعني تطبيق على كل ما يخطر ببالك من حالات .. عليك أن تتعم ثم تجرب ثم تجرب ثم تجرب حتى لا يبقى في نفسك شيء على هذا الكود.
بإمكانك أن تقرأ كتاب برمجي من ألف صفحة في ثلاثة أيام، ولكن لا يمكنك أن تفهم كل ما فيه بأقل من عدة سنوات.
فليس كل ما كتبه مؤلف الكتاب موجود على سطور الكتاب،، هناك تعلميات بين السطور  تركها المؤلف لك لتكتشفها بعد أن تجرب بنفسك (تعادل ما كتبه المؤلف وأكثر)..
---
[b]ثم لا يوجد أحد هنا يستهزأ بك أو بغيرك ..
[/b]
من طريقة أسلوبك في الكتابة واضح أنك لست عربي ..
[b]لذلك لم تميز أننا نستهزأ أم جديين .[/b]
[b]---[/b]
نحن العرب(في نفس الدولة) إذا أختلفت لهجاتنا نفهم على بعضنا البعض خطأً فكيف (ببلدين مختلفين) أو بشخص غير عربي ..
تعلمت من مشايخنا : 
- بأنه عليك دوماً إفتراض حسن النية لدى كل من يقايلك حتى يجهر صراحة بأنه يسيء المعاملة..
- والصاحب الذي يقسى عليك ليعلمك خير من الأخ الذي يعلم ببدلاً عنك ليريحك ..
لا انا عربي مسلم ورسولي سيد الخلق محمد انا في مرحلة تعلم اخ طه صحيح لست ملم بكل شي مثلا الان عملت محاوله من كود انه كميه تساوي صفر استغله في كود طباعه وهو جلب اكبر رقم فاتوره لكي اطبع منتجات في اخر فاتورة بدون تكرار لانه في سابق كانت تطبع اخر فاتوره مع موجود في مره سابقه هادي محاولتي في كود هل هيا صحيح او خاطئه هل تعلم انه قروب هدا رغم الرد متاخر لكن لاستسلم في محاولة وصول للمعلومة بارك الله فيك انك تساعد مجاني نادر ما تجد اشخاص يساعدوني مجانا هادي محاولتي كود طباعه 
كود :
Dim ct As String = "Select max(id_order) As maxOrders  from Tbl_Orderes Where ID_order = '" & TextBox2.Text & "'" ' اكبر رقم فاتورة
       '-----------------------------------------------------------------------------------
       Dim Cmd As SqlCommand = New SqlCommand(ct, Module1.con)
       Dim da As SqlDataAdapter = New SqlDataAdapter(Cmd)
       Dim dt2 As DataTable = New DataTable
       da.Fill(dt2)
       Dim qty2 As Integer
       qty2 = dt2.Rows(0)("maxOrders")

       Dim CR As New CrystalReport5
       CR.SetDataSource(qty2)
       'CR.SetParameterValue("@id", Me.DGV_PRODUCT.CurrentRow.Cells(0).Value.ToString())
       Form_print.CrystalReportViewer1.ReportSource = CR
       Form_print.Show()



RE: في حالة الكمية تساوي صفر - Taha Okla - 28-10-22

(28-10-22, 01:06 AM)ali_ahmed12 كتب : لا انا عربي مسلم ورسولي سيد الخلق محمد انا في مرحلة تعلم اخ طه صحيح لست ملم بكل شي مثلا الان عملت محاوله من كود انه كميه تساوي صفر استغله في كود طباعه وهو جلب اكبر رقم فاتوره لكي اطبع منتجات في اخر فاتورة بدون تكرار لانه في سابق كانت تطبع اخر فاتوره مع موجود في مره سابقه هادي محاولتي في كود هل هيا صحيح او خاطئه هل تعلم انه قروب هدا رغم الرد متاخر لكن لاستسلم في محاولة وصول للمعلومة بارك الله فيك انك تساعد مجاني نادر ما تجد اشخاص يساعدوني مجانا هادي محاولتي كود طباعه 
كود :
Dim ct As String = "Select max(id_order) As maxOrders  from Tbl_Orderes Where ID_order = '" & TextBox2.Text & "'" ' اكبر رقم فاتورة
       '-----------------------------------------------------------------------------------
       Dim Cmd As SqlCommand = New SqlCommand(ct, Module1.con)
       Dim da As SqlDataAdapter = New SqlDataAdapter(Cmd)
       Dim dt2 As DataTable = New DataTable
       da.Fill(dt2)
       Dim qty2 As Integer
       qty2 = dt2.Rows(0)("maxOrders")

       Dim CR As New CrystalReport5
       CR.SetDataSource(qty2)
       'CR.SetParameterValue("@id", Me.DGV_PRODUCT.CurrentRow.Cells(0).Value.ToString())
       Form_print.CrystalReportViewer1.ReportSource = CR
       Form_print.Show()

من الاسم واضح أنك مسلم ..  وأسأل الله لك دوام التوفيق والهداية ..

ما دمت عربي  :
لماذا تسقط عنك أل التعريف في أغلب الكلمات التي تكتبها ؟؟!! ..

نحن عرب ونفخر بأننا الله أختصنا بأن تكون لغتنا هي اللغة التي نزل بها قرآننا العظيم ..
وأحزن على نفسي عندما أرى أعجمي ويتقن قواعد اللغة العربية أكثر مني ..

نسأل الله لك دوام التوفيق ..


RE: في حالة الكمية تساوي صفر - ali_ahmed12 - 28-10-22

(28-10-22, 01:13 AM)Taha Okla كتب :
(28-10-22, 01:06 AM)ali_ahmed12 كتب : لا انا عربي مسلم ورسولي سيد الخلق محمد انا في مرحلة تعلم اخ طه صحيح لست ملم بكل شي مثلا الان عملت محاوله من كود انه كميه تساوي صفر استغله في كود طباعه وهو جلب اكبر رقم فاتوره لكي اطبع منتجات في اخر فاتورة بدون تكرار لانه في سابق كانت تطبع اخر فاتوره مع موجود في مره سابقه هادي محاولتي في كود هل هيا صحيح او خاطئه هل تعلم انه قروب هدا رغم الرد متاخر لكن لاستسلم في محاولة وصول للمعلومة بارك الله فيك انك تساعد مجاني نادر ما تجد اشخاص يساعدوني مجانا هادي محاولتي كود طباعه 
كود :
Dim ct As String = "Select max(id_order) As maxOrders  from Tbl_Orderes Where ID_order = '" & TextBox2.Text & "'" ' اكبر رقم فاتورة
       '-----------------------------------------------------------------------------------
       Dim Cmd As SqlCommand = New SqlCommand(ct, Module1.con)
       Dim da As SqlDataAdapter = New SqlDataAdapter(Cmd)
       Dim dt2 As DataTable = New DataTable
       da.Fill(dt2)
       Dim qty2 As Integer
       qty2 = dt2.Rows(0)("maxOrders")

       Dim CR As New CrystalReport5
       CR.SetDataSource(qty2)
       'CR.SetParameterValue("@id", Me.DGV_PRODUCT.CurrentRow.Cells(0).Value.ToString())
       Form_print.CrystalReportViewer1.ReportSource = CR
       Form_print.Show()

من الاسم واضح أنك مسلم ..  وأسأل الله لك دوام التوفيق والهداية ..

ما دمت عربي  :
لماذا تسقط عنك أل التعريف في أغلب الكلمات التي تكتبها ؟؟!! ..

نحن عرب ونفخر بأننا الله أختصنا بأن تكون لغتنا هي اللغة التي نزل بها قرآننا العظيم ..
وأحزن على نفسي عندما أرى أعجمي ويتقن قواعد اللغة العربية أكثر مني ..

نسأل الله لك دوام التوفيق ..

توا كيف كود طباعه اريد يطبع منتجات اخر مره فقط هو يطبع لي حتا منتجات سابقه يعني قديمه معا جديده 
هدا كود زر طباعه 
كود :
Private Sub Button3_Click_1(sender As Object, e As EventArgs) Handles print_invoice.Click


       Dim CR As New CrystalReport5
       Form_print.CrystalReportViewer1.ReportSource = CR
       Form_print.Show()

   End Sub

هدا استعلام تقرير
كود :
ALTER  proc [dbo].[Get_order_detils_for_print]  

as
SELECT Tbl_Order_detils.ID_product
     ,Tbl_Orderes.Des
      ,Tbl_Orderes.ID_Order
        ,order_date
        ,salesman
        ,TBL_Customers.ID
        ,TBL_Customers.FullName
        ,TBL_Customers.TEL
        ,PRODUCTS.ID_product
        ,PRODUCTS.label
     ,Tbl_Order_detils.Qty
     ,Tbl_Order_detils.price
     ,Tbl_Order_detils.Amount
 FROM [dbo].[Tbl_Order_detils]
inner join Tbl_Orderes
on Tbl_Orderes.ID_Order=Tbl_Order_detils.ID_Order
inner join TBL_Customers
on TBL_Customers.ID=Tbl_Orderes.ID_CUSTOMER
inner join PRODUCTS
on PRODUCTS.ID_product=Tbl_Order_detils.ID_product