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

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

الصفحات: 1 2


طلب كود - paveldida - 14-05-20

السلام عليكم
لقد قمت بتصميم برنامج بسيط مرتبط بقاعدة بيانات من نوع access من خلال تتبع احد الفيديوهات لاكن يواجهني مشكلان
1- عند الحفظ فإنه يحفظ حتى لو كانت كل الحقول فارغة و هذا امر غير لا اريده ، لاني اريد كود ان لا يحفظ و يظهر رسالة تنبيه ان رقم الفهرس غير موجود
2-عند الحذف فإنه تصادفني رسالة خطأ عند ما يكون القاعدة فارغة و اريد كود يمنع تنفيذ الحذف عند فراغ القاعدة



RE: طلب كود - ابراهيم ايبو - 14-05-20

السلام عليكم ورحمة الله وبركاته
اخي الكريم
مسألة الحفظ والحقول فارغة والسماح او عدم السماح
في قاعدة البيانات يمكننا جعل كل الحقول لاتقبل Null اي حقل فارغ طبعا الامر ربما لايفضله الكثير من المبرمجين لاننا مجبرين على ادخال قيم في كل الحقول
يوجد حل افضل وهو ان نجعل كل حقول قاعدة البيانات تقبل الـ  null ما عدا حقل الاي دي ID لانه مهم جدا وهو مايميز الصفوف والسجلات عن بعضها وبوساطته يتم التعديل والحذف 
ثم نأتي في زر الحفط نضع شروط الحقول التي لانريد ان تبقى فارغة مثلا حقل الاسم نكتب كود التحقق  
كود :
If TextBox1.text = "" Then
           MsgBox("يرجى املاء حقل الاسم")
           TextBox1.Focus()
           Exit Sub
       Else
           ' كود الحفظ
       End If
واذا اردنا التحقق من اكثر من حقل نكتب شرط له


RE: طلب كود - paveldida - 15-05-20

(14-05-20, 09:12 PM)ابراهيم ايبو كتب : السلام عليكم ورحمة الله وبركاته
اخي الكريم
مسألة الحفظ والحقول فارغة والسماح او عدم السماح
في قاعدة البيانات يمكننا جعل كل الحقول لاتقبل Null اي حقل فارغ طبعا الامر ربما لايفضله الكثير من المبرمجين لاننا مجبرين على ادخال قيم في كل الحقول
يوجد حل افضل وهو ان نجعل كل حقول قاعدة البيانات تقبل الـ  null ما عدا حقل الاي دي ID لانه مهم جدا وهو مايميز الصفوف والسجلات عن بعضها وبوساطته يتم التعديل والحذف 
ثم نأتي في زر الحفط نضع شروط الحقول التي لانريد ان تبقى فارغة مثلا حقل الاسم نكتب كود التحقق  
كود :
If TextBox1.text = "" Then
           MsgBox("يرجى املاء حقل الاسم")
           TextBox1.Focus()
           Exit Sub
       Else
           ' كود الحفظ
       End If
واذا اردنا التحقق من اكثر من حقل نكتب شرط له

شكرا أخي الكود نجح لاكن مع ذلك ينشئ سطر فارغ كليا ، هل يمكن منع انشاء أي سطر فارغ 
2- يتبقى إشكال الحذف عند عدم وجود اي سطر في القاعدة ، اريد منع ظهور رسالة الخطأ
  



RE: طلب كود - ابراهيم ايبو - 15-05-20

السلام عليكم ورحمة الله وبركاته
اخي الكريم يبدو ان الاكواد لديك فيها مشكلة 
ارفق الجزء الخاص بعملية الحفظ والتعديل والحذف ليتم التحقق
بالنسبة للحذف يتم بناء على رقم الاي دي وفي حال لايوجد رقم اي دي لن يتم الحذف
 والامر هنا لايتعلق بوجود او عدم وجود بيانات لانك ستحذف ماهو معلوم لديك برقم الاي دي


RE: طلب كود - paveldida - 15-05-20

[attachment=24731 كتب :ابراهيم ايبو pid='161069' dateline='1589502892']
السلام عليكم ورحمة الله وبركاته
اخي الكريم يبدو ان الاكواد لديك فيها مشكلة 
ارفق الجزء الخاص بعملية الحفظ والتعديل والحذف ليتم التحقق
بالنسبة للحذف يتم بناء على رقم الاي دي وفي حال لايوجد رقم اي دي لن يتم الحذف
 والامر هنا لايتعلق بوجود او عدم وجود بيانات لانك ستحذف ماهو معلوم لديك برقم الاي دي

هذا هو مشروعي أخي

إشكال آخر هو أنه رغم ID Auto لاكن عند حذف الأسطر و اضافة اسطر جديدة لا يعيد البرنامج الترتيب التسلسلي



RE: طلب كود - ابراهيم ايبو - 15-05-20

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


RE: طلب كود - paveldida - 16-05-20

(15-05-20, 10:38 PM)ابراهيم ايبو كتب : السلام عليكم ورحمة الله وبركاته
اخي الكريم
 البرنامج يعمل بشكل سليم فقط كنت تحتاج الى هندلة ازرار الجديد والحفظ والتعديل والحذف حيث تم وضع الضوابظ ورسائل التحذير
الشيئ الاخر الذي سالت عنه وهو عدم تسلسل السجلات وظهور فراغات بين ارقام السجلات وهذا يظهر بعد حذف سجل ويبقى الرقم غير مستخدم
والسبب ان الترقيم التلقائي يستخدم الرقم مرة واحدة مثل عود الثقاب ان اشعلته لن يتم اشعاله مرة اخرى (استهلك) لانه رقم فريد ولايجوز تكراره مرة اخرى
اليك مثالك بعد التعديل
بارك الله فيك أخي الكريم على مساعدتك الله يعطيك خير الدنيا و الآخرة
انا مبتدئ جدااااا و عملي هذا من خلال تتبع اليوتوب فقط



RE: طلب كود - ابراهيم ايبو - 16-05-20

الحمد لله والشكر لله 
وبارك الله فيك اخي الكريم



RE: طلب كود - paveldida - 17-05-20

كل شيء تمام و الحمد لله إلا مشكل الحفظ حيث انه مزال يحفظ رغم الشرط الخاص الذي وضعناه المتعلق بعدم الحفظ في غياب رقم الفهرس
هل يمكن منع ظهور السطر تماما



RE: طلب كود - ابراهيم ايبو - 17-05-20

السلام عليكم اخي الكريم
معك حق في كود الحفظ كنا نضيف السجل قبل التحقق لم انتبه الهذه الجزئية 
استبدل كود الحفظ بهذا الكود وان شاء الله كل شيئ مثل ماتحب
كود :
 ' كود الحفظ
   Private Sub Btn_Save_Click(sender As Object, e As EventArgs) Handles Btn_Save.Click
       If Repertoire.Text = "" Then
           MessageBox.Show("يجب املاء حقل الفهرس", "تنبيه", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
           Repertoire.Focus()
           Exit Sub
       Else
           ' تم نقل هذين السطرين الى هنا
           dt.Rows.Add()
           Dim last As Integer = dt.Rows.Count - 1

           dt.Rows(last).Item("Repertoire") = Repertoire.Text
           dt.Rows(last).Item("DateActe") = DateActe.Text
           dt.Rows(last).Item("TypeActe") = TypeActe.Text
           dt.Rows(last).Item("Name1") = Name1.Text
           dt.Rows(last).Item("Name2") = Name2.Text
           dt.Rows(last).Item("DateEnreg") = DateEnreg.Text
           dt.Rows(last).Item("NQuitt") = NQuitt.Text
           dt.Rows(last).Item("Droit") = Droit.Text
           dt.Rows(last).Item("Notes") = Notes.Text
           Dim save As New OleDbCommandBuilder(da)
           da.Update(dt)
           dt.AcceptChanges()
       End If
       MessageBox.Show("تم حفظ البيانات بنجاح", "حفظ", MessageBoxButtons.OK, MessageBoxIcon.Information)
       'اعادة تحميل السجلات ===============================================================
       usersdt_Load(Dgv_Data)
       '=================================================================================
       ' تفريغ الادوات بعد الحفظ
       ClearTools()
   End Sub