شـبـكــة عـمّـــار
إخبارية - ترفيهية
- تعليمية



جديد الصور
جديد الأخبار
جديد المقالات


جديد الصور

جديد البطاقات

جديد الصوتيات

المتواجدون الآن


تغذيات RSS

2012-08-15 03:56

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

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

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

السجل التالي

السجل السابق

السجل الأول

السجل الأخير

!+عريض!السجل التالي!-عريض!
ولكي تنتقل للسجل التالي سوف تحتاج لكتابة الأمر التالي في الزر المطلوب و هو في مثالنا 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


تعليقات 0 | إهداء 0 | زيارات 650


خدمات المحتوى
  • مواقع النشر :
  • أضف محتوى في Digg
  • أضف محتوى في del.icio.us
  • أضف محتوى في StumbleUpon
  • أضف محتوى في Google


تقييم
1.00/10 (3 صوت)


Powered by Dimofinf cms Version 3.0.0
Copyright© Dimensions Of Information Inc.