الدرس الثالث و العشرون ...قواعد البيانات / التعامل مع أداة عرض البيانات FlexGrid
صفحة 1 من اصل 1 • شاطر
الدرس الثالث و العشرون ...قواعد البيانات / التعامل مع أداة عرض البيانات FlexGrid
بسم الله الرحمن الرحيم
أهلا وسهلا أخوانى الكرام فى دورس دورة منتدى مصر التقنى لاحتراف لغة البرمجة بالفجوال بيسك 6 ...ومازلنا فى دروس قواعد البيانات فمن الجزء الاول حتى الجزء السابع تحدثنا عن كيفية أنشاء قاعدة بيانات و كيفية الاتصال بها من خلال عدة تقنيات ...فى هذا الدرس أن شاء الله تعالى سنتعلم ونتعرف على أدوات عرض البيانات ومنها اداة Microsoft FlexGrid
هل سبق لك استخدام برنامج Excel ؟
لا شك أنه يشبه جدول كبير للبيانات ، ولكن بعض الوظائف دمجت بالبرنامج بحيث يمكن إجراء عمليات حسابية وغيرها علي الصفوف والأعمدة ، بل والخلايا ، فضلاً عن أن برنامج اكسل Excel يمكنه تقديم وظائف أخري مثل الرسم والتحكم في العرض .
الواقع أن أداة الشبكة Microsoft FlexGrid يمكن تشبيهها بجدول اكسل Excel ولكن بلا وظائف ، وتوفر فيجوال بيسك لها خواص و أساليب برمجية تمكنك من التحكم في خلايا والصفوف الشبكة .
انها أداة FlexGrid احدى ادوات اظهار البيانات في شكل شبكي او جدولي ان صح التعبير سنتطرق في هذا الدرس الى كيفية وضع نتائج استفسار فيها و اظهاره للمستخدم و كذلك بعض الافكار في التعامل مع هذه الاداة
كيفية أستدعاء الاداة الى المشروع :
اذهب الى قائمة project >> ثم combonent او اضغط على ctrl+T ستفتح لك قائمة المكونات اختر منها المكون التالي و ضع بجانبه علامة صح Microsoft FlexGrid Control 6.0 كما هو موضح في الصورة
فتظهر بهذا الشكل فى شريط الادوات القياسى ...
قم بوضعها الى النموذج كما فى الشكل السابق
أهم خواص الشبكة :
كما تتمتع أداة الشبكة بنفس الخصائص السابقة مثل الظهور 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 كما فعلنا مع الاولى و نستمر بهذه العملية اذا احتجنا الى عناوين اخرى ، وستظهر العناوين التي عملناها بالكود السابق كما الشكل التالي :
قم بوضع الاداة Data Control على الفورم ومن ثم بقم بربطها مع قاعدة البيانات المراد الاتصال بها _وطبعا تعلمنا فعل ذلك دورس سابقا _بعد ذلك حدد الخاصية DataSource لاداة عرض البيانات FlexGrid ثم أختر مصدر البيانات لها وهى طبعا Data1 ...كما فى الشكل التالى :
قم بتشغيل برنامجك وسوف يظهر بيانات قاعدة البيانات كما فى الشكل التالى :
- يتم أولا أستدعاء المكتبة dao الى مشروعك
-بعد ذلك سنقوم بتعريف متغيرين ليقوم الأول بحمل قاعدة البيانات لكى نتصل بها من خلاله والاخر ليحمل الجدول لى نتصل به من خلاله ايضاً والمتغيرين على التوالى هما Db و Rs
_ثم نقوم بالاتصال بقاعدة البيانات عن طريق الكود التالى :
والآن جاء دور العمل مع قاعدة البيانات ، لا تنس أننا سوف نتعامل الآن مع T1 لأننا سوف نتنقل بينها دون أن نؤثر على العرض الرئيسي للبرنامج .
الخطوة الأولى هي معرفة عدد السجلات ، وهو عدد الصفوف في الجدول + 1 ( من أجل صف العنوان ) .بأستخدام الكود التالى :
والآن سوف نقوم بالدوران على كل سجلات قاعدة البيانات ، ومع كل سجل سوف ننقل إلى الصف الخاص به ، ومن ثم نتنقل بين الأعمدة الثلاثة لوضع كل بيان في موضعه الصحيح ، وأخيراً ننتقل إلى السجل التالي
وبهذا نكون قد ربطنا الاداة MSFlexGrid1 مع قاعدة بيانات أكسس عن طريق مكتبة dao
أهلا وسهلا أخوانى الكرام فى دورس دورة منتدى مصر التقنى لاحتراف لغة البرمجة بالفجوال بيسك 6 ...ومازلنا فى دروس قواعد البيانات فمن الجزء الاول حتى الجزء السابع تحدثنا عن كيفية أنشاء قاعدة بيانات و كيفية الاتصال بها من خلال عدة تقنيات ...فى هذا الدرس أن شاء الله تعالى سنتعلم ونتعرف على أدوات عرض البيانات ومنها اداة Microsoft FlexGrid
أولا : التعرف على الاداة Microsoft FlexGrid
هل سبق لك استخدام برنامج Excel ؟
لا شك أنه يشبه جدول كبير للبيانات ، ولكن بعض الوظائف دمجت بالبرنامج بحيث يمكن إجراء عمليات حسابية وغيرها علي الصفوف والأعمدة ، بل والخلايا ، فضلاً عن أن برنامج اكسل Excel يمكنه تقديم وظائف أخري مثل الرسم والتحكم في العرض .
الواقع أن أداة الشبكة Microsoft FlexGrid يمكن تشبيهها بجدول اكسل Excel ولكن بلا وظائف ، وتوفر فيجوال بيسك لها خواص و أساليب برمجية تمكنك من التحكم في خلايا والصفوف الشبكة .
انها أداة FlexGrid احدى ادوات اظهار البيانات في شكل شبكي او جدولي ان صح التعبير سنتطرق في هذا الدرس الى كيفية وضع نتائج استفسار فيها و اظهاره للمستخدم و كذلك بعض الافكار في التعامل مع هذه الاداة
كيفية أستدعاء الاداة الى المشروع :
اذهب الى قائمة project >> ثم combonent او اضغط على ctrl+T ستفتح لك قائمة المكونات اختر منها المكون التالي و ضع بجانبه علامة صح Microsoft FlexGrid Control 6.0 كما هو موضح في الصورة
فتظهر بهذا الشكل فى شريط الادوات القياسى ...
قم بوضعها الى النموذج كما فى الشكل السابق
أهم خواص الشبكة :
وظيفتها | قيمها | اسم الخاصية |
تحدد عدد أعمدة الشبكة | عدد | 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 كما فعلنا مع الاولى و نستمر بهذه العملية اذا احتجنا الى عناوين اخرى ، وستظهر العناوين التي عملناها بالكود السابق كما الشكل التالي :
ثالثا : تعبئة الاداة ببيانات جدول قاعدة البيانات بأستخدام الاداة Data Control
قم بوضع الاداة Data Control على الفورم ومن ثم بقم بربطها مع قاعدة البيانات المراد الاتصال بها _وطبعا تعلمنا فعل ذلك دورس سابقا _بعد ذلك حدد الخاصية DataSource لاداة عرض البيانات FlexGrid ثم أختر مصدر البيانات لها وهى طبعا Data1 ...كما فى الشكل التالى :
قم بتشغيل برنامجك وسوف يظهر بيانات قاعدة البيانات كما فى الشكل التالى :
ثالثا : تعبئة الاداة ببيانات جدول قاعدة البيانات بأستخدام مكتبة 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
ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
| |
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى
أمس في 9:18 pm من طرف wdqwd
» رش الدفان بالرياض
أمس في 7:11 pm من طرف moslema_r
» شركة تنظيف خزانات الشارقة
أمس في 6:57 pm من طرف moslema_r
» شركة مكافحة الفئران بالرياض
الإثنين أبريل 15, 2024 8:23 pm من طرف moslema_r
» افضل شركة كشف تسربات المياه بالباحة
الخميس أبريل 04, 2024 7:02 am من طرف gmalnagy
» ساعدوني وفهموني help me
الجمعة مارس 29, 2024 8:37 am من طرف linesoft
» كشف تسربات المياه في جدة
السبت مارس 23, 2024 7:23 pm من طرف gmalnagy
» خدمات كشف تسربات المياه بخصم 25% - اتصل الان
السبت مارس 23, 2024 7:22 pm من طرف gmalnagy
» كهربائي منازل بالرياض
الأحد مارس 17, 2024 1:52 pm من طرف رانيا حماد
» افضل شركة نقل عفش بالرياض نقل باكستاني 40% خصم | موقع الانوار
الأحد مارس 17, 2024 1:25 pm من طرف رانيا حماد