![]() |
|
الدرس الثاني عشر - تصميم شاشة عرض البضائع - الحذف والتعديل - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : الأقسام التعليمية - المنتدى القديم (http://vb4arb.com/vb/forumdisplay.php?fid=90) +--- قسم : قسم دورات المنتدى (http://vb4arb.com/vb/forumdisplay.php?fid=113) +---- قسم : دورة بناء برنامج لإدارة السوبر ماركت من الألف إلى الياء (http://vb4arb.com/vb/forumdisplay.php?fid=128) +---- الموضوع : الدرس الثاني عشر - تصميم شاشة عرض البضائع - الحذف والتعديل (/showthread.php?tid=5700) |
الدرس الثاني عشر - تصميم شاشة عرض البضائع - الحذف والتعديل - RaggiTech - 15-10-12 كاتب الموضوع : أحمد جمال
بسم الله الرحمن الرحيم .
السلام عليكم ورحمة الله وبركاته . الحذف .
في هذا الدرس سوف نتعلم كيفية القيام بعملية الحذف ، والتي نستخدم لها الوظيفة Delete .
في البداية لا بد أن نتأكد من أن ثم معلومات في قاعدة البيانات وإلا فإننا لن نقوم بأي شيء ، وقبل ذلك لا بد من التأكد من نيته في الحذف عن طريق اظهار رسالة تحذيريه : كود : Dim sureكود : If T1.RecordCount = 0 Thenكود : T1.MoveFirstولكن هذه الطريقة تصبح أقل فاعلية في حالة كون عدد السجلات كبيراً . من الأفضل دائماً استخدام جمل لغة الاستعلامات الهيكلية لحذف السجل في جملة بهذا الشكل مثلاً :
كود : SQL = "delete * from Tb_Product where number=" & Text7.Textوالآن سنقوم بحذف السجل الذي عثرنا عليه :
كود : T4.Deleteكود : Refresh_Meالاحتفاظ بقيم هذين الحقلين في متغيرين : كود : A1 = T1!Categoryالانتقال إليها في T2 و T3 كود : T2.MoveFirstكود : If T2!View = False Thenوبهذا يصبح الكود الكامل لعملية الحذف :
كود : Dim sureيتبع ...
الدرس الثاني عشر - تصميم شاشة عرض البضائع - الحذف والتعديل - RaggiTech - 15-10-12 [b]التعديل .
[/b] من أجل التعديل سوف نقوم بانشاء شاشة جديدة ، ولكنها ليست من Child الفورم الرئيسي ذلك أننا نريد أن نظهرها بالتعليمة Show 1 حتى ينهي التعديل قبل العودة للتحكم ثانية .
قم بتصميم الفورم كما يحلو لك مع مراعاة احتواءه على كافة الحقول ما عدا حقل الرقم فقط . واضف زرين للتعديل ، ولالغاء الأمر . ولا تنس ضبط خواص TabIndex لمزيد من السهولة في الاستخدام . وأخيراً قم بتسميته Frm_Edit . لا تنس أمراً هاماً جداً ، وهو أن حقلي المصنع والنوع سوف يظهران على هيئة قائمة بها كل المصانع والأنواع لتسهيل عملية الاختيار . لا تنس أن تضع مكان أو متغير لتحتفط فيه برقم البضاعة التي يتم تعديلها من أجل عملية التعديل لاحقاً . ولا تنس أخيراً أن تجعل MaxLength لحقل الاسم 30 للتوافق مع قاعدة البيانات ، أما الارقام فاجعلها = 10 كحد أقصى . وبعد أن قمنا بتصميم الشاشة ، سوف نقوم بتصميم حدث البداية لها Form_Load والذي سيتضمن وضع جميع المصانع والأنواع المتوفرة في القائمتين Combo1 و Combo2 . كود : T2.MoveFirstكود : Dim A1, A2كود : Unload Meوأولاً علينا أن نعرف ما هو رقم البضاعة ، ولو لاحظت في البرنامج أنني اخزن رقم البضاعة في أداة تحتوي قبل الرقم على no. ولذا يمكنني استخلاص الرقم بالطريقة التالية : كود : Dim My_Numberمبدئياً تأكد من أن الاسم الجديد ليس مطابقاً لأحد الأسماء القديمة ، وبالتالي ينبغي ألا يكون له عدد ، غير نفس البضاعة طبعاً . كود : SQL = "select * from tb_product where name='" & Text1.Text & "'"كود : Dim Num1, Num2وأخيراً ... قم بعملية التعديل . ومجددأ ظهرت لدي مشاكل مع لغة الاستعلامات الهيكلية ومع الأمر
Update تحديدأ ، لذا اضطررت إلى استخدام تلك الطريقة التي استخدمتها في الحذف وذلك للتعديل :
كود : T1.MoveFirstكود : If KeyAscii > 58 Or KeyAscii < 48 Thenكود : If (KeyAscii > 58 Or KeyAscii < 48) And KeyAscii <> 46 And KeyAscii <> 8 Thenحيث أن رقم آسكي للأعداد يتراوح بين هذين العددين . ولكننا سنحتاج لبعض الاستثناءات فرقم 8 يمثل عملية BackSpace كما أن 46 يمثل الفاصلة ، لذلك سوف نستثيهما : كود : If T4!View = False Then MsgBox "لا تنس أنك اخترت مورداً سبق لك حذفه وهو موجود بصورة مؤقتة حتى انتهاء البضائع من نفس المورد", vbExclamation + arabic, "مورد محذوف"أخيراً ، كنا في شاشة التعديل عندما نشغل الفورم نضيف جميع المصانع والأنواع ، ومن ضمنها بعض المصانع المحذوفة ( شرحنا كيفية ذلك في بداية الدروس ) ولذا إذا اختار مصنعاً أو مورداً محذوفاً فسنذكره بذلك قبل عملية التعديل : كود : If T4!View = False Then MsgBox "لا تنس أنك اخترت نوعاً سبق لك حذفه وهو موجود بصورة مؤقتة حتى انتهاء البضائع من نفس النوع", vbExclamation + arabic, "نوع محذوف"كود : If T4!View = False Then MsgBox "لا تنس أنك اخترت نوعاً سبق لك حذفه وهو موجود بصورة مؤقتة حتى انتهاء البضائع من نفس النوع", vbExclamation + arabic, "نوع محذوف"والله الموفق ...
والسلام عليكم ورحمة الله وبركاته . |