السلام عليكم
هادي محاولتي في حاله انه كميه تساوي صفر يظهر رساله خطا ياريت الي يعرف حل لايبخل علي وشكرا
مرفق كود برمجي جدول قاعدة بيانات صورة خطا
كود :
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
(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
شكرا لك أخ TAHA OKLA و بارك الله فيك و لك و جزاك خير الجزاء لما تقدمه كل يوم للإخوة السائلين
عسى الله أن يزيدها بموازين حسناتك إن شاء الله
أنا شخصيا و أتحدث فقط عن نفسي .. لا غير
قررت و منذ مدة عدم إبداء و لو الرأي بدون توفّر مثال بسيط يوضح المطلوب
أخ كريم طالب للتعلم .. هذا من حقه و طلباته أوامر
و لكن ليس من حقه أن يرهقني غيبيا و أقوم ببناء مشروع جديد و قاعدة بيانات جديدة و أجرب الأكواد تطبيقيا وافتراضيا و ذهنيا و أخمن و أتكهن خياليا لما يريد الوصول إليه
و بالأخير يقول لي ليس هذا المطلوب و ليس هذا ما أقصده
شكرا لك أخ TAHA OKLA و بارك الله فيك و لك و جزاك خير الجزاء لما تقدمه كل يوم للإخوة السائلين
عسى الله أن يزيدها بموازين حسناتك إن شاء الله
أنا شخصيا و أتحدث فقط عن نفسي .. لا غير
قررت و منذ مدة عدم إبداء و لو الرأي بدون توفّر مثال بسيط يوضح المطلوب
أخ كريم طالب للتعلم .. هذا من حقه و طلباته أوامر
و لكن ليس من حقه أن يرهقني غيبيا و أقوم ببناء مشروع جديد و قاعدة بيانات جديدة و أجرب الأكواد تطبيقيا وافتراضيا و ذهنيا و أخمن و أتكهن خياليا لما يريد الوصول إليه
و بالأخير يقول لي ليس هذا المطلوب و ليس هذا ما أقصده
كلام عام ..عابر .. و لا أعني به أحد مهما كان
تحياتي و إحتراماتي للجميع
جزاكم الله خيراً أستاذنا الكريم ، فمنكم ومن الأخوة الأفاضل نبقى نتعلم ونستفيد..
ولي نفس وجهة نظرك في تقديم المساعدة. ولكن هنا كان لدي الكود جاهز في مشروع (قاعدة Access) عندي فعدلته تقريباً بما يناسب هذا المشروع.
وهنا لفت أنتباهي وجود متغير غير معرف على كوده ..
فعرفت أنه نسخ الكود ولصقه بدون أن يجهد ذهنه في التفكير في هذا الكود. ولو كان يعرف ماذا يعني هذا المتغير لما أحتاج أن يسأل .. أجد صعوبة في تقبل عدم معرفة الأساسيات لشيء تطمح أن تكون في أعلى مرتبة فيه.
.. أتذكر قبل عشرين سنة (الشخص الذي علمني البرمجة-جزاه الله عني كل خير) بدأ معي من الصفر.
برنامج برسالة -
برنامج تغيير المسميات -
ثم برنامج لعبة الحظ (العشوائية). ثم الحلقات والمصفوفات ..
ثم برنامج لعرض مسارات الملفات،
ثم برنامج لتشغيل الفيديو والصوت ثم قراءة ملفات نصية، ثم برنامج للصور وعرض الصور.. والرسم.
ثم قواعد البيانات بالأدوات الأساسية لمحرك البحث المستخدم - ثم بأوامر الـ SQL (لأعرف الفرق بين كل أداة وسرعة كل كود).
أول برنامج حسابات لي كان بسيط جداً (برنامج لحسابات مشاركات زملاء السكن في غرفة السكن الجامعي)
وأخذ مني أكثر من 2000 سطر برمجي(مناقشة كل حالة من حالات المشاركين من دفع ومن استفاد وهكذا).
كنت لا أتوقف في أي مرحلة من مراحل البرنامج .. فكل شيء له أكثر من طريقة تجول بخاطري ..
بطريق صحيحة أو معوجة - كان المهم عندي إنها البرنامج بأسرع وقت ممكن..
..
ولكن بعد مضي أقل من عام استطعت أن أختصره لأقل من 800 سطر. لأني أكتشفت أن هناك أساسيات لو كنت أعلمها لما أحتجت أن أناقش كثير من الحالات، بل كان يكفى صناعة (كود عام نناقش فيه حالة واحدة ونغير فيه المتغير مع كل تغيير بتغير المشارك) بدلاً من أن أكرر الكود لمناقشة الحالات مع كل عنصر من المشتركين. وأظن لو عدت إليه الان لأختصرت أكثر من نصف الكود.
لأن كلما وجدت فرصة ووقت مناسب للتعلم أستغله بتعلم الأساسيات من جديد وأشاهد فيديوهات لمبرمجين مختلفين فلا بد أن أجد معلومة مختلفة وجديدة مع كل شخص.
27-10-22, 11:06 PM (آخر تعديل لهذه المشاركة : 27-10-22, 11:07 PM {2} بواسطة عبد العزيز البسكري.)
(27-10-22, 11:02 PM)Taha Okla كتب :
(27-10-22, 09:53 PM)عبد العزيز البسكري كتب :
شكرا لك أخ TAHA OKLA و بارك الله فيك و لك و جزاك خير الجزاء لما تقدمه كل يوم للإخوة السائلين
عسى الله أن يزيدها بموازين حسناتك إن شاء الله
أنا شخصيا و أتحدث فقط عن نفسي .. لا غير
قررت و منذ مدة عدم إبداء و لو الرأي بدون توفّر مثال بسيط يوضح المطلوب
أخ كريم طالب للتعلم .. هذا من حقه و طلباته أوامر
و لكن ليس من حقه أن يرهقني غيبيا و أقوم ببناء مشروع جديد و قاعدة بيانات جديدة و أجرب الأكواد تطبيقيا وافتراضيا و ذهنيا و أخمن و أتكهن خياليا لما يريد الوصول إليه
و بالأخير يقول لي ليس هذا المطلوب و ليس هذا ما أقصده
كلام عام ..عابر .. و لا أعني به أحد مهما كان
تحياتي و إحتراماتي للجميع
جزاكم الله خيراً أستاذنا الكريم ، فمنكم ومن الأخوة الأفاضل نبقى نتعلم ونستفيد..
ولي نفس وجهة نظرك في تقديم المساعدة. ولكن هنا كان لدي الكود جاهز في مشروع (قاعدة Access) عندي فعدلته تقريباً بما يناسب هذا المشروع.
وهنا لفت أنتباهي وجود متغير غير معرف على كوده ..
فعرفت أنه نسخ الكود ولصقه بدون أن يجهد ذهنه في التفكير في هذا الكود. ولو كان يعرف ماذا يعني هذا المتغير لما أحتاج أن يسأل .. أجد صعوبة في تقبل عدم معرفة الأساسيات لشيء تطمح أن تكون في أعلى مرتبة فيه.
.. أتذكر قبل عشرين سنة (الشخص الذي علمني البرمجة-جزاه الله عني كل خير) بدأ معي من الصفر.
برنامج برسالة -
برنامج تغيير المسميات -
ثم برنامج لعبة الحظ (العشوائية). ثم الحلقات والمصفوفات ..
ثم برنامج لعرض مسارات الملفات،
ثم برنامج لتشغيل الفيديو والصوت ثم قراءة ملفات نصية، ثم برنامج للصور وعرض الصور.. والرسم.
ثم قواعد البيانات بالأدوات الأساسية لمحرك البحث المستخدم - ثم بأوامر الـ SQL (لأعرف الفرق بين كل أداة وسرعة كل كود).
أول برنامج حسابات لي كان بسيط جداً (برنامج لحسابات مشاركات زملاء السكن في غرفة السكن الجامعي)
وأخذ مني أكثر من 2000 سطر برمجي(مناقشة كل حالة من حالات المشاركين من دفع ومن استفاد وهكذا).
كنت لا أتوقف في أي مرحلة من مراحل البرنامج .. فكل شيء له أكثر من طريقة تجول بخاطري ..
بطريق صحيحة أو معوجة - كان المهم عندي إنها البرنامج بأسرع وقت ممكن..
..
ولكن بعد مضي أقل من عام استطعت أن أختصره لأقل من 800 سطر. لأني أكتشفت أن هناك أساسيات لو كنت أعلمها لما أحتجت أن أناقش كثير من الحالات، بل كان يكفى صناعة (كود عام نناقش فيه حالة واحدة ونغير فيه المتغير مع كل تغيير بتغير المشارك) بدلاً من أن أكرر الكود لمناقشة الحالات مع كل عنصر من المشتركين. وأظن لو عدت إليه الان لأختصرت أكثر من نصف الكود.
لأن كلما وجدت فرصة ووقت مناسب للتعلم أستغله بتعلم الأساسيات من جديد وأشاهد فيديوهات لمبرمجين مختلفين فلا بد أن أجد معلومة مختلفة وجديدة مع كل شخص.
الحديث يطول .. والعمر قصير ..
آسف ع الاطالة وجزاكم الله عنا كل خير..
بارك الله فيك و لك و جزاك خير الجزاء
و أطال بعمرك و بعمر من تحب .. في محبة الله و مرضاته و الله أخي طه
27-10-22, 11:54 PM (آخر تعديل لهذه المشاركة : 28-10-22, 12:54 AM {2} بواسطة ali_ahmed12.)
(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()
28-10-22, 12:57 AM (آخر تعديل لهذه المشاركة : 28-10-22, 05:00 AM {2} بواسطة 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
ثم لا يوجد أحد هنا يستهزئ بك أو بغيرك ..
من طريقة أسلوبك في الكتابة واضح أنك لست عربي .. لذلك لم تميز أننا نستهزئ أم جديين . نحن العرب(في نفس الدولة) إذا أختلفت لهجاتنا نفهم على بعضنا البعض خطأً فكيف (ببلدين مختلفين) أو بشخص غير عربي ..
--- ثانيا المشكلة التي وقعت فيها هنا تدل على ضعف الأساسيات لديك . كيف تريد أن ينفذ كود شرطي كل الحالات فيه بالرغم من أنه من أساسيات الشرط أن ينفذ حالة واحدة فقط ؟؟؟ الأساسيات تعني تطبيق على كل ما يخطر ببالك من حالات .. عليك أن تتعم ثم تجرب ثم تجرب ثم تجرب حتى لا يبقى في نفسك شيء على هذا الكود. بإمكانك أن تقرأ كتاب برمجي من ألف صفحة في ثلاثة أيام، ولكن لا يمكنك أن تفهم كل ما فيه بأقل من عدة سنوات. فليس كل ما كتبه مؤلف الكتاب موجود على سطور الكتاب،، هناك تعلميات بين السطور تركها المؤلف لك لتكتشفها بعد أن تجرب بنفسك (تعادل ما كتبه المؤلف وأكثر).. ---
تعلمت من مشايخنا : - بأنه عليك دوماً إفتراض حسن النية لدى كل من يقابلك حتى يجهر صراحة بأنه يسيء المعاملة.. - والصاحب الذي يقسى عليك ليعلمك خير من الأخ الذي يعمل ببدلاً عنك ليريحك ..
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()
(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()
من الاسم واضح أنك مسلم .. وأسأل الله لك دوام التوفيق والهداية ..
ما دمت عربي : لماذا تسقط عنك أل التعريف في أغلب الكلمات التي تكتبها ؟؟!! ..
نحن عرب ونفخر بأننا الله أختصنا بأن تكون لغتنا هي اللغة التي نزل بها قرآننا العظيم .. وأحزن على نفسي عندما أرى أعجمي ويتقن قواعد اللغة العربية أكثر مني ..
(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