دروس مهم:قواعد البيانات مع الفيجوال بيسك

الكاتب : ابن الاصول   المشاهدات : 6,440   الردود : 20    ‏2004-03-31
      مشاركة رقم : 1    ‏2004-03-31
  1. ابن الاصول

    ابن الاصول قلم فضي

    التسجيل :
    ‏2003-07-21
    المشاركات:
    2,607
    الإعجاب :
    0
    بسم الله الرحمن الرحيم
    السلام عليكم ورحمة الله وبركاته
    تحية للجميع:
    اعتذر عن الغياب..والسبب اخذنا منكم مجلس التسلية
    مارأيكم ندخل في الموضوع مباشرة حتى لا تملوا ابن الاصول
    اولاً: مقدمة عن قواعد البيانات
    كانت و مازالت برمجة قواعد البيانات شيء غامض لدى البعض إلا ما يسمعه من صعوبتها و تعقيدها ، و لا سبب لأخذ تلك الفكرة إلا ضعف المصادر لقواعد البيانات باللغة العربية و عدم محاولة تعلمها أو فهمها بطريقة خاطئة أنشأت لدى البعض نظرة سلبية تجاهها


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


    لاأريد أن أطيل بهذه المقدمة خصوصا أننا ذكرنا أن منهجنا يعتمد على الخلاصة و التطبيق..
    الدرس الاول:

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

    قاعدة البيانات التي سننشأها تحتوي جدول يحتوي على أسماء الطلاب و أرقامهم

    الخطوة الأولى فتح فيجوال بيسك كالمعتاد و من ثم الذهاب إلى قائمة

    Add-ins >> visual data manager...

    [​IMG]

    بعد ذلك ستفتح لك نافذة البرنامج إذهب إلى

    File>>new>>microsoft access>>version 7.0 mdb..

    سيظهر لك مربع حفظ حدد الموقع الذي تريد أن تحفظ فيه قاعدة بياناتك ثم إختر حفظ

    بعد ذلك ستظهر لك قاعدة البيانات حدد

    proprties

    بالزر الأيمن ثم أختر

    New Table
    [​IMG]

    بعد ذلك ستفتح لك نافذة تكتب فيها إسم الجدول و ثم نذهب لإضافة الحقول كما هو مبين

    [​IMG]

    سيفتح لنا نافذة إضافة الحقول نكتب إسم الحقل في المكان المخصص و نحدد نوع بيانات الحقل هل هي رقمية أو حرفية إلخ ، و نكرر العملية حتى ننهي جميع الحقول التي نريدها و في مثالنا هذا نريد حقلين الأول إسمه

    name

    و نوع بياناته

    text

    و الثاني

    number

    و نوع بياناته

    long

    ملاحظة مهمة إذا كان ماسيكتب في الحقل من أرقام خمسة أرقام أو أقل نختار نوع البيانات

    integer

    و للأرقام الطولية نختار

    long
    [​IMG]

    بذلك نكون قد أنشأنا قاعد بيانات تحتوي على جدول به حقلين الإسم و الرقم
    والان بعد تطبيق هذا الدرس ما رأيكم ننتقل الى الدرس الثاني
     
  2.   مشاركة رقم : 2    ‏2004-03-31
  3. ابن الاصول

    ابن الاصول قلم فضي

    التسجيل :
    ‏2003-07-21
    المشاركات:
    2,607
    الإعجاب :
    0
    [color=FF0000]الدرس الثاني:[/color]
    بعد أن قمنا في الدرس السابق بإنشاء قاعدة البيانات تأتي الخطوة التالية وهي أول خطوة لك في ربط قاعد البيانات سنقوم بربط القاعدة التي أنشأنها و التي تحتوي على حقلين هما إسم الطالب و رقمه و الآن لننطلق للخطوة التالية


    تفتح مشروع جديد ثم تضيف الأداة data من صندوق الأدوات كما في الشكل

    [​IMG]

    نرسم الأداة على الفورم و أيضا نرسم صندوقي نص لكي نظهر فيهما الحقول

    [​IMG]

    data الأن سنقوم بربط مربعات النص مع كائن البيانات و سنورد اولا خصائص كائن




    من مربع الخصائص نضبط الخصائص التالية للأداة data
    [​IMG]
    بالنسبة لمربعي النص نضبط خصائصهما كما في الجدول التالي

    [​IMG]

    هكذا تكون قد ربطت قاعدة بياناتك في برنامج و لترى النتيجة قم بتنفيذ البرنامج و ذلك بضغط






    طبعا لن يظهر لك شيء لأن قاعدة البيانات فارغة و لكي نقوم بوضع بعض الحقول قم بالتالي



    شغل منشيء قواعد البيانات كما تعلمنا في الدرس السابق و إذهب إلى


    File>>Opendatabase>>microsoft access


    سيفتح قاعدة بياناتك و سيضهر إسم الجدول الذي أنشأته قم بالنقر عليه مرتين و سيفتح لك نافذة اضف منها ماتريد من سجلات

    والا ابقوا مع ابن الاصول في الدرس الثالث
     
  4.   مشاركة رقم : 3    ‏2004-03-31
  5. ابن الاصول

    ابن الاصول قلم فضي

    التسجيل :
    ‏2003-07-21
    المشاركات:
    2,607
    الإعجاب :
    0
    Re: Re: دروس مهم:قواعد البيانات مع الفيجوال بيسك

    [color=FF0000]الدرس الثالث:[/color]
    يعني كتابتك لمئات الأسطر من الكود و بحثك عن الطرق الصعبة وعدم إستخدام مايساعدك أنك المبرمج المحترف بل العكس فإن ذلك سيضيع وقتك و تكون كمن وضع جهدا ما كان يجب عليه فعله لوجود طرق أسهل و إن استمريت على هذه الحالة فمصيرك المصح النفسي


    أنت كمبرمج يجب أن تبحث عن الطرق السهلة لكي تؤدي عملك بسلاسة و توفر جهدك لما يستحق وهذا لا يقلل من شأنك كمبرمج ، طبعا لايجب أن تنتقل غلى هذه المرحلة إلا بعد أن تتقن الطريقة الأصعب للتعامل مع الأسهل بيسر و سهولة كما سترى في درسنا هذا هيا بنا ننطلق للدرس





    إذهب إلىقائمة Add-ins و اختر الإختيار Add-in manager سيفتح لك نافذة انقر نقرا مزدوجا على السطرVb 6 Data FormWizard يجب أن تظهر العبارة التالية بجانب السطر loaded بعد ذلك اختر موافق و اذهب الى القائمة Add-Insاضغط على الخيار التالي Data Form Wizard ستظهر لك نافذة المعالج السحري قم باختيار Next اختر نوع قاعدة البيانات و هو في حالتنا Access و اختر Next حدد موقع قاعدة البينات المراد ربطها و ذلك بالضغط على Browes بعد ذلك اختر اسما للفورم و و حدد طريقة الربط و العرض كما قو مبين ثم اضغط على Next

    [​IMG]

    بعد ذلك حدد اسم الجدول المراد ربطه من الحقل Record source والحقول المراد ظهورها من القائمة available feildsو ذلك عن طريق تحديد الحقل و الضغط على الاسهم التي في المنتصفبعد ذلك حد الحقل الذي تريد ان يكون الفرز على اساسه و ذلك من column to stort by بعد ذلك اضغط Next و ستأتيك نافذةلتحدد الأزرار التي تريدها أن تظهر في مشروعك مثل حذف و اضافة و تحديث و ما شابه حدد ماتريد ثم اختر Next ثم Finish


    ستظهر لك الان النافذة التي انشأناها و لكن يجب ان بجعلها الافتراضية عند تشغيل البرنامج و لكي تجعلها كذالك اذهب الى Project>>project1proprtis.. ثم حدد الفورم الذي تريد ان تجعله افتراضي من القائمة Startup Object و هي في حالتنا form11



    قم بتشغيل البرنامج و انظر لما عملت ..... هل أنت سعيد بالنتيجة رغم أنها لم تأخذ جهدا منا!
    ابقوا الان مع ابن الاصول في الدرس الرابع
    ان شاء الله تعالى
     
  6.   مشاركة رقم : 4    ‏2004-03-31
  7. ابن الاصول

    ابن الاصول قلم فضي

    التسجيل :
    ‏2003-07-21
    المشاركات:
    2,607
    الإعجاب :
    0
    Re: Re: Re: دروس مهم:قواعد البيانات مع الفيجوال بيسك

    [color=FF0000]الدرس الرابع:[/color]
    [color=0000FF]مقدمة عن ربط قاعدة البيانات بالكود[/color]

    الدروس التي شرحناها كانت مقدمة لبرمجة قواعد البينات لكنها في الوقت ذاته مهمة لكي تكون الأساس الذي سنبني عليه الدروس القادمة ، طبعا يهمنا بالدرجة الاولى ان نستطيع ان نوصل طريقة التفكير لديك الى المستوى الامثل ن حيث ان البرمجة يجب ان تكون مبرمجة في ذهنك لكي تنفذها على الواقع ، و قواعد البيانات تحتوي على جملة من الأفكار و الحيل الثابتة تقريبا فمجرد تطبيقك لها من خلال الامثلة و الدروس القادمة يعني ان قد تمكنت من التعامل معها و فهمها و ستستخدمها في جميع مشاريعك ، لذلك احب ان انوه على عدم ترك بعض النقاط في الدروس لاعتقادك بعدم اهميتها بل خذ كل شيء على محمل الجد فقد تستغرب من بعض الأمور و ستقول أن هذا ليس مستوى البرمجة بل البرمجة أعلى بكثير من ذلك ، و هذا قول خاطيء فستجد بعد انتهائك من اغلب الدروس ان البرامج الكبيرة التي كنت تعتقد انها من المعجزات قد عملت بطرق قد تحتقرها إن صح التعبير لذلك اعلم ان البرمجة قائمة على افكار و حيل ثابتة تقريبا و انت تسخرها للعمل الذي تريدة و تصنع منها ما تريد ، و الان دعونا نذهب للدرس الذي سيكون انطلاقتك الى البرمجة بواسطة قواعد البيانات و سيكون مجرد مقدمة فقط .




    لكي تربط قاعدة بيانات بالكود يجب أن يكون لديك الاتي:


    * قاعدة بيانات جاهزة و يفضل ان يوجد بها بعض الحقول الجاهزة


    * معرفة جيدة بإضافة ادوات التحكم الأساسية مثل الازرار و العناوين و مربعات النص لان الدروس لن تحتوي على هذه الفاصيل لانها من الاساسيات


    * يجب أن تعرف أن كل قاعدة بيانات عبارة عن سجلات وكل سجل عبارة عن حقول


    الكلام التالي ربما لن تفهم منه الكثير لكنه مهم حيث ستعرفه في الدوس القادمه لذا لا تهمله


    عندما نريد ربط قاعدة بيانات بالكود يجب ان نعلن عن متغيرين في موديول على انهما قاعدة بيانات و جدول و نضع القاعدة الأصلية في المتغير الذي انشأناه لكي لا تتغير القيم الاصلية عند المعالجة المؤقته ، طبعا نضع ما ذكرنا في موديول و نجعله الاساسي عند التحميل ثم نظهر بعد ذلك الفورم لكي يتم تعريف المتغيريين و اسناد قاعدة البيانات للمتغير ، طبعا لن نسند قيمه للجدول الا في الفورم و عادة في حدث التحميل load لا تسأل عن السبب الان ستعرف فيما بعد و الان سأذكر الخطوات المنطقية التي سيفعلها البرنامج بعد برمجتة لكي تكون في الصورة


    1- عند تنفيذ البرنامج سيذهب للموديول وسيجد متغير يحتوي على قاعدةبيانات و سيتعرف عليها و سيجد امر يأمره بالانتقال للفورم الرئيسي


    2- سيجد عند تحميل الفورم جدول يحتوي على بيانات لكن من اين هذه البيانات؟ انها من القاعدة التي تعرف عليها البرنامج في الخطوة الأولى


    3- سيجد شرط يقول اذا كان الجدول يحتوي على بيانات فقم بإظهارها على مربع النص او القائمة حسب ما حدده المبرمج ( الذي هو انت :))


    هذه هي الفكرة الاساسية لاظهار البيانات أو بالأحرى عند تشغيل البرنامج و الان كيف يقوم البرنامج بحفظ التغييرات الجديدة


    1- عندما يضغط المستخدم على زر اضافه قم بإضافة سجل جديد

    2- عندما يقوم المستخدم بضعط زر حفظ قم بأخذ البيانات من مربعات النص و ضعها في الحقول الموازية لها و احفظها

    للحديث بقية
    في الدرس الخامس ان شاء الله تعالى
     
  8.   مشاركة رقم : 5    ‏2004-03-31
  9. ابن الاصول

    ابن الاصول قلم فضي

    التسجيل :
    ‏2003-07-21
    المشاركات:
    2,607
    الإعجاب :
    0
    [color=FF0000]الدرس الخامس:[/color]

    بعد أن أخذنا مقدمة عن طريقة الربط بالكود سنأخذ الآن التطبيق الفعلي للربط بالكود ، سيكون مشروعنا عبارة عن برنامج لحفظ اسم السلعة و سعرها ، و كل ما نريده في هذا المثال هو ربط قاعدة البيانات بالكود و حفظ الادراجات الجديدة و الحذف و سنأجل البحث للدروس القادمة عندما نأخذ مباديء SQL لغةالاستعلام حيث سيكون البحث معها في اية السهولة و البساطة و الان دعونا نبدأالدرس





    قبل أن تبدأ يجب أن تجهز قاعدة بيانات و ليكن إسمها db1 و تحتوي على جدول اسمه tb1 و هذا الجدول يحتوي على الحقول التالية :


    يمكنك عمل قاعدة البيانات بواسطة Access او بواسطة فيجوال بيسك راجع الدرس الثاني




    [​IMG]

    بعد أن تقوم بذلك إفتح مشروع فيجوال بيسك قياسي جديد ، و قبل أن تبدأ بربط قاعدة البيانات يجب أن تحدد أي طريقة ستستخدمها للربط و في هذا المثال سنستخدم طريقة او تقنية DAO ، و بعد ان حددنا الطريقة التي سوف تربط بها سنضيف المكتبة الخاصة بها و هي عبارة عن مكتبة تحتوي على تعريف للأوامر التي ستستخدمها لتقنية DAO و لتضيف هذه المكتبة قم بالتالي :


    اذهب الى قائمةProject > Refrence و من ثم حدد الاختيار Microsoft DAO 3.51 Object Library بعد ذلك اختر موافق


    * الان سنعود لمشروعنا ، و ان كنت مازلت تتذكر ما قلنا في الدرس السابق فإن علينا اضافة موديول ، و لتفعل ذلك اذهب لقائمة Project و اضغط على Add Module الان سنقوم بتعريف متغيرين في الموديول واحد عبارة عن قاعدة بيانات و الاخر عبارة عن جدول و هذه صيغة تعريف المتغيرين :


    Public d As Database

    Public t As Recordset



    كلمة Public تعني انه متغير عام في المشروع و لاحظ ان d اسنادناها كقاعدة بيانات و t كجدول


    * في نفس الموديول سنقوم بإسناد قاعدة البيانات الأصلية و التي اسمها db1 الى القاعدة الوهمية ان صح التعبير و التي عرفناها قبل قليل بـ d و لعمل ذلك نكتب الإجراء التالي في الموديول




    Private Sub main()

    Set d = DBEngine.Workspaces(0).OpenDatabase(App.Path & "db1.mdb")

    Form1.Show

    End Sub










    و الان دعنا نشرح هذا الاجراء ، اول شيء اسمينا هذا الاجراء باسم main و هذا ليس فيه خيار حيث ان هذا اسم محجوز في لغة البيسك فلا تستطيع ان تستبدله بآخر


    أول جملة في الاجراء هي جملة الاسناد ولقد بدأناها بأمر الاسناد المعروف Set ثم وضعنا القيمة التي سنسند فيها و هي d التي عرّفناها و قلنا سنسند فيها القاعدة الاصلية لكي لاتتغير قيمها اثناء المعالجة المؤقتة ثم كتبنا كلمة DBEngine و هي عبارة عن نوع قاعدة البيانات التي ستستخدمها و هذا هو محرك قاعدة البيانات من نوع Access ، ثم كتبنا Workspaces(0) و هذا نوع مجال العمل لن نتطرق له الان ، بعد ذلك و ضعنا الامر الذي سيقوم بفتح قاعدة البيانات لكي تستطيع الوصول الى محتواها Opendatabase ، بعد ذلك وضعنا مسار قاعدة البيانات و لكي تتجنب مشكلة تغير المسار من جهاز لاخرنستخدم الدالة App.path اي مسار المحلد الذي يحتوي البرنامج و لاستخدام هذه الطريقة يجب ان تكون قاعدة البيانات في نفس مجلد البرنامج، ثم كتبنا اسم القاعدة و امتدادها


    في السطر الثاني من الاجراء كتبنا امر لإظهار الفورم


    بإختصار هذه الطريقة ثابته لإسناد اي قاعدة بيانات فقد غير اسم قاعدة البيانات


    تنفيذ البرنامج


    بعد قيامك بالخطوات السابقة يجب ان تنفذ البرنامج في هذه المرحلة لكي تتأكد انك تسير على الخط الصحيح و قبل ذلك تأكد من انك قمت بجعل الموديول في بدأ التشغيل وذلك بالذهاب الى Project > Project1.proprties.. بعد ذلك حددsub main من القائمة المنسدلة startup object بعد ذلك شغل البرنامج بالضغط على F5 يجب ان تسير الامور على ما يرام و ان لم تكن كذلك تأكد من الخطوات التالية






    1- أنك قمت بحفظ المشروع في نفس المجلد الذي فيه قاعدة البيانات

    2- أن قاعدة البيانات ليست في قيد التشغيل



    3- انك جعلت الموديول في بدأ تشغيل المشروع



    4- انك كتبت اسم قاعدة البيانات صحيحا


    للحديث بقية وهو كيفية ربط القاعدة بالكود 2
    ان شاء الله تعالى
     
  10.   مشاركة رقم : 6    ‏2004-03-31
  11. نجيب المجيدي

    نجيب المجيدي عضو فعّال

    التسجيل :
    ‏2003-12-08
    المشاركات:
    527
    الإعجاب :
    0
    بسم الله الرحمن الرحيم
    السلام عليكم

    ممتاز أخي ابن الأصول , تابع جزاك الله خير
     
  12.   مشاركة رقم : 7    ‏2004-03-31
  13. ابن الاصول

    ابن الاصول قلم فضي

    التسجيل :
    ‏2003-07-21
    المشاركات:
    2,607
    الإعجاب :
    0
    [color=FF0000]الدرس السادس:[/color]
    هذا الجزء الثاني من الدرس السابق فبعد أن تعلمنا نعرف المتغيرات التي سنعمل عليها و ربطنا قاعدة البيانات يبقى امامنا ربط الجدول و اظهار محتويات القاعدة للمستخدم ، اما التنقل بين السجلات و اوامر الحفظ و التعديل و الاضافة فستكون في الجزء الثالث، الان دعونا نبدأ





    اولا سنقوم بربط الجدول الذي في قاعدة البيانات و نخزنه في المتغير الذي أنشأناه في الدرس السابق بإسم t علما أن الجدول الرئيسي اسمه tb1 ولكي نقوم بذلك اكتب الامر التالي ف حدث التحميل للفورم load






    Private Sub Form_Load()

    Set t = d.OpenRecordset("tb1", dbOpenTable)

    End Sub





    دعنا نشرح الخطوة السابقة بالتفصيل ، اولا وضعنا ربط الجدول في حدث التحميل للفورم ربما تسأل عن السبب و الجواب ان هذا ما يقوم به المحترفون لكي تهيء التعامل مع البيانات عند تحميل الفورم الا اذا كان لديك سبب اخر لتخاف هذه القاعدة


    بعذلك و ضعنا جملة الربط للجدول و بدأنا بأمر الاسناد المعروف Set ثم اسم القيمة التي سنسند قيم الجدول فيها و هي التي عرفناها فيما قبل باسم t بعد ذلك نكتب اسم القاعدة المستعار الذي اسندنا القاعدة الاصلية فيه و هو d ثم نكتب الامر الذي سيفتح لنا الجدول لكي نستطيع الوصول الى محتواه و هو Openrecordset بعد ذلك نكتب اسم الجدول الحقيقي بين علامتي تنصيص و نكتب نوع الرط وهو dbopentable استخدم هذه الطريقة فقط و لا تسأل لماذا لانها من الاوامر الثابته و من انواع الربط و ستستطيع التفريق بين انواع الربط في المستقبل مع كثرة التمارين فلا تستعجل ، هكذا تكون قد قمت بربط قاعدة البيانات و الجدول بواسطة الكود ،،،، مبروك


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

    [​IMG]

    Private Sub showdata()

    If t.RecordCount < 1 Then Exit Sub ' عندما يكون الجدول فارغ اخرج من الاجراء

    Text1.Text = t!Name 'نضع في مربع النص الاول قيمة حقل الاسم في الجدولt

    Text2.Text = t!num ' نفس الخطوة السابقة لحقل رقم السلعة

    Text3.Text = t!price 'نفس الخطة السابقة لحقل السعر

    End Sub




    الان دعنا نلقي نظرة على اجراء اظهار البيانات بدأنا اولا بالتأكد اذا كان الجدول يحتوي على بيانات ام لا فإذا كان لا يحتوي فنخرج من الاجراء لكي لا يحدث مشاكل اثناء العرض


    بعد ذلك نقوم بإظهار قيمة ما في الحقول في مربعات النص ، و لاحظ أننا استخدمنا علامة التعجب ! لكي تفصل بين اسم الجدول المستعار و اسم الحقل ، يجب أن تفرق بين اسم الدول او القاعدة المستعار و الاصلي و متى نستخدم كل منهما


    و الان يجب أن نضيف امر استدعاء لإجراء العرض عند تحميل البرنامج فسيكون الامر في حدث التحميل هكذا :



    Private Sub Form_Load()

    Set t = d.OpenRecordset("tb1", dbOpenTable)

    Call showdata

    End Sub



    للحديث بقية تابعوني في الدرس القادم
    ان شاء الله تعالى
     
  14.   مشاركة رقم : 8    ‏2004-03-31
  15. نجيب المجيدي

    نجيب المجيدي عضو فعّال

    التسجيل :
    ‏2003-12-08
    المشاركات:
    527
    الإعجاب :
    0
    و الله القسم محتاج ناس أمثالك , بالله عليك لا تغيب مره ثانيه

    ولا برفع قضيه على قسم التعارف و التسليه
     
  16.   مشاركة رقم : 9    ‏2004-03-31
  17. ابن الاصول

    ابن الاصول قلم فضي

    التسجيل :
    ‏2003-07-21
    المشاركات:
    2,607
    الإعجاب :
    0
    [color=FF0000]الدرس السابع:[/color]
    في هذا الجزء الثالث و الاخير من الدرس سوف نتعلم كيفية التنقل بين السجلات و كيفية الحفظ و التعديل و الاضافة و الحذف

    [color=FF0000]التنقل بين السجلات :[/color]

    لن تحتاج للتنقل بين السجلات الا لـ:

    السجل التالي

    السجل السابق

    السجل الأول

    السجل الأخير

    [color=0000FF]السجل التالي[/color]ولكي تنتقل للسجل التالي سوف تحتاج لكتابة الأمر التالي في الزر المطلوب و هو في مثالنا cmd6




    Private Sub cmd6_Click()
    t.MoveNext
    Call showdata
    End Sub



    لاحظ أننا استخدمنا اسم الجدول المستعار t ، ثم بعد ذلك استدعينا الاجراء showdata الذي عملناه في الجزء السابق لكي يقوم بعرض البيانات في السجل التالي وهذه الطريقة تنطبق على جميع انواع التنقل القادمة

    [color=FF0000]السجل السابق[/color]
    وكل ما تحتاج كتابته هذا الكود بنفس طريقة الكود السابق ( لا تنسىوضع الكود في المكان المناسب و هو هنا cmd7)


    Private Sub cmd7_Click()
    t.MovePrevious
    Call showdata
    End Sub



    ‍‍
    [color=FF0000]السجل الأول[/color]للإنتقال للسجل الأول اكتب الكود التالي في زر الامر cmd8


    Private Sub cmd8_Click()
    t.MoveFirst
    Call showdata
    End Sub




    [color=FF0000]السجل الأخير[/color]للانتقال للسجل الاخير اكتب الكود التالي في زر الامر cmd5 :


    Private Sub cmd5_Click()
    t.MoveLast
    Call showdata
    End Sub



    هذه كل اوامر التنقل التي تحتاجها ، لكن لم ننتهي بعد فستواجهك مشكلة ، فمثلا عندما تريد أن تنتقل للسجل التالي و انت في السجل الاخير طبعا لا يوجد سجل تالي لذلك سيتوقف البرنامج ، و نفس الشيء عند الانتقال للسجل السابق و انت في السجل الاول فلا يوجد سجل سابق فسيتوقف البرنامج ، لذلك سنقوم بإضافة جملة شرطية للتأكد اذا كان السجل الأخير او الاول حسب الحاله ثم نقوم بوضع امر Movefirst او movelast حيث ان هذين الامرين لا يتأثران سواء كان هناك سجل او لا و طريقة استخدامهم هكذا :

    [color=0000FF]ملاحظة[/color]

    نستخدم الدالة EOF لمعرفة اخر سجل في الجدول ، و نستخدم الدالة BOF لمعرفة اول سجل في الجدول


    سنضع الجملة الشرطية التالية في زر الانتقال للتالي فإذا كان هذا اخر سجل اذا انتقل للسجل التالي


    If t.EOF Then t.MoveLast




    و كذلك في زر الانتقال للسابق نضع شرط اذا كان هذا اول سجل اذا انتقل للسجل الاول


    If t.BOF Then t.MoveFirst




    لذلك سنضيف الجملتين السابقتين لكود الانتقال للتالي و الانتقال للسابق فييصبح كود الانتقال للتالي هكذا :


    Private Sub cmd6_Click()
    t.MoveNext
    If t.EOF Then t.MoveLast
    Call showdata
    End Sub




    وكود الانتقال للسابق هكذا :


    Private Sub cmd7_Click()
    t.MovePrevious
    If t.BOF Then t.MoveFirst
    Call showdata
    End Sub






    [color=FF0000]عمليات السجلات[/color]


    الان سنتعلم عمليات السجلات منحذف و اضافة و تعديل

    [color=FF0000]أضافة سجل[/color]
    الامر التالي يقوم بإضافة سجل و نضيف عليه اوامر لتمسح ما في مربعات النص لتهيئتها للإضافة:


    Private Sub cmd1_Click()
    t.AddNew 'اضافة سجل جديد
    'الخطوات التالية لكي نقوم بمسح ما في مربعات النص لتهيئتها للإضافة و هي خطوة لتعطي طابع الاحتراف فقط
    Text1.Text = ""
    Text2.Text = ""
    Text3.Text = ""
    End Sub



    [color=FF0000]حفظ سجل:[/color]لتحفظ سجل يجب عليك أن تقوم بوضع القيم التي في مربعات النص في الحقول التي توازيها في الجدول ، و لاحظ أنه سوف يعطيك رسالة خطأ عندما تقوم بالحفظ دون ان تقوم باختيار تعديل سجل او اضافة سجل لذلك يفترض بك ان تجعل زر الحفظ في حالة التمكين فقط عندما يضيف المستخدم سجلا او يختار تعديل سجل، كذلك يجب عليك استخدام الدالة Val عند حفظ الحقول الرقمية لتجنب المشاكل عندما يتركه المستخد فارغا ، و ايضا يجب عليك ان تقوم بتحديث الجدول بعد عملية الحفظ لتكمل العملية بسلام و هذا هو الكود المطلوب:



    Private Sub cmd2_Click()
    'نقوم في الخطوات التالية بنقل ما في مربعات النص الى الحقول التي توازيها في قاعدة البيانات
    t!Name = Text1.Text
    t!num = Val(Text2.Text) ' لا حظ اننا استخدمنا هذه الدالة لكي يتم قبول الحقل في حالة كونه فارغ لان هذا حقل رقمي val
    t!price = Val(Text3.Text)
    t.Update
    End Sub




    [color=FF0000]تعديل سجل :[/color]
    فقط اخبر البرنامج انك تريد التعديل بهذا الكود


    Private Sub cmd3_Click()
    t.Edit 'تسمح هذه الخاصية بتعديل البيانات في الحقل
    End Sub




    [color=FF0000]حذف سجل :[/color]عملية حذف السجل سهلة ، و لكن ماذا بعد ان تحذف السجل ؟ بالطبع يجب ان تعرض السجل التالي ، و ايضا يجب ان تراعي المشاكل التي تواجهك عند انتقالك للسجل التالي فقد لا يكون هناك سجل تالي وقد شرحنا كيف تتفادى هذه المشكلة في هذا الدرس ، و هذا هو الكود اللازم :



    Private Sub cmd4_Click()
    t.Delete 'لحذف سجل
    t.MoveNext 'للانتقال للسجل التالي بعد الحذف
    If t.EOF Then t.MoveLast ' يحل هذا الاجراء مشكلة عدم وجود سجل تالي
    End Sub

    للحديث بقية تابعوني في الدرس القادم
    ان شاء الله تعالى
     
  18.   مشاركة رقم : 10    ‏2004-03-31
  19. ابن الاصول

    ابن الاصول قلم فضي

    التسجيل :
    ‏2003-07-21
    المشاركات:
    2,607
    الإعجاب :
    0
    [color=FF0000]الدرس الثامن:[/color]

    [color=0000FF]إنشاء واجهة مستخدم لقاعدة البيانات[/color]

    بعد أن انتهينا من بناء قاعدة البيانات باستخدام الفيجوال بيسك، سنقوم الآن بربطها بالform كي نستخدمها في البرنامج.



    إنشاء واجهة مستخدم لقاعدة البيانات:



    1)قم بفتح برنامج الفيجوال بيسك ,ومن قائمة Add-Ins أختر Visual Data Manager
    [​IMG]

    2)ستفتح نافذة VisDta (Visual Data Manager) ,من قائمة ملف اختر Open Database ومن ثم Microsoft Access(لفتح قاعدة بيانات موجودة) ,سينفتح لك مربع حوار فتح اختر اسم قاعدة البيانات المطلوبة.

    [​IMG]

    3) قمنا الآن بفتح قاعدة البيانات من قائمة Utility ثم Data form Designer.

    [​IMG]

    4)ستفتح لنا نافذة Data Form Designer والتي من خلالها يمكنك صنع Form خاصة بقاعدة البيانات:

    [​IMG]



    قم بكتابة إسم الForm في المربع أمام Form Name.

    ستظهر لك قائمة الجداول الموجودة ضمن قاعدة البيانات التي فتحتها أمامRecordSourse اختر الجدول الذي تريد إنشاء واجهة للتعامل معة.

    ستظهر لك قائمة بالحقول الموجودة في الجدول في قائمةAvailable Fields

    يمكنك إضافة حقل إلى الفورم من الزر[​IMG]
    أوإضافة جميع الحقول من الزر [​IMG]
    أوحذف حقل من الفورم من الزر
    أوحذف جميع الحقول من الزر [​IMG]

    لكن:لاتقم بحذف جميع الحقول كي لا تظهر لك هذة الرسالة:
    [​IMG]

    بعد أن تنتهي من تحديد خصائص الفورم إضغط زر
    [​IMG]

    6) سيظهر لك الفورم التالي:


    [​IMG]

    وهذا الفورم من الممكن تغيير خصائصا عن طريق الخصائصProperties.(مثلا أنا غيرت خاصية Backcolor للفورم للون الزهري).

    يمكن إضافة البيانات من زر Add,ومسحها من زر Delete, أو عمل تحديث للبيانات من Refresh, أو تغيير البيانات من زر update,وطبعاً يوجد زر إغلاق النافذة.ويمكن التخلص من أحد الأزرار(إن لم يرغب به) أو إضافة زر جديد للفورم.



    بذلك قمنا بعمل واجهة مستخدم جاهزة للتعامل مع قاعدة البيانات التي أنشأناها.

    تابعوني في الدرس القادم
    ان شاء الله تعالى
     

مشاركة هذه الصفحة