المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : ربط قاعدة البيانات بالكود 3 فى الفيجوال بيسك


مصطفى عدوية
09-06-2007, 06:24 PM
ربط قاعدة البيانات بالكود 3

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

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

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

السجل التالي
السجل السابق
السجل الأول
السجل الأخير

!+عريض!السجل التالي!-عريض!

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

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

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

!+عريض!السجل السابق!-عريض!

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

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!Name = Text1.Text
t!num = Val Text2.Text
val لا حظ اننا استخدمنا هذه الدالة لكي يتم قبول الحقل في حالة كونه فارغ لان هذا حقل رقمي
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

اسحب التطبيق

hardtoget410
10-14-2007, 08:43 AM
Thank you for your topic and we are waiting more

asonly
03-15-2008, 11:35 AM
شكر لك أخوي