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

الدرس الثالث و العشرون ...قواعد البيانات / التعامل مع أداة عرض البيانات FlexGrid

اذهب الى الأسفل

الدرس الثالث و العشرون ...قواعد البيانات / التعامل مع أداة عرض البيانات FlexGrid Empty الدرس الثالث و العشرون ...قواعد البيانات / التعامل مع أداة عرض البيانات FlexGrid

مُساهمة من طرف أحمد مناع الإثنين يناير 16, 2012 1:25 pm

بسم الله الرحمن الرحيم



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


أولا : التعرف على الاداة Microsoft FlexGrid



هل سبق لك استخدام برنامج Excel ؟

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



الواقع أن أداة الشبكة Microsoft FlexGrid يمكن تشبيهها بجدول اكسل Excel ولكن بلا وظائف ، وتوفر فيجوال بيسك لها خواص و أساليب برمجية تمكنك من التحكم في خلايا والصفوف الشبكة .

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


كيفية أستدعاء الاداة الى المشروع :



اذهب الى قائمة project >> ثم combonent او اضغط على ctrl+T ستفتح لك قائمة المكونات اختر منها المكون التالي و ضع بجانبه علامة صح Microsoft FlexGrid Control 6.0 كما هو موضح في الصورة
الدرس الثالث و العشرون ...قواعد البيانات / التعامل مع أداة عرض البيانات FlexGrid 351805656



فتظهر بهذا الشكل فى شريط الادوات القياسى ...



الدرس الثالث و العشرون ...قواعد البيانات / التعامل مع أداة عرض البيانات FlexGrid 510233632



قم بوضعها الى النموذج كما فى الشكل السابق



أهم خواص الشبكة :



وظيفتها
قيمها
اسم الخاصية
تحدد عدد أعمدة الشبكة
عدد
Cols
تحدد عدد صفوف الشبكة
عدد
Rows
تظهر البيانات التي تحملها أداة قاعدة البيانات Data
اسم أداة البيانات المرتبطة بقاعدة البيانات مثل الأداةData
DataSource
0 عدم إتاحة

1 تغيير اتساع الصفوف أثناء التنفيذ.

2 تغيير اتساع الأعمدة أثناء التنفيذ

3 تغيير اتساع الصفوف والأعمدة أثناء التنفيذ
0 ، 1 ، 2 ، 3
AllowUserResizing
تحدد عدد الأعمدة الثابتة
عدد
FixedCols
تحدد عدد الصفوف الثابتة
عدد
FixedRows
0 بدون شريط تمرير

1 شريط تمرير أفقي

2 شريط تمرير رأسي

3 شريطي تمرير أفقي ورأسي
0 ، 2 ، 3
ScrollBars



كما تتمتع أداة الشبكة بنفس الخصائص السابقة مثل الظهور Visible و الخط ، و غيرها .



أهم الطرق Methods و الأوامر:





1- دخول الخلية EnterCell وهو حدث لدي نقر إحدى الخلايا و التعامل معها .

2- حدث ترك الخلية LeaveCell و يحدث لدي ترك المستخدم للخلية .

3- حدث تغير الصفوف أو الأعمدة RowColChange و يحدث لدي تغير عدد أعمدة الشبكة أو صفوفها من حيث الزيادة أو النقصان .

4- منظومة النصوص TextArray

5- و هي ترقم الخلايا من 0 إلي آخر الخلايا فمثلا العد يبدأ من 0 إلي آخر خلية في الشبكة .

6- مصفوفة أو جدول النصوص TextMatrix:

وهو يحدد الخلية برقمها في الصف والعمود فمثلاُ MsflexGrid1.TextMatrix(2,5) هي الخلية التي تقع في الصف الثاني ، والعمود الخامس منه ، حيث ان رقم أول صف وأول عمود هو 0 .

7- RemoveItem

وهو يحذف صف معين




ثانيا : التحكم بخصائص الاداة بأستخدام الشفرة أو الكود :



الان سنتعلم التحكم بخصائص FlexGrid بواسطة الكود ، يجب ان تعلم ان جميع الاوامر التي تكتب لهذه الاداة غالبا ما تكتب في حدث التحميل للفورم Load ، و من الخصائص التي يجب ان تتعلمها هي التحكم في عرض الصفوف مع العلم بأن الصفوف مرقمة من اليسار الى اليمين ابتداء من الصفر و اذا اردنا مثلا ان نغير عرض العمودين رقم 0 و 3 مثلا و نريد ان يكون عرضهما 2000 و 1000 على التوالي فإننا سنحتاج الى كتابة الكود التالي :





MSFlexGrid1.Colwidth(0) = 2000

MSFlexGrid1.Colwidth(3) = 1000





مع العلم بأن اسم الاداة في المكود السابق هو MSFlexGrid1، لاحظ أننا نقوم بحصر رقم الصف بين قوسين


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



MSFlexGrid1.Row = 0

MSFlexGrid1.Col = 1

MSFlexGrid1.Text = "الاسم "

MSFlexGrid1.Col = 2

MSFlexGrid1.Text = "العمل"





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



الدرس الثالث و العشرون ...قواعد البيانات / التعامل مع أداة عرض البيانات FlexGrid 142983181


ثالثا : تعبئة الاداة ببيانات جدول قاعدة البيانات بأستخدام الاداة Data Control



قم بوضع الاداة Data Control على الفورم ومن ثم بقم بربطها مع قاعدة البيانات المراد الاتصال بها _وطبعا تعلمنا فعل ذلك دورس سابقا _بعد ذلك حدد الخاصية DataSource لاداة عرض البيانات FlexGrid ثم أختر مصدر البيانات لها وهى طبعا Data1 ...كما فى الشكل التالى :



الدرس الثالث و العشرون ...قواعد البيانات / التعامل مع أداة عرض البيانات FlexGrid 102610640



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



الدرس الثالث و العشرون ...قواعد البيانات / التعامل مع أداة عرض البيانات FlexGrid 528758803




ثالثا : تعبئة الاداة ببيانات جدول قاعدة البيانات بأستخدام مكتبة dao



- يتم أولا أستدعاء المكتبة dao الى مشروعك

-بعد ذلك سنقوم بتعريف متغيرين ليقوم الأول بحمل قاعدة البيانات لكى نتصل بها من خلاله والاخر ليحمل الجدول لى نتصل به من خلاله ايضاً والمتغيرين على التوالى هما Db و Rs



الكود:
Dim Db As Database
Dim Rs As Recordset



_ثم نقوم بالاتصال بقاعدة البيانات عن طريق الكود التالى :



الكود:
Set Db = DBEngine.OpenDatabase(App.Path & "\db1.mdb")
Set Rs = Db.OpenRecordset("T1", 1)



والآن جاء دور العمل مع قاعدة البيانات ، لا تنس أننا سوف نتعامل الآن مع T1 لأننا سوف نتنقل بينها دون أن نؤثر على العرض الرئيسي للبرنامج .



الخطوة الأولى هي معرفة عدد السجلات ، وهو عدد الصفوف في الجدول + 1 ( من أجل صف العنوان ) .بأستخدام الكود التالى :



الكود:
 If T1.RecordCount < 1 Then Exit Sub 


                          N = T1.RecordCount
                  MSFlexGrid1.Rows = N + 1




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


الكود:
For i = 1 To n
MSFlexGrid1.Row = i
MSFlexGrid1.Col = 0
MSFlexGrid1.Text = Rs!id

MSFlexGrid1.Col = 1
MSFlexGrid1.Text = Rs!Name

MSFlexGrid1.Col = 2
MSFlexGrid1.Text = Rs!tel

MSFlexGrid1.Col = 3
MSFlexGrid1.Text = Rs!adrs
Rs.MoveNext
Next



وبهذا نكون قد ربطنا الاداة MSFlexGrid1 مع قاعدة بيانات أكسس عن طريق مكتبة dao

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
أحمد مناع
أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 1108
النقاط : 202034
التقيم : 144
الدولة : مصر
الجنس : ذكر

https://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

ََ

مواضيع ذات صلة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى