![]() |
|
الدرس السابع عشر - قائمة (مسح) - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (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=5705) |
الدرس السابع عشر - قائمة (مسح) - RaggiTech - 15-10-12 كاتب الموضوع : أحمد جمال
بسم الله الرحمن الرحيم .
السلام عليكم ورحمة الله وبركاته . مسح .
والآن سنتابع دروسنا ، وسنتعامل مع القائمة الفرعية ( مسح ) والتي تحتوي على ما يلي :
* جميع البضائع .
* جميع الأنواع . * جميع الموردين . * جميع عمليات البيع . * جميع عمليات الشراء . وسنقوم بعمل ذلك عبر اجراء مشترك .
وقبل بدء كل عملية لابد من اظهار رسالتي تحذير لهذه العملية - على الأقل - حيث أنها تمسح كماً كبيراً من البيانات . والرسالتان موحدة لجميع العمليات ، وستكون بالشكل التالي : كود : Dim sureومن ثم سنبدأ في التفريعات المختلفة حسب قيمة خاصية Index ، ومع كل قيمة سوف نستدعي اجراءً واحداً فقط ، لكننا نغير قيمة الرسالة التي تظهر به ، ونغير الجدول الذي تتم حذف عملياته ، لاحظ الأمر التالي : كود : Sub DEL(ByRef Table As Recordset, ByVal msg As String)ومعنى ByRef أن التغيير الذي سيحدث في Table خلال الاجراء سوف يتم تطبيقه على الجدول الذي أرسلنها ، أما ByVal فمعنى ذلك أن التغيير لن ينعكس على الأصل . وسيكون هذا الاجراء بالشكل التالي : كود : Sub DEL(ByRef Table As Recordset, ByVal msg As String)أما الجزء الثاني وهو حذف المبيعات والمشتريات ، فعلى نفس الطريقة يمكننا عمل اجراء واحد لهم ، ولكنه يختلف في قيمة 0 أو 1 والتي ترمز للبيع أو للشراء . لاحظ الكود التالي : كود : Sub DEL2(ByVal knd As Byte)من أجل ذا يكون الاستدعاء حسب الجدول بالشكل التالي :
كود : Select Case Index*** ملاحظة هامة : لو عدت إلى البرنامج لوجدت الكثير من الدوال التي يمكن اختصارها بهذه الطريقة ، وبعمل
Array لأدوات عرض للجداول ، وغيرها .
الملف مرفق .
والله الموفق ... والسلام عليكم ورحمة الله وبركاته . |