(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