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

مشاهدة النسخة كاملة : اضافة سجلات وتعديلها وحذفها والبحث عنها .. الدرس الثالث



بومبه
06-11-2005, 11:26 AM
عرض السجلات والإضافة والإزالة



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



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

إذا درس اليوم هو أهم درس بالنسبة للتعامل مع قواعد البيانات.



طبعاً عليك فتح المشروع الذي أخذناه في الدرس الأول لقواعد البيانات .. لهذا ذكرنا أنه عليك أن تتابع دروس قواعد البيانات خطوة بخطوة..



جهز الفورم بالأدوات التالية :

http://www.bwady.com/droos/visualbasic/database/frmdalel.JPG


يمكنك إخفاء Data1 عن طريق خاصية Visible .



الأن كيفية عرض السجلات في أدوات النصوص Text:

هناك عدة طرق لهذه العملية :

أولا: عن طريق الخصائص ل Text وهذه العملية هي الأفضل والأسرع :

حدد Text1 وهي المخصصة لعرض رقم الهاتف . ثم إذهب إلى صندوق الخصائص وغيرها كما في الشكل التالي:



http://www.bwady.com/droos/visualbasic/database/prodata.JPG


1 - أنقر فوق الخاصية DataSource ثم أنقر على السهم لعرض أسماء أدوات قواعد البيانات . طبعاً هي واحدة Data1 حددها.

2- إلى خاصية DataField أنقر فوق السهم لعرض أسماء الحقول . سوف تظهر لك ثلاث حقول هي التي انشأناها في الدرس السابق

tell: رقم الهاتف

name: الإسم

adr : العنوان

كما قلنا أن Text1 مخصصة لعرض رقم الهاتف فعليك إختيار الحقل tell . وكذلك عليك العمل مع Text2 وText3

وبهذا إنتهيت من الربط.



الأن نأتي إلى كتابة الأحداث :

طريقة الربط الأولى:



في حدث Load للفورم ضع الكود التالي:


Combo1.AddItem "بحث عن الرقم"
Combo1.AddItem "بحث عن الإسم"
Combo1.AddItem "بحث عن العنوان"


On Error GoTo data_error
Data1.DatabaseName = App.Path & "\tell.mdb"
Data1.Refresh
Data1.Recordset.AddNew
Exit Sub
data_error:
MsgBox "لم يتم العثور على قاعدة البيانات", vbCritical, "خطأ"



السطور الثلاث الأولى للإضافة إلى القائمة Combo1

ربط قاعدة البيانات بالبرنامج وتحديثها عند التحميل. وعرض رسالة خطأ عند عدم وجودها.


في زر الأضافة ضع الكود التالي:


Data1.Recordset.AddNew

الإضافة لقاعدة البيانات





في زر الحذف ضع الكود التالي :

On Error GoTo data_error
If MsgBox("هل تريد حذف السجل بالتأكيد؟", vbQuestion + vbYesNo, "تأكيد حذف") = vbYes Then

Data1.Recordset.Delete
Data1.Recordset.MoveNext
End If
Exit Sub
data_error:
MsgBox "لم يبقى سجلات", vbCritical, "خطأ"

السطر الأول معروف التصريح عن الخطأ.

السطر الثاني: رسالة تأكيد حذف.

السطر الثالث: حذف السجل الحالي

السطر الرابع: النقل إلى السجل التالي.

السطور الأخيرة:عند الإنتهاء من السجلات إعرض الرسالة.



في زر التعديل ضع الكود التالي:

Data1.Refresh

بهذا تكون قد عرفت كيفية الإضافة والحذف والتعديل.



الأن إلى أزرار التنقل :

في زر إتجاه اليمين (الإنتقال إلى السجل التالي ) ضع الكود التالي:

On Error Resume Next

Data1.Recordset.MoveNext

في زر إتجاه اليسار (الإنتقال إلى السجل السابق) ضع الكود التالي:

On Error Resume Next

Data1.Recordset.MoveNext



الأن نأتي إلى الإستعلام عن سجل



هناك عدة طرق للإستعلام والفرز سوف نأخذها في درس الأستعلام SQL. أما الأن فسوف نأخذ كيفة عرض سجل

مطابق للنص المراد البحث عنه.



في زر البحث ضع الكود التالي:

Select Case Combo1.ListIndex
Case 0
Data1.RecordSource = (" select * from dalel where tell=" + "'" + Text4.Text + "'")
Data1.Refresh
Case 1
Data1.RecordSource = (" select * from dalel where name=" + "'" + Text4.Text + "'")
Data1.Refresh
Case 2
Data1.RecordSource = (" select * from dalel where adr=" + "'" + Text4.Text + "'")
Data1.Refresh
End Select

مع التركيز على تحديد خيارات Combo1

لاحظ جملة الأستعلام كيفية صياغتها



Data1.RecordSource = (" select * from إسم الجدول where إسم الحقل=" + "'" + Text + "'")




النجمة تعني كافة الحقول

Text تعني نص البحث.

where هي الشرط أي أن إسم الحقل يشبه Text






طبعاً هناك طريقة أخرى لعرض البيانات و الإضافة ولاكن ليست أفضل من الطريقة السابقة. سوف تعلمها الأن.



طريقة الربط الثانية:



في حدث Load للفورم ضع الكود التالي:

Text1 = Data1.Recordset.Fields!tell
Text2 = Data1.Recordset.Fields!Name
Text3 = Data1.Recordset.Fields!Adr

والإضافة والتعديل تتم فقط بعكس السطور السابقة:

Data1.Recordset.AddNew
Data1.Recordset.Fields!tell = Text1
Data1.Recordset.Fields!Name = Text2
Data1.Recordset.Fields!Adr = Text3
Data1.Refresh




وبهذا تكون قد تعلمت الأساسيات في التعامل مع قواعد البيانات.

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

في الدرس القادم سوف تعرف كيف تعرض السجلات منظمة في جدول . لاتنسى إضافة عدد من الأسماء والأرقام لتساعدنا في العمل.

تابع إلى الدرس التالي في قواعد البيانات . إذهب إلى رأس الصفحة