ربط قاعدة البيانات بالكود 2 

 

8

رقم الدرس

متقدم:

مستوى الدرس

حمد راشد الماجد:

الكاتب
           
 لا يجب قراءتها

:المقدمة

في  هذا الجزء الثالث و الاخير من الدرس السادس سوفنتعلم كيفية التنقل بين السجلات و كيفية الحفظ و التعديل و الاضافة و الحذف ...1.....2..........3...................انطلق 

الدرس

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

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

السجل التالي

السجل السابق 

السجل الأول

السجل الأخير

السجل التالي:

ولكي تنتقل للسجل التالي سوف تحتاج لكتابة الأمر التالي في الزر المطلوب و هو في مثالنا cmd6

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

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

السجل السابق:

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

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

السجل الأول :

للإنتقال للسجل الأول اكتب الكود التالي في زر الامر cmd8:

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

السجل الاخير :

للانتقال للسجل الاخير اكتب الكود التالي في زر الامر cmd5 :

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

 

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

ملاحظة 

نستخدم الدالة 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

 

عمليات السجلات :

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

اضافة  سجل  

حفظ سجل 

تعديل سجل

حذف سجل

اضافة سجل :

الامر التالي يقوم بإضافة سجل و نضيف  عليه اوامر لتمسح ما في مربعات النص لتهيئتها للإضافة:

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

حفظ سجل:

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

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

تعديل سجل :

فقط اخبر  البرنامج انك تريد التعديل بهذا الكود

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

حذف سجل :

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

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

 

الدرس التالي

انقر هنا لسحبه

تطبيق

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

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

الحد الأدنى من  الأهداف التعليمية

 


Counter

الصفحة الرئيسية| الفهرس  | حيل و أفكار | كتب | مواقع | إتصل بنا

جميع الحقوق محفوظة © 2000