visual basic

147
اﻟﻌﺮاق ﺟﻤﻬﻮرﻳﺔ اﻟﻌﻠﻤﻲ واﻟﺒﺤﺚ اﻟﻌﺎﻟﻲ اﻟﺘﻌﻠﻴﻢ وزارة اﻟﺘﻜﻨﻮﻟﻮﺟﻴﺔ اﻟﺠﺎﻣﻌﺔ ﻋﻠ ﻗﺴﻢ اﻟﺤﺎﺳﺒﺎت م أﻋﺪاد اﻷﻧﺒﺎري ﻣﻬﺪي ﻓﺨﺮي ﻋﻤﺎر أﺷﺮاف د. ﺟﺒﺎر آﺎﻇﻢ ﻋﻤﺎد ﺑﺄﺳﺘﺨﺪام اﻟﺒﻴﺎﻧﺎت ﻗﻮاﻋﺪ ﺑﻴﻦ اﻟﺮﺑﻂ ﺑﻴﺴﻚ واﻟﻔﻴﺠﻮال اﻷآﺴـﺲ2008

Upload: hushaz

Post on 14-Sep-2014

193 views

Category:

Documents


18 download

TRANSCRIPT

Page 1: Visual Basic

جمهورية العراق وزارة التعليم العالي والبحث العلمي

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

أعداد

عمار فخري مهدي األنباري

أشراف عماد آاظم جبار. د

الربط بين قواعد البيانات بأستخدام

األآسـس والفيجوال بيسك

2008

Page 2: Visual Basic

فهرس المواضيع

الفصل األول

تعلم البرمجة بلغة الفيجوال بيسك

رقم الصفحة الموضوع

1 المقدمة 1 – 1

1 ماهو الفيجوال بيسك 2 – 1

2 الفرق بين لغة فيجوال بيسك ولغة بيسك 3 – 1

2 لماذا نستخدم لغة فيجوال بيسك 4 – 1

2 تشغيل برنامج لغة فيجوال بيسك 5 – 1

4 بيئة لغة فيجوال بيسك 6 – 1

11 أنواع أدوات التحكم 7 – 1

14 اضافة أدوات تحكم جديدة 8 – 1

17 الى ومن النموذج ة عناصر التحكماضافة وازال 9 – 1

18 تسمية آدوات التحكم 10 – 1

19 حفظ المشروع 11 – 1

20 الخصائص واألحداث 12 – 1

22 التعامل مع القوائم 13 – 1

24 البرمجـة بلغة فيجوال بيسك 14 – 1

25 تحليل األجراء الحدثي 15 – 1

Page 3: Visual Basic

27 ال بيسكالعناصر األساسية لجمـل لغة فيجو 16 – 1

27 البيانات 1 – 16 – 1

29 التعابير 2 – 16 – 1

29 المشغالت 3 – 16 – 1

30 الدوال 4 – 16 – 1

31 أنواع الجمل في لغة فيجوال بيسـك 17 – 1

31 جمل التعليق 1 – 17 – 1

32 جمل التصريح 2 – 17 – 1

32 جمل التخصيص 3 – 17 – 1

32 الشرطية الجمل 4 – 17 – 1

38 والدورانأجمل التكرار 5 – 17 – 1

41 العمليات التي تطبق على النماذج 18 – 1

42 صندوق الرسائل وصندوق المدخالت 19 – 1

43 دالة صندوق الرسائل 1 – 19 – 1

49 خالت ددالة صندوق الم 2 – 19 – 1

52 تكوين تطبيقات لغة فيجوال بيسك 20 – 1

57 دراسة بعض الخصائص المهمة 21 – 1

Page 4: Visual Basic

الفصل الثاني

قواعد البيانات في مايكروسوفت آآسـس تعلم

61 المقدمة 1 – 2

61 ماهي قاعدة البيانات 2 – 2

مقدمة لبرنامج مايكروسوفت أآسـس 3 – 2 62

62 مصطلحات خاصة بقواعد البيانات 4 – 2

63 أآسـس مايكروسوفت تشغيل برنامج 5 – 2

64 مكونات مايكروسوفت آآسـس 6 – 2

66 فتح قاعدة بيانات موجودة 7 – 2

66 الجداول 8 – 2

67 جدول جديد انشاء 9 – 2

67 طريقة عرض التصميمتكوين جدول ب 10 – 2

68 ادراج الحقول وتسميتها 1 – 10 – 2

68 أنواع البيانات في حقول الجدولتحديد 2 – 10 – 2

72 ديد خصائص للحقول المدرجة مع بياناتها تح 3 – 10 – 2

76 حفظ الجدول مع انشاء مفتاح أساسي اذا تطلب األمر 4 – 10 – 2

77 معالجة البيانات 11 – 2

77 عرض البيانات في الجدول 12 – 2

78البياناتونافذة عرض صفحة األنتقال بين نافذة عرض التصميم 13 – 2

78 فذة عرض صفحة البياناتتغيير أتجاه نا 14 – 2

79 ترتيب السجالت في الجدول 15 – 2

Page 5: Visual Basic

79 تصفية البيانات 16 – 2

81 العالقات بين الجداول في قاعدة البيانات 17 – 2

82 تعريف العالقات 1 – 17 – 2

82 أنواع العالقات 2 – 17 – 2

85 البحث واألستبدال 18 – 2

85 الجدول ) سجالت( قيود التنقل عبر 19 – 2

الفصل الثالث

تطبيق عملي للربط بين قواعد البيانات

)فيجوال بيسـك &أآسـس (

87 المقدمة 1 – 3

87 انشاء برامج قواعد البيانات 2 – 3

87 عنصر التحكم المرتبط باألدخال 3 – 3

89 أزرار التنقل عبر السجالت 4 – 3

90 تحديد موقع السجل الحالي 5 – 3

91 اضافة سجل جديد 6 – 3

91 حفظ السجل الحالي 7 – 3

92 الغاء تحديث السجل الحالي 8 – 3

92 حذف السجل الحالي 9 – 3

93 البحث عن بيانات الحقول 10 – 3

95 تحديد الكتابة الرقمية 11 – 3

96 آائن المعطيات في قواعد البيانات 12 – 3

Page 6: Visual Basic

Dynaset 97ع آائن المعطيات من نو 1 – 12 – 3

Table 100آائن المعطيات من نوع 2 – 12 – 3

ADO Data Control 103آائن البيانات 13 – 3

113 التقارير في قواعد البيانات 14 – 3

119 قاعدة البيانات بأستخدام المعالج 15 – 3

SQL 123لغة األستفسارات المهيكلة 16 – 3

123 ) البنيوية ( سارات المهيكلة أنماط لغة األستف 1 – 16 – 3

124 برمجة أنماط لغة األستفسارات المهيكلة 2 – 16 – 3

Page 7: Visual Basic

فهرس األشكال

الفصل األول

تعلم البرمجة بلغة الفيجوال بيسك

رقم الصفحة الشـكـل

3 قائمة البدأ بالـفيجوال بيسك في نظام التشغيل) 1 – 1(

3 نافذة مشروع جديد ) 2 – 1(

4 النافذة الرئيسية لبرنامج لغة فيجوال بيسك) 3 – 1(

6 أيقونات نافذة مستكشف المشروع) 4 – 1(

7 خصائص النموذج) 5 – 1(

8 نافذة موقع عرض النموذج) 6 – 1(

9 نافذة تصميم النموذج) 7 – 1(

10 نافذة البرمجة في الفيجوال بيسك) 8 – 1(

10 تحكمشريط أدوات ال) 9 – 1(

15 اضافة أدوات تحكم جديدة) 10 – 1(

16 قائمة صندوق أدوات جديدة) 11 – 1(

16 حذف قائمة صندوق األدوات) 12 – 1(

17 ازالة عناصر التحكم من النموذج) 13 – 1(

22 محرر القوائم) 14 – 1(

23 برمجة األوامر داخل محرر القوائم) 15 – 1(

Page 8: Visual Basic

24 نافذة آتابة الشفرة) 16 – 1(

25 تنفيذ برنامج لغة فيجوال بيسك) 17 – 1(

46 برمحة دالة صندوق الرسائل) 18 – 1(

47 برمجة أزرار تحكم دالة صندوق الرسائل) 19 – 1(

48 صندوق الرسائل مع أضافة صورةبرمجة أزرار تحكم دالة ) 20 – 1(

50 التبرمجة دالة صندوق المدخ) 21 – 1(

51 برمجة أزرار دالة صندوق المدخالت) 22 – 1(

55 عمل حاسبة بسيطة) 23 – 1(

56 مضروب أي عدد حساب) 24 – 1(

57 اختبارعددا ما آولي آم غير آولي) 25 – 1(

58برمجيا Comboاستدعاء القيم أو العناصر ضمن قائمة الكائن ) 26 – 1(

Option Button 59ائن برمجة الك) 27 – 1(

الفصل الثاني

قواعد البيانات في مايكروسوفت آآسـس تعلم

63 فتح أو تكوين قاعدة بيانات جديدة) 1 – 2(

64 خزن قاعدة بيانات جديدة) 2 – 2(

نافذة قاعدة البيانات الرئيسية) 3 – 2( 65

66 حقول وسجالت الجدول ) 4 – 2(

67 ول بطريقة عرض التصميمتكوين جد) 5 – 2(

69 نوع بيانات حقول الجدول) 6 – 2(

76 محرر أو منشأ التعابير ) 7 – 2(

Page 9: Visual Basic

78 األنتقال بين نافذة عرض التصميم ونافذة عرض صفحة البيانات) 8 – 2(

79 أنواع تصفية البيانات) 9 – 2(

Filter For 80تصفية بيانات الجدول بأستخدام شرط ) 10 – 2(

80 تصفية حسب النموذج لبيانات الجدول) 11 – 2(

81 وجدول الدرجات من خالل حقل الربطالعالقة بين جدول الطالب ) 12 – 2(

82 تعريف العالقات بين الجداول) 13 – 2(

83 عالقة واحد الى مجموعة بين جدولين في قاعدة البيانات) 14 – 2(

83 احد الى واحد بين جدولين في قاعدة البياناتعالقة و) 15 – 2(

84 تصميم العالقات بين الجداول) 16 – 2(

85 نافذة البحث واألستبدال) 17 – 2(

86 التنقل عبر سجالت الجدول) 18 – 2(

الفصل الثالث

تطبيق عملي للربط بين قواعد البيانات

)فيجوال بيسـك &أآسـس (

95 ذ برنامج ملف قاعدة بيانات الطالبتنفي) 1 – 3(

DAO Object Library 96تحميل مكتبة البرمجة ) 2 – 3(

Dynaset 98من خالل الكائن مجموعة السجالت برمجة ملف قاعدة البيانات ) 3 – 3(

101 تصميم قاعدة البيانات من داخل الفيجوال بيسك) 4 – 3(

Table 102بيانات من خالل الكائن مجموعة السجالت برمجة ملف قاعدة ال) 5 – 3(

ADO 104اضافة آائن الوصول للبيانات ) 6 – 3(

ADO 104برنامج قاعدة البيانات بأستخدام الكائن متصمي) 7 – 3(

Page 10: Visual Basic

ADO 105خصائص آائن البيانات ) 8 – 3(

ADO 106صفحة خصائص آائن البيانات ) 9 – 3(

ADO 106أآسـس بأستخدام آائن بيانات بيسك بقاعدة بيانات الفيجوالربط برنامج ) 10 – 3(

107 تحديد نوع مصدر البيانات ) 11 – 3(

107 أآسـس من نوع مايكروسوفت بياناتالقاعدة تحديد) 12 – 3(

108 تحديد مكان قاعدة بيانات أآسـس وأسم مصدر بياناتها) 13 – 3(

109 ختيار أسم مصدر بيانات القاعدة أ) 14 – 3(

109 تحديد جدول قاعدة البيانات) 15 – 3(

111 نافذة خصائص ربط البيانات) 16 – 3(

111 مع القاعدة وأختبار الربط ADOربط آائن البيانات ) 17 – 3(

112 بجدول القاعدة من خالل مصدر البيانات ADOربط آائن البيانات ) 18 – 3(

Data Grid 112على بيانات القاعدة من خالل آائن أجراء العمليات المختلفة ) 19 – 3(

Data Grid 113بالقاعدة من خالل آائن ADOربط آائن البيانات ) 20 – 3(

113 الى المشروع Data Environmentاضافة بيئة البيانات ) 21 – 3(

114 القاعدة الى المشروع اضافة تقرير لبيانات) 22 – 3(

115 تحديد نوع خاصية ربط التقرير) 23 – 3(

115 تحديد أسم قاعدة البيانات المصممة مسبقا) 24 – 3(

116 عرض التقرير من خالل آائن زر األمر) 25 – 3(

116 ربط آائن زر األمر مع حقول الجدول ) 26 – 3(

117 التقرير تصميم واجهة عرض) 27 – 3(

118 تنفيذ برنامج قاعدة البيانات مع عرض تلخيص لورقة العمل) 28 – 3(

118 طباعة ملخص ورقة العمل الخاصة ببيانات القاعدة ) 29 – 3(

Page 11: Visual Basic

119 تكوين قاعدة البيانات بأستخدام المعالج) 30 – 3(

119 وذج البياناتممعالج ن) 31 – 3(

120 نوع الربط مع قاعدة البيانات تحديد) 32 – 3(

120 تحديد أسم قاعدة بيانات أآسـس ومسارها ) 33 – 3(

121 تحديد أسم نموذج قاعدة البيانات بأستخدام المعالج) 34 – 3(

121 أختيار أسم جدول قاعدة البيانات والحقول المطلوبة ) 35 – 3(

122 ستخدام المعالجبقاعدة البيانات بأة تحميل أزرار التحكم الخاص) 36 – 3(

122 تنفيذ برنامج قاعدة البيانات بأستخدام المعالج ) 37 – 3(

123 تحديد النموذج األول أثناء تنفيذ المشروع) 38 – 3(

124 جدول قاعدة بيانات أآسـس) 39 – 3(

SQL 125قاعدة البيانات بأستخدام عبارات الـ ) 40 – 3(

Select Name 127عرض بيانات حقل األسم فقط بأستخدام عبارة ) 41 – 3(

128 عرض بيانات حقلي الرقم واألسم فقط مع بعض السجالت) 42 – 3(

129 مع بعض سجالتهاعرض جميع حقول القاعدة ) 43 – 3(

130 الشرطية SQLترتيب بيانات القاعدة تنازليا بأستخدام عبارة ) 44 – 3(

131 مع جميع حقول القاعدةواحد عرض سجل) 45 – 3(

132 عرض جميع حقول القاعدة مع سجلين فقط) 46 – 3(

132 جميع حقول القاعدة مع سجلين فقط أعتمادا على حقل األسمعرض ) 47 – 3(

Page 12: Visual Basic

فهرس الجداول

الفصل األول

تعلم البرمجة بلغة الفيجوال بيسك

رقم الصفحة الجدول

11 أنواع أدوات التحكم ووظيفتها) 1 – 1 (

19 البادئات األآثر شيوعا ألدوات التحكم ) 2 – 1(

20 األحداث المشترآة للعديد من أدوات التحكم ) 3 – 1(

21 األلوان الستة عشر واألرقام المخصصة لها) 4 – 1(

28 فيجوال بيسك مع وصفها أنواع البيانات الرئيسية في برنامج لغة) 5 – 1(

30 الدوال الشائعة األستخدام مع برامج لغة فيجوال بيسك) 6 – 1(

41 العمليات الرئيسية التي تطبق على النماذج) 7 – 1(

44 أزرار التحكم المستخدمة مع صندوق الرسائل وأرقامها) 8 – 1(

45 والصور الخاصة بهاالرسائل أزرار التحكم المستخدمة مع صندوق ) 9 – 1(

47 أزرار األمر الخاصة بدالة صندوق الرسائل مع أسم األمر) 10 – 1(

52 عناصر التحكم والخصائص المستخدمة فيها) 11 – 1(

59 القيم العددية المتاحة للكائن صندوق الفحص واألختبار) 12 – 1(

60 ائن رسم الشكل الهندسيالقيم العددية المتاحة لك) 13 – 1(

Page 13: Visual Basic

المصــادر 134

الفصل الثاني

قواعد البيانات في مايكروسوفت آآسـس تعلم

69 أنواع بيانات الحقول وخصائصها وحجم تخزينها) 1 – 2(

72 خاصية حجم الحقل المحددة للبيانات في الحقول الرقمية ) 2 – 2(

الحروف والعالمات الخاصة بقناع األدخال) 3 – 2( 73

86 أزرار التنقل عبر سجالت الجدول مع وظائفها) 4 – 2(

الفصل الثالث

تطبيق عملي للربط بين قواعد البيانات

)فيجوال بيسـك &أآسـس (

89 العمليات المرتبطة بكائن عنصر الوصول للبيانات) 1 – 3(

105 تغيير خصائص الكائنات) 2 – 3(

110 صناديق النصتغيير خصائص ) 3 – 3(

Page 14: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

1

Introduction: المقدمة 1 – 1) تكوين ( عتبر الفيجوال بيسك احدى لغات البرمجة المتطورة والتي تستخدم في خلق ت

هذه التطبيقات يتم تكوينها بأستخدام . التطبيقات التي تستثمر النوافذ الرسومية لواجهة المستخدم

وآائن مفتاح أو زر ) Text Box (صندوق النص مثل آائن ) Objects(مجموعة من الكائنات

هذه الكائنات الى نافذة الفيجوال بيسك ) رسـم ( تم اضافة ت، حيث ) Command Buttons( األمر

داخل الكائن أو في ) Code( ومن ثم آتابة البرنامج أو الشفرة ) Form(والتي تسمى بالنموذج

.بعض األحيان داخل النموذج

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

)Application & Programming . (

? What is VB :ال بيسكماهو الفيجو 2 – 1 ة بكافةواجهات البرامج ، حيث آانت اللغات البرمجيالمساعدة في تطوير اللغةهي

ورـات والصـوم والمخططـة الرسـن ناحيـمتخدم سـة للمـأنواعها ضعيفة في انشاء واجهات مقبول

(Graphic User Interface-GUI) ، اذ أن انشاء واجهات )Interface ( تالئم نوعا ما رغبة

لشرآات ومن ، مما دفع االمستخدم يتطلب من المبرمج آتابة االف من األسطر لغرض تصميمها

اللغات البرمجية وخصوصـا بعد اصدار أنظمة تشغيل تدعم بيئة ن تطور بأروسوفت كبينها شرآة ماي

) Windows( المستخدم والتي تسمى بنظام النوافذ

المشتقة من الحروف ) Basic( أصل لغة فيجوال بيسك هي لغة بيسك من المهم معرفة أن

) Beginners All-purpose Symbolic Instruction Code: ( ية األولى للعبارة التال

.والمقصود بها لغة التعليمات الرمزية لكافة األغراض للمبتدئين

تم انشاء لغة فيجوال بيسك من قبل شرآة مايكروسوفت ، حيث أن الجزء األول منها

"Visual " في خلق أو تكوين التطبيق ، أما الجزء الثاني منها يشير الى الطريقة المستخدمة

"Basic " فيشير الى لغة البرمجة المستخدمة في التطبيق.

حيث تم دمج قدرات لغة بيسك مع أدوات 1991أول ظهور للغة فيجوال بيسك آان عام

، 1992ألصدار الثاني منها عام ثم آان ا. التصميم المرئي ثم توفير سهولة األستخدام وبساطتها

، ومن ذلك الوقت تعاقبت األصدارات ومنها األصدار السادس 1993فاألصدار الثالث عام

)Visual Basic 6.0 ( والذي سنتناول الحديث عنه.

Page 15: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

2

VB language Vies Basic language:بيسكلغة فيجوال بيسك و ةق بين لغالفر 3 – 1

ا أي دفعة واحدة ) Sequentially( يتم في لغة بيسك تنفيذ البرنامج بشكل متسلسل ، بينم

ار حيث في لغة فيجوال بيسك د أخر وحسب األختي ذ جزء بع ار احدى يتم التنفي رمج بأختي وم المب يق

رمج ، حيثومن ثم برمجة الكائن الكائنات ورسمها على نافذة الفيجوال بيسك ر يمكن للمب ار أآث اختي

تقال ائن مس ذ آل آ عن من آائن وآل آائن تتم فيه آتابة البرنامج بشكل مستقل عن الكائن األخر وينف

ذلك ت الكائن األخر ، آما يمكن ربط آائنين أو أآثر ببرنامج واحد و ر الفيجوال بيسك من اللغات ل عتب

.المرنة وسهلة األستخدام

? Why we use VB: لماذا نستخدم لغة فيجوال بيسك 4 – 1عتبر لغة فيجوال بيسك من اللغات األآثر قبوأل بين شرائح المبرمجين وعلى آافة ت

:مستوياتهم ، ويتجلى ذلك في النقاط التالية

.انشاء تطبيقات آبيرة باستخدام برامج صغيرة . 1

.سهولة استخدام البرامج وسرعة تنفيذها . 2

بحيث ) Multi Media( مع امكانية ادخال المؤثرات الصوتية واألفالم جمالية الواجهات. 3

.تتيح للمستخدم التمتع والتفاعل مع البرنامج

.طبيقات وبرامج أخرى تامكانية ربط لغة فيجوال بيسك مع . 4

دة من بعض األستفاوأمكانية امكانية أستدعاء الكثير من الوظائف الموجودة في نظام التشغيل . 5

.بلغة فيجوال بيسك بيئة نظام النوافذ وتسخيرها لصالح البرنامج المنشأ البرامج التي تعمل في

Starting Visual Basic :تشغيل برنامج لغة فيجوال بيسك 5 – 1 Startيتم تشغيل برنامج لغة فيجوال بيسك من خالل اختيار األمر التالي من قائمة البدأ

. ) 1 - 1( نظام التشغيل وآما موضح ذلك في الشكل رقم الموجودة في

Page 16: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

3

قائمة البدأ بالـفيجوال بيسك في نظام التشغيل) : 1 – 1( شكل رقم

روع ـذة مشـفار نـتظهـس ) Microsoft Visual Basic 6.0( الهـر أعـار األمـبعد أختي

.)2 – 1(رقم بالشكل ذلك خيارات وآما موضحوالتي تحتوي على ثالثة ) New Project( دـجدي

نافذة مشروع جديد) : 2 – 1( رقم شكل

Page 17: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

4

1. New : وتعني مشروع جديد لم يسبق العمل به )New Project . (

2. Existing : لحاسبة أو وتم تخزينه سواءا على جهاز ا) تم أنشاءه مسبقا ( مشروع موجود

) . Existing Project( على وسيلة اخرى مثل القرص المرن

3. Recent :تظهر مجموعة من المشاريع التي تم العمل بها مؤخرا وموقع تخزينها

)Recent Project . (

فر الفيجوال من اختيار نوع المشروع الذي نريد انشاءه ، حيث يو) New( مكن الصفحة ت

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

وهو األختيار األفتراضي ألغلب المشاريع التي يتم تصميمها Standard EXE) األفتراضي (

والتي ) VB( ة الرئيسية لبرنامج لغة عندها ستظهر لنا النافذ) . Open( بعدها نختار األمر أفتح

) Integrated Development Environment - IDE( تسمى ببيئة التطوير المتكاملة

.) 3 – 1( شكل رقم والموضحة بال

The visual basic environment: بيئة لغة فيجوال بيسك 6 – 1 :تتكون بيئة الفيجوال بيسك من مجموعة من العناصر هي

النافذة الرئيسية لبرنامج لغة فيجوال بيسك) : 3 – 1( رقم شكل

Page 18: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

5

حيث ، ) 3 – 1( وهو الشريط األول الذي يظهر في شكل رقم ) : Title Bar( شريط العنوان .1

.يظهر داخل هذا الشريط عنوان المشروع

، ) 3 – 1( وهو الشريط الثاني الذي يظهر في شكل رقم ) : Menus Bar( شريط القوائم .2

موعة من الوظائف يحتوي على مجموعة من القوائم وآل قائمة تحتوي على مجحيث

)Functions ( مثلFile , Edit , View,.. تساعدنا في بناء التطبيق والتي.

، ) 3 – 1( وهو الشريط الثالث الذي يظهر في شكل رقم ) : Tools Bar( شريط األدوات .3

فظ مثل فتح ملف ، حيحتوي على مجموعة من الوظائف الموجودة داخل شريط القوائم حيث

.الخ ... الملف الحالي ،

اضافة الى مجموعة من النوافذ الرئيسية الداخلة في بيئة الفيجوال بيسك والتي تشكل بمجموعها .4

:لبيئة الفيجوال بيسك ، وهذه النوافذ هي ) Interface( الواجهة البينية

شكل رقم وتظهر على جهة اليمين من ) : Project Window( نافذة محتويات المشروع - أ

وغيرها من ) Modules( ووحدات نمطية ) Forms( محتويات التطبيق من نماذج ) 3 – 1(

بين هذه المحتويات لغرض تعديلها أو األنتقالالعناصر الموجودة في المشروع ، وتسهل عملية

محتوياتها تنفيذها أو اضافة نماذج ووحدات نمطية جديدة وتشبه المستكشف في أسلوب التعامل مع

حيث يتم استعراض ) Project Explorer( مستكشف المشروع لذلك يطلق عليها أيظا بأسم

وآذلك بالنسبة للوحدات النمطية وغيرها من المحتويات ) Folders( النماذج على شكل مجلدات

.خرى الموجودة داخل هذه النافذة ألا

يات المشروع ستظهر قائمة تسمح لنا القيام بعدة على نافذة محتو R.Clickعند النقر

:مهام هي

، ) View Object( من خالل شاشة النموذج شاشة تصميم واجهات البرنامج اظهار -

.) View Code( شاشة الشفرة وآذلك اظهار شاشة آتابة البرنامج من خالل

.ع أي خصائص محتويات المشرو) Properties( اظهار الخصائص لكل ملف -

.اضافة نموذج أو وحدة نمطية للمشروع -

يتم اضافة نماذج جديدة وغيرها من المحتويات األخرى الى المشروع من خالل عمل : مالحظة

:األجراء التالي

R.Click ( on project window ) Add Form Module

Page 19: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

6

. Save Form1.frmحفظ الملف الحالي -

. Printطباعة الملف -

. Dockableتكاملة بوصفه جزءا من بيئة التطوير الماظهار نافذة مستكشف المشروع -

. Hideاخفاء نافذة مستكشف المشروع -

يوجد في نافذة مستكشف المشروع شريط أدوات صغير يحتوي على ثالثة أيقونات وآما

) . 4 – 1( رقم بالشكلذلك موضح

أيقونات نافذة مستكشف المشروع) : 4 – 1( شكل رقم

:ءا من اليسار تمثل وهذه األيقونات ابتدا

1. View Code : للكائن أو الملف المحدد ) الشفرة ( تظهر نافذة البرمجة.

2. View Object : تظهر النموذج المحدد.

3. Toggle Code : تظهر أو تخفي المجلدات.

تحتوي على خصائص مستقلة لكل نموذج ) : Properties Window (نافذة الخصائص - ب

ائنات صندوق األدوات ، ويمكن تغيير هذه الخصائص بسهولة ونالحظ تأثيرها آولكل آائن من

تختلف هذه الخصائص حسب نوع الكائن ، . مباشرة على النموذج أو الكائنات التي يحتويها النموذج

توي نافذة الخصائص في تح) . الكائنات ( اال أن الكثير منها يتكرر لجميع أنواع عناصر التحكم

ى صندوق قائمة يحتوي على قائمة بأسماء عناصر التحكم الموجودة على النموذج ، اذ أعالها عل

افذة نأما في أسفل . يمكن أختيار أي عنصر من عناصر القائمة ألستعراض خصائصه مباشرة

عن وظيفة يحوي معلومات توضيحية ) Description( الخصائص فيوجد اطار يدعى الوصف

Page 20: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

7

على أطار نافذة للفأرة يمكن اظهار أو اخفاء هذا األطار بالنقر بالزر األيمنخاصية المحددة ، وال

) .الوصف ( الخصائص وتحديد أو الغاء تحديد القائمة

أو على Alphabeticيمكن استعراض الخصائص اما وفق الترتيب األبجدي للخصائص

تقسم الخصائص الى عدة فئات أي وفق فئات الخصائص ، حيث Categorizedشكل مجاميع

التالية وآما موضحة الخصائص بة للنموذج تظهرمثال بالنس. تختلف حسب نوع الكائن المحدد

) . 5 – 1( رقم بالشكل

خصائص النموذج) : 5 – 1( شكل رقم

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

تحتوي هذه الفئة على مجموعة من الخصائص المتعلقة بطرق األظهار : Appearanceالظهور -

.والشكل العام للكائن مثل اللون والعنوان والخصائص الرسومية

عمل الكائن ة تصف قائمة الخصائص الموجودة ضمن هذه الفئة طريق: Behavior السلوك -

.صر في التطبيق بالنسبة لباقي العنا

- DDE أو )Dynamic Data Exchange : ( ويقصد بها التبادل الديناميكي وهو وسيلة

هذه الفئة خاصة بالنماذج فقط ، اذ التمتلك باقي آائنات التطبيق . األتصال بين النماذج في التطبيق

.الخصائص الموجودة في هذه الفئة

Page 21: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

8

خصائص المتعلقة بنمط الخط الذي سيظهر في الكائن مثل تحتوي هذه الفئة على ال: Fontالخط -

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

ويقصد بها مواصفات مختلفة ،اذ تحتوي هذه الفئة على مجموعة من الخصائص : Miscمتفرقات -

طوير أغلب الخصائص الموجودة في هذه الفئة آثيرة األستخدام أثناء ت. ذات تأثيرات متنوعة

.التطبيقات

تقوم الخصائص الواردة في هذه الفئة بتحديد حجم الكائن من أرتفاع : Positionالموضع -

.وعرض وأحداثيات على النموذج

.تحدد هذه الخصائص مقياس األحداثيات المستخدمة في النموذج : Scaleالمقياس -

مشاهدة أو تستخدم هذه النافذة ل ) : Form Layout Window( نافذة موقع عرض النموذج - ت

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

على هذه النافذة تظهر لنا Mouseخالل أستخدام الزر األيسر للفأرة ، وعند نقر الزر األيمن للفأرة

، وفي حالة عدم وجودها على النافذة الرئيسية ) 6 – 1( رقم وآما موضح في الشكلالقائمة التالية

والذي يظهر في Viewمن خالل األمر ) الوصول اليها ( لبرنامج لغة فيجوال بيسك فيتم تفعيلها

. Form Layout Windowشريط القوائم ومن ثم أختيار األمر

نافذة موقع عرض النموذج) : 6 – 1( شكل رقم

للنوافذ آي التتجاوز حجم وتحدد الحجم األقصى : Resolution Guidesرشاد خطوط األ -

يزيد حجم يجب ان ال) 480* 640( اشة أبعادها فمثال عند العمل على ش. شاشة المستخدم

Page 22: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

9

ألنه في حالة زيادة حجم النافذة عن هذا الرقم فأن ) 480* 640( نوافذ التطبيق عن الحجم

.لن يظهر على شاشة المستخدم أثناء التنفيذ جزء من نافذة التطبيق

على عدة خيارات ، يستطيع المبرمج من خاللها تحديد Startup Positionتحتوي القائمة -

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

مر نوعها نختار األ ف قياسها أوشاشة المستخدم مهما أختل في مرآزأثناء التنفيذ

Center Screen .

نافذة النموذج : ) Formوالنموذج Project- Form (نافذة تصميم النموذج - ث

Project Form منطقة العمل الرئيسية لبرنامج لغة فيجوال بيسك ، اذ تحتوي على النموذج هي

. ي سيكون أساس للمشروع الذي نعمل به الذي يتم تصميمه والعمل عليه والذ

فهو عبارة عن نافذة فارغة وفيها نضع آل مانريد أن يحويه ) Form( أما النموذج

النموذج من أشكال ورسوم وأزرار وغيرها من األدوات التي يتم أستخدامها أثناء تصميم النموذج ،

بسهولة وأيظا تغيير حجمه ولونه وشكل األطار وهو يشبه لوحة رسم حيث نستطيع الرسم عليه

باألسم األفتراضي له وهو ) Title Bar( عنوان هذه النافذة يظهر في شريط العنوان . الخارجي له

)Form1 (وأختيار خاصية ره من نافذة الخصائص يحيث يمكن تغيير هذا العنوان من خالل تغي

.) 7 – 1( آما موضح ذلك بالشكل رقم وة بالنموذج الخاص Captionالعنوان

يمكن أن يتألف المشروع من عدد آبير من النماذج ، آما يمكن فتح أآثر من نموذج داخل : مالحظة

.بين هذه النماذج عن طريق الربط بينهم نافذة تصميم النموذج والتنقل

نافذة تصميم النموذج) : 7 – 1( شكل رقم

Page 23: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

10

البرمجية التي تحدد خدم هذه النافذة لكتابة األيعازاتتست : Code Windowنافذة البرمجة - ج

يمكن فتح نافذة البرمجة بالنقر المزدوج لزر الفأرة . سلوك وأسلوب عمل النماذج وعناصر التحكم

ما يمكن فتح األيسر على أي عنصر تحكم داخل النموذج أو بالنقر المزدوج على النموذج نفسه ، آ

الموجودة في نافذة المشروع) View Code( نافذة البرمجة عن طريق نقر اآليقونة

)Project Window ( ضغط المفتاح أو من خاللF7 لوحة المفاتيح منKeyboard فتظهر ،

. ) 8 – 1( نافذة آما موضح ذلك في الشكل رقم

في الفيجوال بيسك ة البرمجةنافذ) : 8 – 1( شكل رقم

يحتوي هذا الصندوق : The Toolbox Window صندوق أدوات التحكم ) شريط ( نافذة - ح

في األساسية التي يمكن وضعها أو رسمها على النموذج ) أدوات التحكم ( على عناصر التحكم

لى شكل رسوم تسمى وهذه األدوات تكون ع. ) 9 – 1( والموضحة بالشكل رقم مرحلة التصميم

) . Visual & Code( والتي تستخدم لألستغالل المرئي والبرمجي Objectبالكائن

شريط أدوات التحكم ) : 9 – 1( شكل رقم

Page 24: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

11

نامج لغة فيجوال بيسك يتضمن بر ) : Types of Object( أنواع أدوات التحكم 7 – 1

. ) 1 – 1( لموضحة مع وظيفتها بالجدول رقم التحكم األساسية التالية وا أنواع أدوات

أنواع أدوات التحكم ووظيفتها ) : 1 – 1( جدول رقم

Descriptionالوظيفة والوصف Object Nameأسم أداة التحكم Tool األداة

Pointerأداة المؤشر

وهي األداة الوحيدة في صندوق األدوات التي وتستخدم للتأشير . اليتم رسمها مثل باقي األدوات و أآثر من أداة عند على النموذج ألختيار أداة أ

التصميم ألعطائها خصائص معينة وبرمجتها أو .تحريكها أو تغيير حجمها

أداة صندوق الصور

Picture Box

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

الصورة في ) تخصيص ( وضع ويتم. األخرى نافذة من Pictureهذه األداة عن طريق الخاصية

، أو برمجيا بأستخدام ايعازات تحميل الخصائص .الصورة

Labelأداة العنوان

تستخدم لعرض العنوان داخل النموذج مع عدم األمكانية للتعديل على هذا العنوان أثناء تنفيذ

ي آثير من األحيان آعنوان وتستخدم فالبرنامج ، أهم خاصية . Textboxلعنصر تحكم أخر مثل

التي Captionلهذا العنصر هي خاصية العنوان . تحوي النص الذي ستظهره التسمية

Text Boxأداة صندوق النص

تستخدم ألدخال النص والتعديل عليه من قبل ا لهذومن أهم الخصائص المستخدمة . المستخدم

حيث تحتوي هذه Textالعنصر هي خاصية الـ أي Text1الخاصية على أسم الكائن المستخدم

) أو حذفه ( والذي يمكن تبديله األسم األفتراضي . حسب الحاجة قبل التنفيذ

Frameأداة األطار

لألدوات Containerيستخدم األطار آحاوية خله األخرى ، حيث يتم وضع عناصر التحكم دا

ومن أهم خصائص هذا الكائن هي خاصية التي تكون عادة بمثابة عنوان Captionالعنوان

.لمجموعة العناصر الموجودة داخل األطار

Page 25: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

12

أداة زر األمر

Command Button

تستخدم هذه األداة لتنفيذ العديد من األوامر البرمجية عند النقر عليها ومن أهم أليعازاتوا

الخصائص المستخدمة في هذه األداة هي خاصية التي من خاللها نكتب أسم Captionالعنوان

.العملية التي سننفذها برمجيا

أداة صندوق الفحص أو صندوق التحقق

Check Box

للفحص من عرض عدة صناديق هذه األداة تمكنو أآثر ا أدوتعطي المستخدم الحرية ليختار واح

من تلك الصناديق ومن أهم الخصائص المستخدمة لهذه األداة هي خاصية العنوان الذي سيظهر

، آذلك خاصية ) التحقق ( جانب صندوق الفحص والتي تحدد فيما اذا آان Alignmentالمحاذاة

العنوان يظهر عن يمين الصندوق أو يساره الى خاصية القيمة والتي تأخذ Valueأضافة

:دى القيم التالية اح- 0-Unchecked : األداة غير محددة. - 1-Checked : األداة محددة. - 2-Grayed : مظللة بلون رمادي باهت.

أداة زر الخيار

Option Button

تستخدم هذه األداة في التطبيقات بشكل مجموعة تتألف من زرين أو أآثر ، Frameداخل اطار

واحد فقط من الخيارات ويمكن للمستخدم أختيارومن أهم خصائص هذه األداة . المعروضة أمامه

هي خاصية العنوان والمحاذاة اضافة الى خاصية :والتي تأخذ احدى القيم التالية Valueالقيمة - False : اذا آان الزر غير محدد. - True : اذا آان الزر محدد .

أداة السرد والحوار

Combo Box

ألختيار البدائل عن طريق القوائم تستخدم المعروضة وتمكن المستخدم من الكتابة وتجمع بين مزايا صندوق النص وصندوق القائمة ، ويتم

Listاضافة عناصر الى القائمة من خالل خاصية والتي من خاللها يتم Text، اضافة الى خاصية لتظهر فارغة Combo1مسح عنوان األداة

يذ آما هو الحال بالنسبة ألداة العنوان عند التنف . صندوق النص

أداة صندوق القائمة

List Box

تقوم هذه األداة بعرض قائمة من الخيارات أمام المستخدم ليقوم باألختيار ويتم ادخال عناصر أو

. listقيم الى القائمة من خالل خاصية

Page 26: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

13

األنزالق أشرطة األفقي والعموديH Scroll Bar, V Scroll Bar

يستخدم شريط األنزالق عادة لتوليد قيمة محصورة بين حد أدنى وحد أعلى ، حيث يتيح للمستخدم أختيار قيمة من بين مدى من القيم بشكل

ومن أهم الخصائص المستخدمة . عمودي أو افقي :في هذا الكائن هي

- Min : الحد األدنى لقيمة شرط األنزالق - Max :على لقيمة شرط األنزالق الحد األ. - Value : القيمة الحالية لقيمة شرط األنزالق.

Timerأداة المؤقت

تمكن هذه األداة المبرمج من القيام بمهمات محددة ومن أهم . ضمن فترات زمنية منتظمة أي Intervalالخصائص المستخدمة بها خاصية

خاصية الفواصل الزمنية ، حيث نحدد في هذه الالفترة الزمنية للمؤقت ، هذا يعني أنه عند آل

ومن .مرور لهذه الفترة سيتم تنفيذ اجراء المؤقت الحظ في هذه األداة أنها تكون غير مرئية عند مال

.تنفيذ البرنامج

صندوق محرك األقراص أو صندوق قائمة السواقات

Drive List Box

Comboهو عبارة عن صندوق قائمة منسدلة Box تعرض في قائمتها وبشكل تلقائي محرآات

. األقراص الموجودة في حاسبة المستخدم

أو صندوق قائمة صندوق الدالئل جلداتمال

Dir List Box

يمكن المستخدم من األختيار والبحث عن الدالئل) محرك ( داخل مشغل Pathبأستخدام المسار

ق القائمة األقراص ، وله معظم خصائص صندوList Box .

صندوق قائمة الملفاتFile List Box

تقوم بعرض قائمة الملفات الموجودة في المجلد ومن أهم خصائصه . Pathالمحدد بالخاصية

حيث تحدد Patternالمستخدمة هي الخاصية نوع الملفات المعروضة في القائمة ، القيمة

أي يتم *.*األفتراضية لهذه الخاصية هـي عرض جميع أنواع الملفات واذا وضعنا في هذه

فسيتم عرض الملفات bmp.*الخاصية القيمة bmp.ذات الالحقة

Shapeأداة األشكال

وهي أداة لعرض األشكال الهندسية آالمربعات وتمتلك هذه األداة . والدوائر مثال على النموذج

:وهي مجموعة من الخصائص المتعلقة باألطار- Border Width : سماآة خط الرسم. - Border Color : لون األطار.

Page 27: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

14

- Back Color :مع الخاصية ،الخلفية نلوBack Style حيث نجعل قيمتها تساوي

1-Opaque .

Lineأداة الخط

تتيح للمستخدم رسم الخطوط على النموذج ، حيث م عن بعضها البعض تستخدم لفصل عناصر التحك

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

حاجز بين آل مجموعة من العناصر بعمل .المترابطة

Imageأداة الصورة

تقوم بعرض الصور على النموذج واليمكن ومن أهم . ا آحاوية لألدوات األخرى استخدامه

Stretchخصائصها خاصية التمدد أو التوسع مما يجعل Trueحيث نجعـل قيمتها تساوي

الصورة تتمدد حسب حجم عنصر الصورة المحددة والمختارة بالكامل بأستخدام خاصية

Picture .

عنصر التحكم بقاعدة البيانات أو Dataعنصر الوصول للبيانات

تسمح هذه األداة بالقيام بعملية الربط بين برنامج Data Baseلغة فيجوال بيسك وقاعدة البيانات

، حيث تستخدم هذه األداة للتعامل مع جدول في .) قاعدة بيانات األآسـس ( انات بيقاعدة ال

أداة التحكم بالتطبيقات

OLEالكائن

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

Object Linking and Embedding حيث ،يستخدم ألدراج آائنات خارجية في التطبيق مثل

فمثال . أو برنامج الرسام Excelادراج جدول Paintببرنامج الرسام OLEنقوم بربط آائن

زدوج على مففي مرحلة التنفيذ سيؤدي النقر ال . رسام بفتح المستند الذي قمنا بأنشاءه آيقونة ال

Adding New Controls: اضافة أدوات تحكم جديدة 8 – 1على عناصر التحكم األساسية التي يمكن وضعها على Toolboxيحتوي صندوق األدوات

ActiveX Controlالنموذج في مرحلة التصميم ، آما يمكن اضافة عناصر تحكم أخرى تدعى

:ويتم ذلك من خالل أختيار األمر التالي

Page 28: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

15

Project Components ب اضافتها الى صندوق األدوات تحديد األداة المطلو

وأختيار ) صندوق األدوات ( أو من خالل نقر زر الفأرة األيمن على شريط أدوات التحكم

) . 10 – 1( رقم من القائمة المنبثقة وآما موضح في الشكل Componentsاألمر

تحكم جديدة اضافة أدوات) : 10 – 1( شكل رقم

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

في حالة اضافة أآثر من عنصر و) OK( في المربع المخصص له والضغط على األمر ) (

) OK(ثم النقر على مفتاح ومن ) Apply( يتم تحديد العناصر المطلوبة جميعها والنقر على مفتاح

وأخيرا ستظهر األداة الجديدة المضافة داخل صندوق ) . Components( للخروج من هذه النافذة

.أدوات التحكم

، وألضافة قائمة أخرى الى Generalفي الحالة األفتراضية توجد قائمة واحدة هي

ثم نكتب Add Tabق صندوق األدوات ونختار األمر صندوق األدوات ننقر بالزر األيمن للفأرة فو

فنجد أن الفيجوال بيسك OKأسم القائمة الجديدة في نافذة الحوار التي ستظهر لنا ثم ننقر فوق األمر

، Pointerقد أضاف قائمة أخرى فارغة الى صندوق األدوات التحوي اال على عنصر المؤشر

Page 29: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

16

من عناصر ( الى القائمة الجديدة عن طريق السحب Generalعدة عناصر من القائمة ويمكن نقل

)الى القائمة الجديدة التي تحمل األسم الذي تم تحديده مسبقا ( واألفالت ) Generalالقائمة الرئيسية

.) 11 – 1( ، وآما موضح ذلك بالشكل رقم

قائمة صندوق أدوات جديدة) : 11 – 1( شكل رقم

آذلك يمكن حذف القائمة الجديدة التي تم أنشاؤها عن طريق النقر بالزر األيمن للفأرة على

من القائمة ) Delete Tab ( رأس القائمة الجديدة الموجودة في صندوق األدوات ثم أختيار األمر

. ) 12 – 1( ، وآما موضح في الشكل رقم التي ستظهر

حذف قائمة صندوق األدوات) : 12 – 1( رقم شكل

، مع مالحظة أنه اليمكن ) Rename Tab( آما يمكن اعادة تسمية القائمة بأختيار األمر

يمكن أيظا عمل قائمة جديدة أخرى آذلك. Generalحذف أو تغيير أسم القائمة األساسية

) . 11 – 1( وضحة بالشكل رقم والموبالطريقة المذآورة أعاله

Page 30: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

17

: الى ومن النموذج اضافة وازالة عناصر التحكم 9 – 1

Adding & Removing Controls to / from Form :التحكم المختلفة الى النموذج بأتباع مايلـي ) عناصر ( أدوات افـةتتم اض -

العنصر الذي نريد اضافته ، حيث سيقوم ونة قالنقر المزدوج بأستخدام الزر األيسر للفأرة على آي .1

.الفيجوال بيسك بوضع العنصر في منتصف النموذج

أو من خالل أختيار العنصر الذي نريد اضافته الى النموذج من صندوق األدوات وذلك بالنقر .2

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

الحجم الذي نريده ، حيث نستطيع التحكم بحجم ) الكائن ( ر األيسر للفأرة بحيث يأخذ العنصر الز

أداة التحكم من خالل النقر عليها عندها ستظهر مربعات حول األداة نستطيع من خاللها تكبير

.وتصغير حجم األداة أ

:من خالل ) 13 – 1( والموضح بالشكل رقم يتم حذف أداة التحكم من النموذج -

نحدد األداة المراد حذفها من النموذج وذلك بالنقر عليها نقرة واحدة بأستخدام الزر األيسر للفأرة . 1

.حيث ستظهر مربعات على آل زاوية من زوايا اآلداة

من لوحة المفاتيح ، أو النقر فوق العنصر الذي نريد حذفه Deleteالضغط على مفتاح الحذف . 2

.من قائمة األوامر التي ستظهر عند النقر Deleteيمن للفأرة ونختار األمر بالزر األ

ازالة عناصر التحكم من النموذج) : 13 – 1( شكل رقم

Page 31: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

18

Naming Of Controls Tools: تسمية آدوات التحكم 10 – 1ألداة ، حيث يقوم برنامج لغة يعتبر أسم آداة التحكم من أهم الخصائص التي تميز تلك ا

. لكل آائن نقوم برسمه أو وضعه على النموذج ) Default( الفيجوال بيسك بأعطاء أسم آفتراضي

الى النموذج فأن البرنامج يعطيه أسم تلقائي أو Command buttonفمثال عند اضافة زر تحكم

وهكذا Command2سم وعند اضافة زر تحكم ثاني فيعطيه األ Command1أفتراضي هو

.الـخ ... Picture1و Text1بالنسبة للكائنات األخرى مثل

بعض الشئ كـاألحيان األعتماد على التسمية التلقائية التي يقترحها البرنامج مرب في بعض

مها أداة تحكم ، حيث أن آخر آداة سيكون آس) 100( اذا آان المشروع يحتوي مثال على خاصة

، وهذه األسماء األفتراضية التدلل على محتوياتها Command100بالنسبة لكائن زر األمر هو

ألدوات التحكم تبعا للغرض الذي تقوم به Renameلذلك في هذه الحالة البد من القيام بأعادة تسمية

: وتتم عملية التسمية آما يلـي .

.احدى الطريقتين التي تم ذآرهما سابقا اضافة آداة التحكم الى النموذج بأستخدام. 1

الموجودة Nameنختار خاصية األسم Properties Windowمن خصائص األداة أو الكائن . 2

.في بداية قائمة الخصائص

من Enterوآضافة األسم الجديد ثم الضغط على مفتاح األدخال حذف األسم التلقائي الموجود . 3

.لوحة المفاتيح

أي األسم البرمجي للكائن ، Nameآل آائن من آائنات أداة التحكم له خاصية األسم :مالحظـة

، آما يفضل Spaceوهذه الخاصية عبارة عن آلمة واحدة اذ اليمكن أن تحتوي على فراغ أو فاصل

.أن يكون األسم صغيرا آي يسهل التعامل معه برمجيا

ملون مع برنامج لغة الفيجوال بيسك مايسمى بالبادئةيستخدم األشخاص الذين يتعا

)Prefix (ثم يتبع هذه ، وهو اعطاء ثالثة أحرف من بداية آسم آل آداة من آدوات التحكم ،

اذا أردنا فمثال ) . Suffix( تسمى باالحقة األحرف آية أحرف اضافية لتدل على وظيفة آداة التحكم

ق نص يحوي بداخله أسم الزبون فاألسم المقترح آلداة التحكم في هذه الحالة هوتسمية صندو

)TxtCustName ( حيث أن البادئة )Txt ( تدل على نوع عنصر التحكم )Text Box (

وآذلك أداة . أن صنوق النص مخصص لوضع أسم الزبون فيه على تدل) CustName( واالحقة

) . CmdClose( ن وظيفتها انهاء البرنامج قد يتم تسميتها التحكم التي تكو

Page 32: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

19

فيجوال الها التي يستخدم األآثر شيوعا ألدوات التحكم يبين البادئات ) 2 – 1( رقم الجدول

. )البادئة المقترحة ( بيسك للعناصر المختلفة

حكم البادئات األآثر شيوعا ألدوات الت) : 2 – 1( جدول رقم

Controlأداة التحكم Prefixالبادئة Controlأداة التحكم Prefixالبادئة

dir DirListBox cmd Command Button

shp Shape lst List Box

img Image txt Text Box

opt Option Button cbo Combo Box

lin Line chk Check Box

hsb H Scroll Bar pit Picture Box

vsb V Scroll Bar frm Form

oie OLE Container fra Frame

drv Drive List Box lbl Label

fil File List Box tmr Timer

Saving the New Project: حفظ المشروع 11 – 1في برنامج لغة فيجوال بيسك هو مجموعة من الملفات التي تشكل Projectالمشروع

والبرامج Formsهذه الملفات هي عبارة عن مجموعة من النماذج . ي النهاية البرنامج بمجموعها ف

الشئ المهم ذآره هنا عن المشروع أن . Graphicsوالرسومات البيانية Modulesالفرعية

زن يتم خ. ت البيانية تتم في ملفات منفصلة عملية الحفظ لكل من النماذج والبرامج الفرعية والرسوما

، حيث Program File في ملف المشروع Program Filesآل المعلومات عن ملفات البرنامج

عند الحفظ يجب حفظ آل النماذج والبرامج ( يتم عرض جميع الملفات الموجودة في البرنامج

غيلالفرعية والرسومات البيانية ان وجدت ليكون المشروع متكامال وجاهزا لألستخدام أثناء التش

) . vbp.( تتم األشارة الى أسم المشروع ، حيث أن آمتداد ملفات المشروع هـي آيظا . ) مرة ثانية

Page 33: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

20

ثم أختيار األمر حفظ Fileعملية حفظ المشروع تتم بنقل المؤشر الى قائمة ملف

. Save Projectالمشروع

Save in :ن الذي سيحفظ فيه المشروع يستخدم لتحديد الموقع أو المكا )Directory ( وهذا األمر

.يظهر للمرة األولى فقط عند حفظ المشروع

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

Project1 بعد األنتهاء من ، حيث نستطيع تغيير هذا األسم بسهولة وأعطاء أسم جديد للمشروع و

.) Project Window(عملية الحفظ سيظهر أسم المشروع الجديد في نافذة مستكشف المشروع

Properties & Events: الخصائص واألحداث 12 – 1هي وصف للعنصر أو األداة ، اذ أن لكل آداة من صندوق ) : Properties( الخصائص .1

فبالرغم من أن الخصائص غير . ص تصف اآلداة مجموعة من الخصائ Tool Boxاآلدوات

مثل متطابقة لكل األدوات اال آنه توجد مجموعة شائعة في أغلب الخصائص

) Name,Enabled,Visible ( وغيرها من الخصائص المشترآة.

عملية يتعرف عليها هـي مايحدث عندما تقوم آداة بعمل معين ، أو هي ) : Events( األحداث .2

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

.بالفأرة أو الضغط على أحد مفاتيح لوحة المفاتيح وهكذا

التمتلك جميع أدوات التحكم نفس األحداث ، ولكن هناك مجموعة من األحداث المشترآة :مالحظة

. ) 3 – 1( رقم عديد من األدوات وآما موضح بالجدولبين ال

األحداث المشترآة للعديد من أدوات التحكم ) : 3 – 1( جدول رقم

Occurrenceوقوعه Eventالحدث

Click األداة ( يحدث عند النقر المفرد فوق الكائن (

Dbclick داة األ( يحدث عند النقر المزدوج فوق الكائن (

LostFocus يحدث عندما يفقد آائن ما الترآيز

GotFocus يحدث عندما يحصل آائن ما الترآيز

KeyPress يحدث عند الضغط على أحد مفاتيح لوحة المفاتيح

File Save Project Save in

Page 34: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

21

يمكن أستخدام خصائص الكائن ألستدعائه برمجيا وتنفيذ عمليات معينة ، وذلك يتم في :مالحظة

لون خلفية النموذج برمجيا نقوم بكتابة الشفرةفمثال لتغيير ) . Code Window (نافذة البرمجة

)Code ( التالية:

Private Sub cmdcolor_Click()

Form1.BackColor = QBColor(1)

End Sub

تعطي لونا مختلفا حسب القيمة الرقمية الموضوعة بين القوسين ، وهذه القيمة QBColorالدالة -

الحظ .لونا مختلفا ) 16( وبهذا فأن هذه الدالة تولد ) 15 -0( كون مجالها محصورا بين ي

) 4 – 1( الجدول رقم

.داخل القوسين يعني ظهور اللون األزرق ) 1( أن الرقم -

.ستة عشر واألرقام المخصصة لها األلوان ال: ) 4 – 1( رقم الجدول

Color Number Color Number

Cyan 3 Black 0

Red 4 Blue 1

Magenta 5 Green 2

Light Cyan 11 Yellow 6

Light Red 12 White 7

Light Magenta 13 Gray 8

Light Yellow 14 Light Blue 9

Bright White 15 Light Green 10

Page 35: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

22

Menu Editor: التعامل مع القوائم 13 – 1م من العناصر األساسية في بناء التطبيقات بأستخدام الفيجوال بيسك خصوصا تعتبر القوائ

آزر آمر عندما يكون لدينا عدد آبير من األوامر ، حيث يمكن اعتبار آل عنصر من عناصر القائمة

.ينفذ عند النقر على العنصر ) Code( نكتب عليه اجراء

:وم بالخطوات التالية نق Menu Editorلغرض تصميم محرر القوائم

ونة الموجودة في أقصى قمن لوحة المفاتيح أو من النقر على األي) Ctrl + E( نضغط المفتاحين . 1

ثم Menu barمن شريط القوائم Toolsأو من خالل أختيار األمر Toolbarيسار شريط األدوات

. Menu Editorالنقر على األمر محرر القوائم

وذلك بوضعه داخل حقل Fileوامر الى القائمة وليكن على سبيل المثال األمر ملف نقوم بأدخال أ. 2

فيتم Okثم النقر على األمر Nameمع اعطاء أسم خاص به في حقل األسم Captionالعنوان

آذلك يمكن اضافة قوائم أخرى وبنفس الطريق السابقة بحيث تتكون لدينا . Fileتكوين قائمة الملف

القوائم تظهر جميعها على النموذج ويمكن عمل برنامج لكل قائمة من هذه القوائم بحيث مجموعة من

يؤدي وظيفة معينة ، حيث يتم التعامل مع هذه القوائم بأعتبارها آائنات يمكن برمجتها آما هو الحال

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

الموضح بالشكل رقم Menu Editorر القوائم مما تقدم أعاله ممكن بأستخدام محر

وآل قائمة من هذا الشريط تحتوي على مجموعة من Menu barتكوين شرط قوائم ) 14 – 1(

األوامر التي تنفذ عند النقر عليها آما هو الحال في شريط القوائم الموجود في برنامج لغة

. فيجوال بيسك

محرر القوائم) : 14 – 1( شكل رقم

Page 36: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

23

: اتظمالح

تستخدم لكتابة النص الذي سيعرض آعنوان لألمر المراد اظهاره : Captionالخاصية -

.داخل القائمة أمام المستخدم

. في القائمة )أو عنصر ( تعني تخصيص أسم برمجي لكل أمر : Nameالخاصية -

أمام األمر أربع نقاط السهم المتجه نحو اليمين في نافذة محرر القوائم يعني اضافة -

)Open Form ( مما يعطي قائمة فرعية واحدة من قائمة رئيسية ) أي قائمة الملفFile (

.أما السهم المتجه نحو اليسار فيمحو التأشير أي الغاء القائمة الفرعية ،

صار لجعل أستخدام مفتاح أخت )فقط ( يمكن تعيين لكل عنصر من عناصر القائمة الفرعية -

األمر يبدو أآثر سهولة وبشكل مباشر من خالل أستخدام لوحة المفاتيح وذلك يتم من خالل

) . Shortcut( الخاصية طريق مختصر

). 15 – 1( سنقوم اآلن ببرمجة األوامر التي تم تكوينها داخل محرر القوائم والموضحة بالشكل رقم

محرر القوائم برمجة األوامر داخل ) : 15 – 1( شكل رقم

Private Sub menuclose_Click()

Form2.Hide

End Sub

Private Sub menucolor_Click()

Me.BackColor = QBColor(Rnd * 15)

End Sub

Private Sub menuopen_Click()

Page 37: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

24

Form2.Show

End Sub

Programming In VB: البرمجـة بلغة فيجوال بيسك 14 – 1 : عملية آتابة أي برنامج بلغة فيجوال بيسك تمر بمرحلتين

. Visual Programmingمرحلة البرمجة المرئية .1

. Code Programmingمرحلة آتابة الشفرة .2

المرئية تصميم البرنامج عن طريق أستخدام األدوات البرمجية البرمجة مرحلةحيث يتم في

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

والتي تكون عادة مخفية ) Code Window( داخل نافذة الشفرة ) Code( الفرعي آتابة البرنامج

عند التصميم ، وتظهر عند النقر المزدوج بزر الفأرة األيسر في أي مكان من على النموذج أو على

داخل النموذج أو من خالل النقر على اآليقونة الموجودة في نافذة المشروع ) اة آد( أي آائن

)Project Window . (

عنـد الدخول الى نافذة الشفرة نالحظ وجود مربيعين لقائمتين منسدلتين وآما موضح في

) . 16 – 1( رقم الشكل

الشفرة آتابة نافذة) : 16 – 1( رقم شكل

Page 38: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

25

تحتوي هذه القائمة على أسماء جميع الكائنات التي يحتويها النموذج ، : Generalقائمة. 1

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

.مباشر من غير النقر على الكائن مرتين في نافذة التصميم

تضم هذه القائمة جميع األحداث التي يمكن آتابة الشفرة فيها لكل آائن ، : Declarationsقائمة .2

الموجودة داخل الكائن وذلك عند النقر Codeيقوم يتنفيذ الخطوات البرمجية Clickفمثال الحدث

.بزر الفأرة على الكائن عند التنفيذ

من شريط ) Runنـفـذ ( ال بيسك من خالل أختيار األمر يتم تنفيذ برنامج لغة فيجو: حظـة مال

من لوحة المفاتيح F5، أو من خالل الضغط على مفتاح ) Start أبـدأ ( القوائم ثم أختيار األمر

) . 17 – 1( رقم ذلك في الشكل وآما موضح

تنفيذ برنامج لغة فيجوال بيسك) : 17 – 1( شكل رقم

Analyzing the event procedure: األجراء الحدثي تحليل 15 – 1 : التالية جزاءيتكون األجراء الحدثي في برنامج لغة فيجوال بيسك من األ

- Private Sub : ، بداية األجراء مثلياألجراء الفرعي .

- Private :عني أن هذا األجراء الينفذ اال من نفس النموذج ي.

- Sub :األجراء ويليها أسم األجراء تحدد بداية.

- Command1 :ها م آداة التحكم المراد برمجتأس .

Page 39: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

26

- _Click() : نوع الحدث المستخدم لتنفيذ أداة التحكم وفي هذه الحالة يعني النقر المفرد بالفأرة.

- End Sub : تمثل نهاية األجراء الحدثي.

: ث للكائن بين السطرين التاليين م حصر جميع الشفرة المكتوبة لكل حدتوي -

Private Sub menuclose_Click()

End Sub

يسمى آل سطر من الشفرة في برنامج لغة فيجوال بيسك بجملة برمجية ، والجملة :مالحظـة

ومن الخصائص والداالت والعوامل البرمجية في هذه الحالة تمثل ترآيبة من آلمات فيجوال بيسك

. والرموز

: يمكن أن تكون الجملة البرمجية بأآملها مجرد آلمة دليلية بسيطـة ، آما في المثال التالي

Private Sub Command1_Click() Beep End Sub

من مكبر الصوت في الحاسبة ، أو قد تكون الجملة ) صوت ( والتي تصدر نوتة

بة من عدة عناصر آالجملة التي تعين الوقت الحالي الى الخاصية البرمجية ترآي

Caption وآما موضح ذلك في المثال األتي:

Private Sub Form_Load()

Form1.Caption = Time

End Sub

Private Sub Command1_Click()

Label1.Caption = Date

End Sub

أسم الخاصية أسم الكائن أو األداة عامل التعيين

VB دالة

Page 40: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

27

Basic elements in VB: لغة فيجوال بيسك العناصر األساسية لجمـل 16 – 1 : أي جملة برمجية في لغة الفيجوال بيسك تتكون من العناصر الرئيسية التالية

Data: البيانات 1 – 16 – 1 .تعتبر البيانات أساس آي لغة برمجية وتكون على نوعين المتغيرات والثوابت

عنوان منطقة محجوزة في الذاآرة ، حيث يمكـن الكتابة المتغير هو) : Variables( المتغيرات - أ

يعتبر المتغير مكان تخزيين مؤقت للبيانات في البرنامج ، يمكن أستخدام متغير . فيها والقراءة منها

. واحد أو أآثر في البرنامج ومن الممكن أن يحتوي المتغير على آلمات أو أرقام أو تواريخ

.من السهل تذآره نها تتيح اعطاء أسم صغير المتغيرات مفيدة أل

-:يتم التصريح عن المتغيرات بطريقتين

علنيا قبل أن )تعريفه ( يتم التصريح عن المتغير : Explicit) الصريح ( التصريح العلني -

Privateأو Dimوذلك بكتابة اسم المتغير بعد العبارة ) عادة في بداية األجراء الحدثي (نستعمله

.في الذاآرة لهذا المتغير عندما يشتغل البرنامج ) مكان ( ، حيث يتم حجز مساحة Publicأو

Example :

Dim X As Integer, Y As String

افتراضيا بحجز مساحة لنوع في حالة عدم ذآر نوع المتغير سيقوم الفيجوال بيسك : مالحظـة

.حجم أو أي تنسيق يمكنه احتواء بيانات من أي نوع ) Variantمتنوع ( متغيرات يدعى

حكم بكمية الذاآرة التي سيستعملها تبعد آتابة أسم المتغير يمكن تحديد نوعه لنتمكن من ال

البرنامج، مثال اذا آان المتغير سيحتوي على رقم صغير خال من آية مرتبة عشرية

على آنه عدد صحيح وبذلك سنوفر من مساحة الذاآرة ) تعريفه( يمكن تصريحه ) حيح أي عدد ص(

Dim X As Integer

يتم التصريح عن المتغير ضمنيا وذلك بأستعمال المتغير لوحده : Implicitالتصريح الضمني -

.آليا Dimمتجاهلين الجملة

Y = "Ali"

حيث أن ، Dimني بالسرعة اذ اليتم تضييع الوقت في آتابة الجملة يتميز التصريح الضم

.هذه الطريقة التجبرنا على تنظيم المتغيرات وسردها مسبقا

Page 41: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

28

. يمكن تحديد بعض أنواع البيانات من خالل آتابة حرف تصريح النوع بعد أسم المتغير : مالحظـة

الى نهاية أسمه % يح من خالل اضافة الحرف على آنه عدد صح Xمثال يمكن تصريح المتغير

لذا يعتبر برنامج لغة الفيجوال بيسك جملتي التصريح التاليتين . ) 5 – 1( الحظ الجدول رقم

: متشابهتين

Dim x As Integer

OR

Dim X%

. جوال بيسك مع وصفها أنواع البيانات الرئيسية في برنامج لغة في: ) 5 – 1( جدول رقم

Declaration Data Types

Dim X As Integer Dim X% X% =20

Integer عدد صحيح

-32768<X<32768 Dim X As Long

Dim X& X& =200000

Long عدد صحيح طويل يحتوي على آسور

Dim X As Byte

Byte عدد صحيح

0-255 Dim X As Single

Dim X! X! =368.9

Single عدد حقيقي

يحتوي على آسورDim X As Double

Dim X# X# =3.14

Double عدد حقيقي طويل

Dim X As Currency Dim X@ X@ =20

Currency عملة

Dim X As String Dim X$

X$ =”Ali”

String سلسلة حروف

Page 42: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

29

Dim X

Variant متنوع

أعالهتضم جميع أنواع البيانات المذآورة

Dim X As Boolean X = True

Boolean منطقية قيمة

Dim X As Date X = #5-3-1970#

Date تأريخ

الثوابت مفيدة ألنها . هي القيم التي تبقى ثابتة خالل تنفيذ البرنامج ) : Constants( الثوابت -ب

تزيد من سهولة قراءة شفرة البرنامج ، آما توفر من آمية الذاآرة المستعملة وتسهل تنفيذ المتغيرات

يتم . يمكن تغيير قيمتها خالل التنفيذعمل الثوابت آالمتغيرات الى حد آبير ، اال آنه الت. العامة

. Constاألعالن أو التصريح عن الثوابت بواسطة الكلمة

Pi = 3.14 Private Const ، لجعل الثابت متوفرا لكل الكائنات واألجراءات وذلك من خالل

) .السطر األول في نافذة الشفرة ( ج وضعه في قسم التصاريح من النموذ

Pi = 3.14 Public Const لجعل الثابت متوفرا في آل النماذج والوحدات النمطية من ،

) .ج الحالي فقط ليس في النموذأي ( البرنامج

Expressions: التعابيـر 2 – 16 – 1 :وتقسم الى قسمين ، همــا

وهي التعابير التي يكون ناتجها قيمة رقمية ) : Mathematic Expression( التعابير الحسابيـة -أ

. Z = A + B، مثل

هي التعابير التي يكون ناتجها قيمة منطقية ) : Logical Expression( التعابير المنطقية -ب

)True or False ( مثل ،Z = A Or B .

Operators: المشغالت 3 – 16 – 1وهي العمليات التي يمكن أجراءها في برنامج لغة الفيجوال بيسك ، وهناك عدة أنواع من

: المشغالت وهـي

وتشمل العمليات الرياضية من الجمع : ) Arithmetic Operators( المشغالت الحسابية -أ

.والطرح والضرب والقسمة

Page 43: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

30

وتشمل عالمة المساواة واألصغر واألآبر ) : Relational Operators( العالئقيةالمشغالت -ب

.واألصغر من واألآبر من والالمساواة

AND, OR, XOR, Notوتشمل عالمة ) : Logical Operators( المشغالت المنطقية -ت

الدمج بين سلسلتين وذلك بأستخدام ةوتقوم بعملي) : String Operators( مشغالت البيانات -ث

) . &( ة الجمع عالم

Functions: الدوال 4 – 16 – 1تقوم الدوال بأجراء بعض التعديالت في البرنامج آتحويل قيمة من نوع الى نوع أخر أو

، اضافة الى امكانية العمل حساب نتيجة تعبير رياضي معقد أو أعتماد مبدأ العشوائية في البرنامج

يتم أستعمال الداالت الرياضية في جملة برمجية ، حيث انها ستعيد قيمة الى . على األرقام في الجمل

أستخراج الرقم أو المتغير الذي نريد ) X( حيث تمثل ، ) 6 – 1( الحظ الجدول رقم . البرنامج

. قيمته من الدالة

.الدوال الشائعة األستخدام مع برامج لغة فيجوال بيسك ) : 6 – 1( جدول رقم

Value Returned Function Value Returned Function

Convert X variable

to string

Cstr(X) Integers of X Int(X)

Convert number X to one

character

Chr(X) Absolute of X Abs(X)

Convert first character of

X to ASCII number

Asc(X) Take the integer

part

Fix(X)

Numeric value of a given

string

Val(X) Create random

number value

between 0 and 1

Rnd(X)

Number of character of

variable X

Len(X) Square root of X Sqr(X)

Page 44: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

31

Change to small letters

Z = Lcase(X)

= -1 if X<0

= 0 if X=0

=1 if X>0

Sgn(X)

Change to capital letters Z = Ucase(X)xe Exp(X)

Reverse String StrReverse(X) Natural

Logarithms

Log(X)

Take only characters

between L and R

Mid(X,L,R) Trigonometric

Function

Sin(X),

Cos(X)

Replace X1 by X2 Replace

(X,X1,X2)

Change X numeric

to string

Str(X)

Types of Statements In VB : أنواع الجمل في لغة فيجوال بيسـك 17 – 1، ) Code Window( داخل نافذة الشفرة ) Code( يتم آتابة جملة لغة فيجوال بيسك

- :وتتألف شفرة البرنامج من الخطوات التالية

) . Declaration Variables( تعريف المتغيرات ان وجدت . 1

) . Input( ادخال القيم للمتغيرات . 2

) . Processing( اجراء العمليات الحسابية والمنطقية الالزمة لتنفيذ البرنامج . 3

) . Output( طباعة النتائج . 4

-:ومن أنواع جمل لغة فيجوال بيسك هـي

Comment Statements: جمل التعليق 1 – 17 – 1البرنامج ، أو لذآر هستعمل هذه الجمل في أي مكان من البرنامج لشرح وتوضيح مايتضمنت

وهذه الجمل تكون غير قابلة للتنفيذ ، حيث يتم وضع عالمة أقتباس . مالحظات أثناء عمل البرنامج

، طر أثناء تنفيذ البرنامجمفردة أمام سطر البرنامج وبهذه الحالة سيتم توقيف أو تعطيل عمل هذا الس

Page 45: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

32

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

) .المالحظات ( جملة التعليق

Example :

‘ X = X MOD I

OR

I = I + 1 ‘ Increment the counter

For I = 1 to 10 ‘ Loop 10 times

Declaration Statements: جمل التصريح 2 – 17 – 1 تستعمل هذه الجمل للتصريح عن المتغيرات وتحديد أنواعها لنتمكن من التحكم بكمية

.ستعملها البرنامج الذاآرة التي سي

Example :

Dim X As Integer, Y As String

Assignment Statements: جمل التخصيص 3 – 17 – 1 .القيمة وتخزينها للمتغيرات بكافة أنواعها ) تخصيص ( تستعمل هذه الجمل لوضع

Example :

Sum = 500

Conditional Statements: الجمل الشرطية 4 – 17 – 1حيث تستخدم ) Decision Statement( بنى الشرطية أو جملة القرار وتسمى أيظا بال

للتحكم في تنفيذ أجزاء من البرنامج معتمدة على شروط معينة ، أي تحديد فيما اذا آانت مجموعة من

.التعليمات ستنفذ أم ال وذلك حسب قيمة تعبير معين

) . Select Caseوجملة If … Thenة جمل( :هناك نوعان رئيسيان من جمل القرار هما

وتستخدم لتحديد فيما اذا آانت مجموعة من التعليمات ستنفذ : If … Then Statementجملة -أ

أم ال وذلك وفق قيمة تعبير معين ، أو وفق شرط معين وتدعى بالمعامالت العالئقية والتي تقوم

هذا النوع من الجمل ) . True or False( خاطئة بأختبار شروط للتأآـد من آنها صحيحة أو

) . Conditional Operators( يستخدم معامالت المقارنة

قيمة المتغير المتغير

Page 46: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

33

-:، ومنها If … Thenهناك عدة صيغ لكتابة جملة

1 .Simple If … Then Statement :وتستخدم لتنفيذ آمر واحد فقط في حالة تحقق الشرط

:جموعة تعليمات وفق شرط معين ، والصيغة العامة لهذه الصيغة آاألتي أي تنفيذ تعليمة أو م(

If < Condition > Then < Statement >

If X = 3 Then

Y = X * 2

End If

:آما ويمكن أيظا آتابة هذه الصيغة على سطر واحد فقط ، وآاألتي

If Condition Then Statement1 : Statement2 : Statement3

If X<Y Then X = Y : Y = Z

جاءت على سطر If … Thenألن صيغة End Ifحتاج ألضافة العبارة نفي مثل هذه الحالة ال .واحد فقط

If X = 3 Then Y = X * 2

2 .Block If … Then Statement : جموعة آوامر في حال تحقق الشرط متستخدم لتنفيذ .

:الصيغة العامة لها تكون آاألتي

If < Condition > Then

< Statement1 >

< Statement2 >

. . End If

جاءت على أآثر If … Thenألن صيغة End Ifفي مثل هذه الحالة يجب اضافة عبارة .من سطر

If X = 3 Then

Y = X * 2

Z = X + Y

End If

: حظ أن المثالين التالين متكافئينآعاله نال مما تقدم في

If X < Y Then X = Y : Y = Z

Page 47: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

34

OR

If X < Y Then

X = Y

Y = Z

End If

3 .If … Then … Else : في هذه الحالة لدينا شرط معين نريد من خالله أن ننفذ تعليمات معينة

:الصيغة العامة هي آاألتي . الشرط ننفذ تعليمات أخرى ، وفي حالة عدم تحقق

If < Condition > Then

< Staetment1 > [ If True ]

Else

< Statement2 > [ If False ]

End If

Example :

Private Sub Command1_Click()

X = InputBox("Enter the number", "Result")

If X < 0 Then

y = X ^ 2

Print y

Else

y = Sqr(X)

Print y

End If

End Sub

4 .Multiple If Statement : يتم في مثل هذا النوع من الجمل القيام بفحص عدة شروط حتى

أي توجد عدة آتل من التعليمات ، آتلة واحدة من بينها . األفضل ) الخيار ( الوصول الى الجواب

: العامة لهذه الجمل هي الصيغة. ستنفذ فقط

Page 48: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

35

If < Condition1 > Then

< Statement1 >

Else If < Condition2 > Then

< Statement2 >

Else

< Condition3 >

End If

Example : Private Sub Command1_Click()

x = InputBox("Enter the number", "Result")

If x > 0 Then

y = Sqr(x)

Print y

ElseIf x = 0 Then

y = MsgBox("Enter another number", , "No Result")

Else

y = x ^ 2

Print y

End If

End Sub

) Condition1( نالحظ من المثال أعاله أن الفيجوال بيسك سيقوم بأختبار أول شرط

سينتقل ) False( سيقوم بتنفيذه ، وفي حالة آون الشرط غير محقق ) True( محقق فأن وجده

وهكذا حتى يجد شرطا محققا عندها سينفذ آتلة التعليمات ) Condition2( ألختبار الشرط الثاني

الشروط ةبقيأي أنه ال يختبر ( End Ifالموافقة لهذا الشرط ثم ينتقل للتعليمات التي تلي عبارة

) .األخرى بل ينفذ شرط واحد فقط

Page 49: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

36

تستخدم هذه الجملة عندما نريد أن ننفذ مجموعة من الجمل : Select Caseجملة األختيار -ب

، أي أختيار آتلة تعليمات من بين مجموعة من الكتل وهذا النوع من والتي تعتمد على متغير واحد

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

:ويتم تنفيذ هذا النوع من الجمل بالشكل التالي . التنفيذ

.يتم فحص أو تحديد قيمة المتغير . 1

فأن تساوت قيمة المتغير مع احدى قيم الـ Selectاجراء عملية المقارنة مع جميع جمل الـ . 2

Select تنفيذ الجمل التابعة لها فسيتم .

: الصيغة العامة لهذه الجمل هي آاآلتـي

Select Case test expression

[ Case expression list1

[ Statement block-1]]

[ Case expression list2

[ Statement block-2]] …

[ Case Else

[ Statement block –n]]

End Select

ممكن أن تكون قيمتها أو نوعها عددي أو حرفي ) test expression( العبارة : الحظـة م

) .أي حسب طبيعة البرنامج (

Example :

Private Sub Command1_Click()

Dim x As Integer

x = InputBox(" Enter the degree", "Degree between 0-100")

Select Case x

Case 90 To 100

MsgBox "Excellent", vbOKOnly, "Result"

Case 80 To 89

MsgBox "Very Good", vbOKOnly, "Result"

Page 50: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

37

Case 70 To 79

MsgBox "Good", vbOKOnly, "Result"

Case 60 To 69

MsgBox "Accept", vbOKOnly, "Result"

Case 50 To 59

MsgBox "Bad", vbOKOnly, "Result"

Case Else

MsgBox "Fail", vbOKOnly, "Result"

End Select

End Sub

والموجود في ) test expression( بفحص تعبير واحد فقط Select Caseتقوم جملة

أي مع آل تعبير مرتبط ( رأس التعليمة ، ومن ثم مقارنة نتيجة التعبير مع مجموعة التعابير األخرى

لتعابير مع أحد ا) test expression( وعند تطابق قيمة التعبير ) . Caseمع عبارة

)expression list ( فأنها ستنفذ آتلة التعليمات المرتبطة مع عبارةCase الموافقة )True (.

، ) test expression( مع قيمة التعبير ) expression list( تعابيرطابقت عدة اذا :مالحظـة

.هي فقط ستنفذ ) expression list( ول األ لموافقة للتعبيرفأن آتلة التعليمات ا

Case Elseيقوم برنامج لغة فيجوال بيسك بتنفيذ التعليمات الموجودة في عبارة

موضح ا، وآمألي من التعابير الموجودة ة قيمة التعبير قعدم مطاب في حال) والتي تكون خيارية (

: ذلك في البرنامج التالي

Example :

Private Sub Command1_Click()

Dim x As Integer

Dim y As Integer

x = InputBox("Enter the number")

Select Case x

Case Is < 10

Label1.Caption = 1

Page 51: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

38

Case Is < 100

Label1.Caption = 2

Case Else

Label1.Caption = 3

End Select

End Sub

Loop Statements: جمل التكرار أو الدوران 5 – 17 – 1تستخدم هذه الجمل لتكرار تنفيذ عدد من التعليمات في برنامج لغة فيجوال بيسك ولعدة

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

. ا ، وهذا يسمى بالدوران وذلك من خالل وضع بداية ونهاية له

:هناك عدة أنواع من هذه الجمل ، هـي

وتقوم بتكرار تنفيذ مجموعة من التعليمات وبشكل محدد أي أن عدد : For … Nextجملة -أ

وذلك ألن الزيادة لعدد الدوران ) العداد اآلتوماتيكي ( التكرار محدد مسبقا ، ويطلق عليها أحيانا بأسم

.الفيجوال بيسك ، ويتم تحديد بداية الدوران ونهايته مباشرة من خالل لغةتتم

: الصيغة العامة لهذه الجمل هـي

For Counter Var = Start Num To End Num Step [ Step Num ]

Statements

Next [ Counter Var]

Example : Find the summation of integer number ( 0 – 10 )

Private Sub Command1_Click()

Dim i As Integer ' i is a counter

Dim s As Integer ' s is a summation of i

s = 0

For i = 1 To 10

s = s + i

Next i

Page 52: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

39

Print "sum="; s

End Sub

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

لألنتقال Enterحيث بعد الضغط على مفتاح ) من لوحة المفاتيح " ?" عالمة األستفهام ( بالرمز

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

) . أي السهولة في تمثيل األيعازات( ميزات وأسرار برنامج لغة فيجوال بيسك

، أي For I = 2 to 10 Step 2 :آاآلتي ) Counter Var( يمكن أن تكون صيغة العداد -

) I( أي أن القيمة األبتدائية للعداد . ) 10الى 2( قراءة األعداد الزوجية المحصورة من

.من واحد أآبر

:يغة التالية ملة الدوران معكوسة ، وآما موضح بالصجيمكن أن تكون -

For I = 10 to 2 Step -2 ، أي تكون قيمة الخطوةStep سالبة ولكن بشرط أن تكون القيمة

يتم تنفيذ األيعازات الموجودة داخل حلقة التكرار جميعها . للعدادالنهائية األبتدائية أآبر من القيمة

.البرنامج ) خطوات ( عازات الخروج من حلقة التكرار لتنفيذ باقي اي ثمحتى نهاية الدوران ومن

)Nested Loop(من الممكن أن يحتوي البرنامج على مجموعة من حلقات التكرار المتداخلة آذلك

.وأيظا اليجوز استخدام نفس العداد لحلقتي تكرار متداخلة . على شرط أن التكون متقاطعة

طلق عليه ببنى التحكم المهيكلةيمكن وضع بنية تحكم داخل بنية تحكم أخرى وهذا ماي -

)Nested Control Structures . ( فمثال نضع البنيةIf … Then داخل البنيةFor … Next

:في المثال التالي ذلك ، وآما موضح

Example : Find the summation of the even number ( 1 – 10 )

Private Sub Command1_Click()

Dim i As Integer, s As Integer

For i = 1 To 10

If i Mod 2 = 0 Then

s = s + i

End If

Next i

Page 53: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

40

Print "sum="; s

End Sub

اليحدد فيها عدد الدوران وانما تعتمد على شرط معين ، حيث يتم : Do … Whileجملة - ب

اذا آانت قيمة الشرط خاطئة وران ، أما تنفيذ جمل الديتم فأذا آانت قيمته صحيحة فحص الشرط

:الصيغة العامة لهذا الشرط آاآلتي .فسيتم أنهاء جمل الدوران مباشرة

Do While < Condition >

Statements

Loop

Example : Find the summation of integer number ( 1 – 10 )

Private Sub Command1_Click()

Dim i As Integer

Dim s As Integer

i = 1

Do While i <= 10

s = s + i

i = i + 1

Loop

Print "sum="; s

End Sub

أيظا اليحدد فيها عدد الدوران وأنما تعتمد على شرط معين ، حيث يتم : Do … Untilجملة -ت

ت قيمة الشرط صحيحة فحص الشرط فاذا آانت قيمته خاطئة يتم تنفيذ جمل الدوران ، أما اذا آان

أي بمعنى آخر يستمر الدوران ) . Do … Whileعكس جلة ( فسيتم أنهاء جمل الدوران مباشرة

:الصيغة العامة لهذه الجملة آاألتي . طالما آان الشرط خاطأ

Do Until < Condition >

Statements

Loop

Page 54: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

41

Example : Find the summation of integer number ( 1 – 10 )

Private Sub Command1_Click()

Dim i As Integer

Dim s As Integer

i = 1

Do Until i > 10

s = s + i

i = i + 1

Loop

Print "sum="; s

End Sub

Methods applying on Form: العمليات التي تطبق على النماذج 18 – 1آما منهـا وات التي يمكن اجراءها على النموذج أثناء تنفيذ المشروع ، هناك عدد من العملي

) . 7 – 1( موضحة بالجدول رقم

.العمليات الرئيسية التي تطبق على النماذج ) : 7 – 1( جدول رقم

Description Method

Clears all graphics and text from form . Does not

clear any object

Cls

ح الشاشةمس

Print text string on the form

Print

طباعة النتائج

Hide the form

Hide

اخفاء النموذج الحالي

Show the form

Show

اظهار النموذج

Page 55: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

42

Example :

Private Sub cmdprint_Click()

Form1.Print "ali"

End Sub

Private Sub cmdclear_Click()

Form1.Cls

End Sub

Private Sub cmdshow_Click()

Form2.Show

End Sub

Private Sub cmdhide_Click()

Form2.Hide

End Sub

( )MsgBox( ) & InputBox: صندوق الرسائل وصندوق المدخالت 19 – 1تعتبر صندوق الرسائل وصندوق المدخالت واحدة من أهم دوال لغة فيجوال بيسك ،

) . Internal Functions( لق عليها بأسم الدوال الداخلية ويط

The main purpose of the functions is to accept certain input and pass them

on to the main program to finish the execution .

The general format of a functions is : الصيغة العامة لهذه الدوال هـي

Function Name ( arguments ) .

Where arguments are values that are passed on to the functions .

Page 56: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

43

عندما يراد من البرنامج أن يقوم صندوق الرسائل وصندوق المدخالتيتم استخدام دالتي

ئل خاطئة ، أو لتقديم أثناء تنفيذ البرنامج ، أو ألظهار رسا معينةعن أسئلة Userبسؤال المستخدم

.نصيحة معينة للمستخدم

.هو عبارة عن صندوق حوار يستخدم لعرض معلومات معينة للمستخدم : صندوق الرسائل

A message box : is a dialog box you display to give the user information.

.مستخدم عن معلومات معينة لسؤال الهو عبارة عن صندوق حوار يستخدم : صندوق المدخالت

An input box : is a dialog box you display to ask the user questions .

( )Function MsgBox:دالة صندوق الرسائل 1 – 19 – 1حيث تستخدم لعرض ناتج تنفيذ ، Printتعتبر هذه الدالة نوعا ما بمثابة ايعاز الطباعة

أآان البرنامج يعمل بشكل صحيح أم خاطئ من خالل اظهار رسالة معينة اءرنامج سوخطوات الب

-:، وهي آاآلتي ) لتنفيذ صندوق الرسائل ( هناك صيغتان رئيسيتان لكتابة . تشير الى حالة البرنامج

حيث يتم أستخدامها داخل متغير لتنفيذ أو ألظهار قيمة معينة ،: MsgBox Return Value -أ

:والصيغة العامة لها هـي

Your Msg = MsgBox ( Prompt , Style Value , Title )

OR

X = MsgBox ( argument )

- The first argument( Prompt ): Will display the message in the message box.

- The second argument ( Style Value ) : Is an optional numeric value or

constant name that will determine what type of command button appear on

the message box and any icon to show .

- The third argument ( Title ) : Is an optional string that represents the text

in the message box’s title bar .

دالة الـفيجوال بيسك أسم المتغير

Page 57: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

44

المستخدمة مع ) Command button( يظهر أزار التحكم ) 8 – 1( رقم الجدول

.بدال من أسماء ثوابت ) Integer( ، حيث يمكن األستعانة بقيم رقمية صندوق الرسائل

. وأرقامها أزرار التحكم المستخدمة مع صندوق الرسائل) : 8 – 1( جدول رقم

Style Value Named Constant Buttons Display

0 VbOkOnly Ok button

1 VbOkCancel Ok and Cancel buttons

2 VbAbortRetryIgnore Abort , Retry and Ignore buttons

3 VbYesNoCancel Yes , No and Cancel buttons

4 VbYesNo Yes and No buttons

5 VbRetryCancel Retry and Cancel buttons

Example :

Private Sub Command1_Click()

x = MsgBox("hello", 0, "information")

End Sub

OR

Private Sub Command2_Click()

x = MsgBox("hello", vbOKOnly, "Information")

End Sub

) Icon( يبدو أآثر وضوحا ، يمكن اضافة صورة Msg Boxلجعل صندوق الرسائل :مالحظة

.لى جانب الرسالة بحيث تشير هذه الصورة الى وظيفة أو مهمة الرسالة الواجب تنفيذها ا

) . 9 – 1( رقم لغة الفيجوال بيسك تجهزنا بأريعة أنواع من الصور وآما موضحة في الجدول

Page 58: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

45

. أزرار التحكم المستخدمة مع صندوق الرسائل والصور الخاصة بها ) : 9 – 1( جدول رقم

Icon Named Constant Value

VbCritical

16

VbQuestion 32

VbExclamation 48

VbInformation

64

Example :

Private Sub Command1_Click()

x = MsgBox("Click to test", vbYesNoCancel + vbExclamation, "Test

Message")

End Sub

OR

Private Sub Command2_Click()

x = MsgBox("Click to test", vbYesNoCancel + 48, "Test Message")

End Sub

OR

Private Sub Command2_Click()

x = MsgBox("Click to test", 3 + 48, "Test Message")

End Sub

Page 59: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

46

. ) 18 – 1( رقم الشكلالبرنامج ب عند التنفيذ سيظهر لنا

دالة صندوق الرسائل ةبرمح) : 18 – 1( رقم شكل

أن المتغير )X (يحمل قيمة معينة يمكن أسترجاعها من دالة صندوق الرسائل

Msgbox( ) وهذه القيمة تحدد من خالل نوع األمر ، )button ( المستخدم والذي يتم نقره

خل البرنامج الفرعي دا Integerويتم تعريف هذا المتغير آرقم صحيح . بواسطة المستخدم

Procedure أو في خانة التعاريف العامة )General Declaration . (

التي تظهر لنا أثناء أستخدام دالة ) Button Clicked(يمكن برمجة أزرار األمر :مالحظة

أو من خالل أستخدام أسم األمر نفسه ) Value(صندوق الرسائل من خالل أعطائها قيم تعريفية

)Named Constant ( وآما موضح ذلك في المثال التالي : -

Example : Use the two control box ( one Command button & one Label

button ) on the form ( Form1) , and set the properties as follows :

Private Sub Cmd1_Click()

Dim x As Integer

x = MsgBox("Click to test", 1, "Test Message")

Command1: Name : Cmd1 Caption : Test Font : Bold - 14

Label1 : Name : Lbl1 Caption : Appearance : 0-flat Alignment : 2-Center ForeColor : System – Active Title Bar

Page 60: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

47

If x = 1 Then

Lbl1.Caption = "Testing Successful"

Else

Lbl1.Caption = "Testing Fail"

End If

End Sub

والذي يحمل العنوان Command buttonبالنقر على زر األمر Userعندما يقوم الـ

Test والتي تحتوي على خيارين ، الخيار األول ) 19 – 1( لنا شاشة البرنامج بالشكل رقم ظهرتفس

)Ok ( والذي عند النقر عليه ستظهر الرسالة )Testing Successful ( وعند النقر على الخيار ،

. ) Testing Fail( ستظهر الرسالة ) Cancel( الثاني

دالة صندوق الرسائل برمجة أزرار تحكم) : 19 – 1( شكل رقم

التي تظهر لنا أثناء ) Button Clicked(يبين أزرار األمر ) 10 – 1( رقم الجدول

) . Named Constant(أستخدام دالة صندوق الرسائل مع أسم األمر نفسه

. أزرار األمر الخاصة بدالة صندوق الرسائل مع أسم األمر ) : 10 – 1( جدول رقم

Button Clicked Named Constant Value Ok button VbOk 1

Cancel button VbCancel 2 Abort button VbAbort 3 Retry button VbRetry 4 Ignore button VbIgnore 5

Page 61: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

48

Yes button VbYes 6 No button VbNo 7

آما مبين الى المثال أعاله تظهر عند تنفيذ البرنامج ) Icon( آذلك يمكن اضافة صورة

التالي الى البرنامج ) Code( ، وذلك من خالل اضافة الشفرة ) 20 – 1( ذلك في الشكل رقم

:ليكون آاآلتي

Private Sub Cmd1_Click()

Dim x As Integer

x = MsgBox("Click to test", vbYesNoCancel + vbExclamation, "Test

Message")

If x = 6 Then

Lbl1.Caption = "Testing Successful"

ElseIf x = 7 Then ‘ Or if x = vbNo

Lbl1.Caption = "Testing Fail"

Else

Lbl1.Caption = "Try again"

End If

End Sub

برمجة أزرار تحكم دالة صندوق الرسائل مع أضافة صورة ) : 20 – 1( شكل رقم يتم آتابة المتغير داخل صندوق الرسائل ، في هذا النوع : MsgBox Return No Value -ب

بشكل مباشر دون الحاجة لوضعها داخل متغير آما هو الحال في النوع MsgBoxحيث يتم تنفيذ

:والصيغة العامة تكون آاآلتي . السابق

MsgBox Message , Type , Title

Where :

Page 62: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

49

Message : Is a text message to be displayed .

Type : Determine what type of command buttons appear on the message box

and any icon to show .

Title : Is a text in title bar of message box .

فارغ ، وذلك حسب مامطلوب تنفيذه داخل صندوق Typeممكن أن يكون حقل الـ : مالحظة

:الرسائل وآما موضح في المثال التالي

Example :

Private Sub Form_Activate()

For i = 1 To 10

Form1.Caption = "X =" & i

x = i ^ 2

MsgBox "The value of X =" & x, , "The square Values of variable"

Next

Form1.Caption = "Thank You"

End Sub

Input Box ( ) Function: دالة صندوق المدخالت 2 – 19 – 1 للمستخدم تسمح له بأدخال قيمة معينة) Message box( بعرض رسالة الدالةتقوم هذه

:والصيغة العامة لهذه الدالة آاألتي ) . رقمية أو نصية (

N = InputBox ( Prompt , Title , default_text , X-position , Y-position )

- Prompt : The message displayed normally as a question asked .

- Title : The title of the input box .

- default_text : It’s a appears in the input field where users can use it as his

intended input .

- X-position and Y-position : The position or the coordinate of the

input box .

Page 63: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

50

Label1 : Caption : Your Message

Label2 : Caption : Appearance : 0-flat

Command1 : Name : cmdok Caption : Ok

Example1 : Draw two Labels and one Command buttons on the form and

then set the following properties as follows :

Then the procedure for the Command1 , is :

Private Sub cmdok_Click()

Dim n As String

n = InputBox("What is your message?", "Message Entry Form", "Enter your

message here", 500, 50)

If n <> "" Then

Label2.Caption = n

Else

Label2.Caption = "No Message"

End If

End Sub

.) 21 – 1( البرنامج بالشكل رقم ظهر لنا يعند التنفيذ س

دالة صندوق المدخالت برمجة) : 21 – 1( شكل رقم

Page 64: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

51

the object bellow to add two numbers :Use Example2:

Private Sub cndadd_Click()

Dim n As Integer

n = MsgBox("Add two numbers", vbOKCancel, "Wellcome")

If n = vbOK Then

txtresult.Text = Val(txt1.Text) + Val(txt2.Text)

Else

txtresult.Text = ""

End If

End Sub

) . 22 – 1( برنامج بالشكل رقم ظهر لنا العند التنفيذ سي

دالة صندوق المدخالت برمجة أزرار) : 22 – 1( شكل رقم

Command1 : Name : cmdadd Caption : Add

TextBox1 : Name : txt1 Text :

TextBox2 : Name : txt2 Text :

TextBox3 : Name : txtresult Text :

Label1 : Caption : First Number

Label2 : Caption : Second Number

Label3 : Caption : Result

Page 65: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

52

يستخدم ألخراج أو لعرض النتائج ، Msgboxنستنتج مما تقدم أعاله أن صندوق الرسائل

.البيانات فيستخدم ألدخال Inputboxبينما صندوق المدخالت

Creating an application: تكوين تطبيقات لغة فيجوال بيسك 20 – 1 :هناك أربع خطوات رئيسية تستخدم لتكوين تطبيقات أو برامج لغة فيجوال بيسك وهي

.تصميم واجهة البرنامج . 1

Designing the interface for a new program .

.ة في واجهة البرنامج ضبط خصائص الكائنات المستخدم. 2

Setting the properties of objects in the interface .

.آتابة شفرة البرنامج . 3Writing the program code .

حفظ وتنفيذ البرنامج . 4Save and run the program ( project ) .

:مانحتاج اليه هـو ،) 23 – 1( وآما موضحة بالشكل رقم سيتم عمل حاسبة بسيطة : 1مثال

1 .Creating the interface : ثالثة صناديق نص) رسم ( ادراج سنحتاج هنا Text Box الى

، حيث Label Boxمع ثالثة صناديق عنوان Command Buttonالنموذج ، وأربعة أزرار أمر

ل الحظ جدو )الجمع والطرح والضرب والقسمة ( سيتم اجراء أربع عمليات حسابية وهي

. ) 11 – 1( رقم

2 .Setting the properties : هنا سيتم أستخدام وتحديد الخصائص الضرورية التي يتطلبها

.المشروع للكائنات المدرجة على النموذج

.عناصر التحكم والخصائص المستخدمة فيها ) : 11 – 1( جدول رقم

Setting Property Object

First Number

Bold – 12 Size

Caption

Font

Label1

Second Number

Bold – 12 Size

Caption

Font

Label2

Page 66: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

53

Result

Bold – 12 Size

Caption

Font

Label3

txtinput1

Name

Text

Text1

txtinput2

Name

Text

Text2

txtresult

Name

Text

Text3

cmdadd

Addition

Name

Caption

Command1

cmdsub

Subtraction

Name

Caption

Command2

cmddiv

Division

Name

Caption

Command3

cmdmultiplay

Multiplication

Name

Caption

Command4

3 .Writing the program code : عندما يقوم المستخدم بالنقر على زر األمر سيتم تنفيذ

والتي هي طبقا لهذا المشروع ستكون Commandـ البرنامج من خالل الشفرة المكتوبة داخل ال

: آاألتي

Private Sub cmdadd_Click()

txtresult.Text = Val(txtinput1.Text) + Val(txtinput2.Text)

Form1.Caption = "Addition"

End Sub

Page 67: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

54

Private Sub cmddiv_Click()

If Val(txtinput2.Text) = 0 Then ‘ لمقسوم عليه اليساوي صفر هنا يجب اختبار أن ا

txtresult.Text = "Error"

Else

txtresult.Text = Val(txtinput1.Text) / Val(txtinput2.Text)

End If

Form1.Caption = "Division"

End Sub

Private Sub cmdmultiplay_Click()

txtresult.Text = Val(txtinput1.Text) * Val(txtinput2.Text)

Form1.Caption = "Multiplication"

End Sub

Private Sub cmdsub_Click()

txtresult.Text = Val(txtinput1.Text) - Val(txtinput2.Text)

Form1.Caption = "Subtraction"

End Sub

) . Clear(من خالل آتابة الشفرة التالية على زر األمر Textboxيمكن مسح محتويات الكائن

Private Sub cmdclear_Click()

txtinput1.Text = ""

txtinput2.Text = ""

txtresult.Text = ""

Form1.Caption = "Mathematics"

End Sub

Page 68: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

55

عمل حاسبة بسيطة) : 23 – 1( شكل رقم

:صمم نافذة مشروع يتم من خاللها : 2مثال

. ) 24 – 1( ضح بالشكل رقم ، آما مو ) Factorial( مضروب أي عدد حساب -أ

.) 25 – 1(، آما موضح بالشكل رقم ) Prime Number.( اختبارعددا ما آولي آم غير آولي -ب

: ، وآاآلتي Nالى العدد 1هو حاصل ضرب األعداد من Nأن مضروب العدد -

N! = 1*2*3*…*N

Private Sub cmdfac_Click()

Dim n As Integer, I As Integer

Dim f As Double

n = Val(Text1.Text)

f = 1

For I = 1 To n

f = f * I

Next I

Text2.Text = f

Form1.Caption = "The Factorial of Number Is :" & Val(Text2.Text)

End Sub

Page 69: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

56

Private Sub cmdexit_Click()

End

End Sub

Private Sub Form_Load()

Form1.Caption = "Welcome"

End Sub

مضروب أي عدد حساب ) :24 – 1( شكل رقم

آولي Nوألختبار أن العدد . العدد األولي هو العدد الذي يقبل القسمة على نفسه وعلى الواحد فقط -

: N-1الى 2نقسمه على آل األعداد من

آوليا N، يكون اذن العدد N-1الى 2على جميع األعداد من Nاذا آان هناك باقي لقسمة العدد . 1

.غير آولي N، فيكون اذن العدد N-1الى 2القسمة على أحد األعداد من Nآما اذا قبل العدد . 2

Private Sub Command1_Click()

Dim n As Integer

n = Val(Text1.Text)

Dim i As Integer

Text2.Text = "Prime "

For i = 2 To n - 1

If n Mod i = 0 Then

Text2.Text = "Not Prime"

Exit For

End If

Next i

Page 70: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

57

Form1.Caption = "The number is " & Text2.Text

End Sub

اختبارعددا ما آولي آم غير آولي) : 25 – 1( شكل رقم

Studying the object’s properties: دراسة بعض الخصائص المهمة 21 – 1

، والتي من خاللها Listيحتوي على خاصية مهمة تدعى بالقائمة Combo Boxالكائن

الى القائمة وبشكل ) أو القيم ( ويتم ملئ قائمة الكائن من خالل اضافة العناصر . يتم ملئ القائمة

ل أآثر وفي حالة ادخا. من لوحة المفاتيح Enterمباشر من نافذة الخصائص وضغط مفتاح األدخال

من عنصر الى القائمة ، فيتم من خالل اضافة القيمة األولى ومن ثم الضغط على مفتاحي

)Ctrl + Enter ( من لوحة المفاتيح حيث سيسمح لنا بأدخال أآثر من قيمة داخل قائمة الكائن

. Listضمن خاصية

فيتم برمجيا ، Comboة ضمن قائمة الكائن ولغرض استدعاء القيم أو العناصر الموجود

) . 26 – 1( ذلك من خالل آتابة الشفرة أدناه والموضحة عند التنفيذ في الشكل رقم

Private Sub Command1_Click()

If Combo1.Text = "Ali" Then

Print "ok"

End If

Form1.Caption = "The name is :" & Combo1.Text

End Sub

Page 71: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

58

برمجيا Comboضمن قائمة الكائن أو العناصر استدعاء القيم) : 26 – 1( شكل رقم

Combo Boxلصندوق القائمة المنسدلة ) List Index( آذلك يمكن اختبار الخاصية

ائمة ، للعنصر األول في الق) 0( هذه الخاصية القيمة ، حيث تأخذ) Text( عوضا عن الخاصية

:وبذلك يتم تطبيق العبارة التالية . الـخ .... للعنصر الثاني وهكذا ) 1( والقيمة

Private Sub Command1_Click()

If Combo1.ListIndex = 0 Then

Print "ok"

End If

Form1.Caption = "The name is :" & Combo1.Text

End Sub

ستخدم لتحديد شكل اطار النموذج ت Formدة في النموذج الموجو Border Styleالخاصية

، أي أنه يمكن للمستخدم أن يقوم بتغيير ) Sizable-2( القيمة األفتراضية لهذه الخاصية هي ، و

أما .فسيصبح النموذج غير قابل للتمدد ) FixedDialog-3( أما اذا وضعنا القيمة . أبعاد النموذج

.ستخدم أللغاء أو لألبقاء على زر تصغير النموذج ت Min Buttonخاصية ال

، والتي ) Password Char( على خاصية مهمة جدا تدعى Text Boxيحتوي الكائن

* ) . عادة نضع العالمة( حرف المدخلة ما يظهر عوضا عن األ) أو عالمة ( تستخدم لجعل حرفا

.حالة آون البرنامج يحتوي على آلمة سـر وتستخدم هذه الخاصية عادة في

Page 72: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

59

، فاذا آان زر ) Value( يحتوي على خاصية مهمة جدا وهي Option Buttonالكائن

شكل ، الحظ ال Falseالقيمة فتأخذ، واذا آان غير محدد Trueقيمة Valueـالخيار محدد فـتأخذ ال

وآما موضحللداللة على النموذج الحالي ، Meدام العبارة آذلك يمكن أستخ. ) 27 – 1( رقم

: في المثال التالي ذلك

Private Sub Command1_Click()

If Option1.Value = True Then

Label1.Caption = "Welcome"

Else

If Option2.Value = True Then

Label1.Caption = "Hi"

End If

End If

Me.Caption = "Testing is : " & Label1.Caption

End Sub

Private Sub Form_Load()

Me.Caption = "Testing is : "

End Sub

، وهذه الخاصية ) Value( يحتوي على خاصية مهمة جدا وهي Check Boxالكائن

) . 12 – 1( دول رقم وآما موضح ذلك بالجتتيح لعنصر التحكم أن يأخذ احدى القيم الثالث التالية

. الفحص واألختبارالمتاحة للكائن صندوق العددية القيم) : 12 – 1( جدول رقم

Description Value

Unchecked-0 غير محدد

Checked-1 محدد

Grayed-2 رمادي

Option Buttonبرمجة الكائن ) : 27 – 1( كل رقم ش

Page 73: Visual Basic

أعداد الفصل األول الجامعة التكنولوجية عمار فخري مهدي فيجوال بيسك تعلم البرمجة بلغة ال قسم علوم الحاسبات

60

Example :

Private Sub cmdtest_Click()

If Check1.Value = 1 Then ‘ ( OR ) If Check1.Value = vbChecked Then

Print "True"

Else

Print "false"

End If

End Sub

لرسم شكل هندسي على النموذج ، حيث يحتوي هذا الكائن Shapeيستخدم عنصر التحكم

بالجدول والتي تحدد الشكل الهندسي الناتج وآما موضح Shapeعلى خاصية مهمة وهي الـمظهر

) . 13 – 1( رقم

. القيم العددية المتاحة لكائن رسم الشكل الهندسي ) : 13 – 1( جدول رقم

Description Value

Rectangle-0 مستطيل

Square-1 مربع

Oval-2 قطع ناقص

Circle-3 دائرة

Round Rectangle-4 مستطيل ذو حواف مستديرة

Round Square-5 مربع ذو حواف مستديرة

Private Sub cmddraw_Click()

Shape1.Shape = 3

End Sub

Page 74: Visual Basic

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

61

Introduction: المقدمة 1 – 2زادت أهمية المعلومات في وقتنا الحاضر من أهمية نظم قواعد البيانات لتنظيم المعلومات

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

تطبيقات الحاسوب الى موضوع أساسي ومكون رئيسي من قواعد البيانات من موضوع فرعي في

علم الحاسوب الحديث ، وبذلك فقد أصبحت نظم قواعد البيانات جزءا رئيسيا في منهاج علم

.الحاسوب

What is a database: ماهي قاعدة البيانات 2 – 2المتصلة وذات العالقة ت قاعدة البيانات عبارة عن مجموعة من البيانات أو المعلوما

وأهم مايميزها أنها . والمخزونة بطريقة نموذجية أي من دون تكرار غير مبرر المتبادلة فيما بينها

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

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

الخ وذلك بأستخدام نظام ادارة ... العمليات المطلوبة عليها من عمليات حذف ، أضافة ، تحديث ،

والذي هو عبارة عن . Database Management Systems ( DBMS )قواعد البيانات

الوصول الى قواعد البيانات ومن ثم اجراء آافة برنامج أو مجموعة برامج والتي من خاللها يمكن

. العمليات المطلوبة عليها

لى هيئة نماذج مختلفة ، داخل قاعدة البيانات عام يتم تمثيل البيانات ـل عـكـبش

ةـأو هرمي network model ةـأو شبكي relational model ةـتكون نماذج عالئقي أنـآ

hierarchical model ) أو على شكل رسوم على الحاسبة ممثلة ) منظمة في مراتب متسلسلة

. object-oriented data model بمعادالت رياضية

، تمثيل البيانات داخل قواعد البيانات رف الطريقة التي يتم من خاللها ـعـتهذه النماذج

.قواعد البيانات واحد من أهم هذه النماذج ويعتبر نظام أدارة

يعتمد على النموذج العالئقي في MS-Access 2003برنامج مايكروسوفت أآسـس

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

. RDBMSأو Relational DBMSالعالئقية

Page 75: Visual Basic

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

62

An introduction to Ms-Access : أآسـس يكروسوفتادمة لبرنامج ممق 3 – 2هو عبارة عن برنامج يستخدم لحفظ البيانات ) Ms-Access( وسوفت أآسس ريكام

قواعد بيانات مكونة من مجموعة من الجداول المنظمة شرآات في صيغةوالمعلومات الخاصة بال

عرضها بطريقة تسهل األستفادة من تلك المعلومات وتخزين بيانات جديدة بصورة معينة و

.واألستعالم عن هذه البيانات وطباعتها

Microsoft Access lets you collect, organize, find, display and print

information about your personal and business life.

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

وأدارة قواعد البيانات الموجودة في حاسبة واحدة أو في عدة حواسيب ) تكوين ( تستخدم لخلق

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

)مثل المعلومات التجارية ( Personal information management ( PIM ) الشخصية

. دة البيانات ـخلة والمكونة لقاعمن حيث تنظيم وأدارة آافة البيانات الدا

ادارة آافة المعلومات من ملف قاعدة بيانات واحد ، حيث Ms-Accessيمكن بأستخدام

، ثم عرض ) Tables( حاويات تخزين منفصلة نستطيع في هذا الملف أن نقوم بتقسيم البيانات الى

، ثم البحث عن البيانات ) Forms( بيانات الجداول ، اضافتها ، وتحديثها بأستخدام النماذج الفورية

البيانات أو ل، آما نستطيع تحلي) Queries( فقط ، وأستردادها بأستخدام األستعالمات التي نريدها

) . Reports( تخدام التقارير طباعتها بتخطيط معين بأس

سمي األآسـس بقاعدة البيانات ألن آلمة قاعدة تعني ترتيب البيانات وفق الموضوع ، وهذا :مالحظة

) .جدول ( الترتيب يكون على شكل أعمدة وصفوف

:مصطلحات خاصة بقواعد البيانات 4 – 2 .نات معينة لحفظ بيافي الجدول هو المكان المخصص : Fieldالحقل -

Fields : Are places in a table where you store information .

) .جميع المعلومات المخزونة في صف واحد ( مجموعة الحقول : Recordالسجل -

A record : Is all the fields contained in one row of an access datasheet . .البيانات تخزن في الملف جميع السجالت لقاعدة : Fileالملف -

File : Is all the records of a database .

Page 76: Visual Basic

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

63

Task pane create a new file Blank database

.تخزن الملفات المختلفة في مجلدات منفصلة : Folderالمجلد -

Folder : Different files are stored in separate folders .

Starting MS-Access: أآسـس مايكروسوفت تشغيل برنامج 5 – 2يتم النقر فوق األمر برامج Ms-Access 2003مايكروسوفت أآسـس لتشغيل برنامج

Programs من قائمة البدأStart ثم أختيار برنامج ، Microsoft Office Access 2003

. Microsoft Officeالموجود مع مجموعة تطبيقات برامج

أو فتح قاعدة بيانات موجودة سابقا ةيانات جديدبعد تشغيل البرنامج نقوم بتكوين قاعدة ب

) . 1 – 2( ، وآما موضح ذلك بالشكل رقم وذلك من خالل تنفيذ األمر التالي

فتح أو تكوين قاعدة بيانات جديدة) : 1 – 2( شكل رقم

عند اختيار . نها بموقع معين بأسم معين وخز) جديدة ( سيتم هنا تكوين قاعدة بيانات فارغة

عنوانه ملف قاعدة ) 2 – 2( والموضح بالشكل رقم يظهر مربع حوار Blank databaseاألمر

الذي نريد حفظ ملف قاعدة ) الموقع ( يتم تحديد الدليل حيث File New Database بيانات جديد

في مربع ديد أسم لملف قاعدة البيانات ، بعدها يتم تح Save In حفظ في وذلك في مربعالبيانات فيه

.فتظهر قاعدة البيانات التي تم انشائها Create، ثم أختيار األمر انشاء File Nameأسم الملف

Page 77: Visual Basic

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

64

، ويمكن تحويلها الى Access 2000من نمط Access 2003تعتبر هذه القاعدة : مالحظة

Access 97 أوAccess 2002 أوAccess 2003 من خالل أختيار األمر التالي:

:ل البدأ بأنشاء قاعدة بيانات جديدة البد من قب: مالحظة

.تحديد الغرض من قاعدة البيانات وبالتالي تحديد المعلومات التي سنحتاجها . 1

.جدول آلحدد المعلومات التي نود حفظها في تتحديد الجداول الالزمة ، بحيث . 2

.د الحقول الالزمة في الجدول تحدي. 3

Access Components: يكروسوفت آآسـس امكونات م 6 – 2 ) Database window( بعد تكوين قاعدة البيانات تظهر لنا نافذة قاعدة البيانات الرئيسية

.) 3 – 2( والموضحة بالشكل رقم التالية ) Objects( ، والتي تحتوي على الكائنات

Tools Database Utilities Convert Database

To Access 2002-2003 File Format

بيانات جديدة خزن قاعدة) : 2 – 2( شكل رقم

Page 78: Visual Basic

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

65

سجل يمثل آلوتستخدم لتخزين البيانات في صفوف وأعمدة بحيث أن ) : Tables( الجداول . 1

، حيث يتم تحديد حقول بيانات القاعدة فقط من خالل Columnثل عمودا محقل ي وآل Rowصفا

.الجداول

آائن األستعالم عن (تستخدم لتجميع البيانات التي نطلبها من الجدول ) : Query( األستعالمات . 2

) .العالقات بين الجداول ةالبيانات وربط الجداول بمساعد

عرض الواجهات ( ثم عرضها وتحليلها نتستخدم ألدخال البيانات وم) : Forms( النماذج . 3

) .والصور

) .عرض التقارير وتنسيقها ( ورقة تستخدم لتلخيص البيانات ) : Reports( التقارير . 4

أبتداءا من Ms-Accessهي عناصر أو آائنات جديدة أضيفت الى ) : Pages( الصفحات . 5

.، وتعني تكوين واجهات أو صفحات آنترنت تقوم بعرض بيانات القاعدة 2000األصدار

تنفيذ أآثر من عمل في ( تقوم بأتمتة قاعدة البيانات الخاصة بـك ) : Macro( وحدات ماآرو . 6

) .وقت واحد

عبارة عن برامج تساعد المبرمج في تكوين لغات البرمجة ) : Modules( وحدات نمطية . 7

. المخصصة لقاعدة البيانات

سنتطرق في هذا الفصل الى دراسة آيفية تصميم الجداول وأنواع الحقول المستخدمة فيها : مالحظـة

في عملية الربط مع برنامج لغة فيجوال مع الخصائص المهمة التي تحويها ، والتي سنستخدمها الحقا

. في الفصل الثالث ذلك بيسك والموضح

نافذة قاعدة البيانات الرئيسية) : 3 – 2( شكل رقم

Page 79: Visual Basic

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

66

Task Pane Open

OR :

File Open

ــ ى بالــمـس تسـت آآسـوفـيكروساة في مـة المستخدمـالبرمج مـن المهـم معرفـة أن

Visual Basic for Application VBA) (. الموجودة في اآلآسس تشبه ماذجالنآذلك فأن

النماذج الموجودة في برنامج لغة فيجوال بيسك ، لكنها تحتوي على خاصية الربط الى حد ما

. المباشر مع البيانات ألنها موجودة ضمن قاعدة البيانات

Open an existing file: فتح قاعدة بيانات موجودة 7 – 2 :ها مسبقا ، فيتم من خالل األمر التالي لفتح قاعدة بيانات قد تم انشاء

المراد فتحه من قائمة الملفات ، ثم اختيار ) ملف قاعدة البيانات ( حيث يتم تحديد الملف

.) 1 – 2( والوضحة بالشكل رقم Openاألمر

) Tables( : الجداول 8 – 2حول موضوع معين في قواعد في حقول جموعة من المعلوماتمظيم الجدول عبارة عن تن

ينظم الجدول البيانات في أعمدة تدعى . البيانات ، فمثال قد يحتوي الجدول على بيانات حول العمالء

حقل على معلومة حول أحد العمالء آل يحتوي. Recordsوصفوف تدعى سجالت Fieldsحقول

ذلك موضح آما و المتعلقة بأحد العمالء) جميع الحقول ( المعلومات ويحتوي السجل على آـل

.) 4 – 2( رقم التخطيطي بالشكل

آذلك يمكن . بواسطة الجداول يمكن اضافة بيانات ، تحريرها أو عرضها في الجدول

ويمكن . و تصفيتها اجراء تدقيق امالئي للبيانات الموجودة في الجدول وطباعتها ، وفرز السجالت أ

.أو تعديل هيكل الجدول بواسطة اضافة أعمدة أو حذفها " صفحة البيانات " آذلك تغيير مظهر

Field1-Code Field2-Name Field3-Phone Number Field4-Email Address

( Field ) Column حقل

( Record )Row صف

حقول وسجالت الجدول) : 4 – 2( شكل رقم

Page 80: Visual Basic

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

67

Creating New Table: جديد جدولانشاء 9 – 2 :، وهـي ) Ms-Access( في ملف قاعدة البيانات جديد جدول ينولتك طرقهناك ثالث

، )Create table in Design view( قة عرض التصميميتكوين جدول بطر: الطريقة األولى

ا أو ـديدة ، أو حذفهـول جـة حقـئ ، أو اضافـاء جدول آامل من الشـفي هذه الطريقة يتم انشحيث

من أهم هذه الطريقة تعتبر ، حيث) 5 – 2( الشكل رقم وآما موضح ذلك ب صهاـادة تخصيـاع

. بالتفصيلالحقا و لذلك سيتم التطرق لها الطرق وأآثرها أستخداما

حيث ، ) Create table by using wizard( تكوين جدول بأستخدام المعالج : الطريقة الثانية

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

. جدول جديد

حيث ، ) Create table by entering data( تكوين جدول جديد بأدخال البيانات : الطريقة الثالثة

نقوم فقط بأدخال لذلك) .… , Field1 , Field2( تكون الحقول موجودة مسبقا بأسماء آفتراضية

.مكانية تغيير أسم الحقل األفتراضي ، وتخصيصه بنوع بيانات معينة البيانات تحت آل حقل مع أ

Create table in Design view :تكوين جدول بطريقة عرض التصميم 10 – 2 :أن عملية انشاء جدول جديد في وضع التصميم تقسم الـى

) . Field Name( حقول وتسميتها الادراج -

) . Data Type( الجدول لوحق في ع البياناتانوأتحديد -

) . Field Properties( تحديد خصائص للحقول المدرجة مع بياناتها -

) . Saving Table( حفظ الجدول مع انشاء مفتاح أساسي اذا تطلب األمر -

تكوين جدول بطريقة عرض التصميم) :5–2(شكل رقم

Page 81: Visual Basic

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

68

Field Name: ادراج الحقول وتسميتها 1 – 10 – 2

ألدخال أسماء معينة للحقول المكان المخصص هو Field Nameأن أسم الحقل

) البيانات التي سيتم ادخالها يكون اختياري ، بحيث يشير الى نوع عادة األسم ( في الجدول المدرجة

الحقلأسم فعلى سبيل المثال يتم تخصيص. مع الفراغات حرفا آحد أقصى 64ويحتوي على سعة ،

سيضم أسماء الطالب ضمن جدول الطالب ، وآذلك تخصيص أسم الذي" Name" بعنوان األول

والذي سيضم صور شخصية لكل طالب ضمن جدول الطالب " Picture" الحقل الثاني بعنوان

) . 5 – 2( وآما موضح ذلك بالشكل رقم

ي الجدول من خالل أسم الحقل ـل فـسوفت أآسـس تعريف آل حقيقوم برنامج مايكرو

Visual Basicك ـرامج بلغة الفيجوال بيسـتخدم بعد ذلك في األجراءات الفرعية للبـي سيسوالذ

Procedures المهيكلة ، وآذلك في تصريحات لغة األستعالماتStructured Query

Language ( SQL ) .

أسم الحقل اليمكن أن يكرر في الجدول ، ألن تكراره سيؤدي الى حدوث تضارب: مالحظـة

conflict أثناء تصميم قاعدة البيانات .

Procedure: A sequence of declarations and statements in a module that are

executed as a unit. Procedures in Visual Basic include both Sub and

Function procedures .

SQL string/statement: An expression that defines an SQL command, such as

SELECT, UPDATES, or DELETE, and includes clauses such as WHERE

and ORDER BY. SQL strings/statements are typically used in queries and in

aggregate functions.

Data Types : ولع البيانات في حقول الجدانوأتحديد 2 – 10 – 2 التي سيتم ادخالها بياناتال هو المكان المخصص لتحديد نوع Data Typeنوع البيانات

.الجدول ، مع مالحظة أن لكل حقل يخصص نوع بيانات واحد فقط ضمن في آل حقل

Page 82: Visual Basic

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

69

حقل الى الجدول البد من تحديد نوع بيانات آل حقل ، فعند بعد األنتهاء من اضافة اسم ال

األنتقال الى عمود نوع البيانات يظهر سهم بجانب آل حقل ، وعند النقر على ذلك السهم تنسل

رقم الشكلعلى أنواع مختلفة من البيانات ، وآما موضح ذلك في قائمة تحتوي) تظهر (

لكل منها خصائصه الخاصة به وآما ل حقوبيانات ال يث أن هنالك عشرة أنواع منح ) 6 – 2(

) . 1 – 2( موضح ذلك بالجدول رقم

نوع بيانات حقول الجدول) : 6 – 2( شكل رقم

. أنواع بيانات الحقول وخصائصها وحجم تخزينها ) : 1 – 2( جدول رقم

Setting نوع الحقل

Type of data الوصف

Size حجم التخزين

Text نص

( Default ) Text or combinations of text and numbers , as well as numbers that don’t require calculations , such as phone numbers . It’s also called Alphanumeric data .

Up to 255 characters or the length set by the field size property , whichever is less .

حرفا أبجديا ، 255الحد األعلى 50بشكل تلقائي والبرنامج يعطي

.حرفا

Memo مذآرة

Lengthy text or combination of text and numbers

ادخال حروف وأرقام نص مفتوح مع أمكانية .وعالمات

Up to 65,535 characters

Page 83: Visual Basic

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

70

Number رقم

Numeric data used in mathematical calculations.

أجراء يمكن أستخدامها في ) رقمية ( قيم عددية . وحسب الحاجة الحسابات الرياضية

رقم صحيح أو عشري حسب الخصائص ( ) .لمستخدمة ا

1 , 2 , 4 < or 8 bytes

Date / Time

وقت / تأريخ

Date and time values for the years 100 through 9999

8 bytes

Currency

العملة

Currency values and numeric data used in mathematical calculations involving data with one to four decimal places (Numbers with a leading dollar sine. Use this data type for currency values such as dollars, Frances, or yens).

8 bytes Accurate to 15 digits on the left side of the decimal separator

خانة ، 15قيم نقدية تصل الى باألضافة الى الفاصلة العشرية

)ة نوع العملة المستخدم+ رقم (

Auto Number

ترقيم تلقائي

A unique sequential (incremented by 1) number or random number assigned by Microsoft Access whenever a new record is added to a table. AutoNumber fields can't be updated .

يستمر الترقيم ) سجل ( في حالة حذف أي قيد . أي بدون اعادة الترقيم تصاعديا

4 bytes (16 bytes if the Field Size property is set to Replication ID).

Yes / No

ال / نعم

Yes and No values are fields that contain only one of two values (Yes/No, True/False, or On/Off). Logical or Boolean values .

1 bit

OLE

Object آائن ربط

وتضمين العناصر

An object (such as a Microsoft Excel spreadsheet, a Microsoft Word document, graphics, sounds, or other binary data) linked to or embedded in a Microsoft Access table.

Up to 1 gigabyte (limited by available disk space) OLE : Object Linking and Embedding

Page 84: Visual Basic

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

71

Hyperlink أرتباط تشعبي

Text or combinations of text and numbers stored as text and used as a hyperlink address (hyperlink address: The path to a destination such as an object, document, or Web page). A hyperlink address can be a URL (address to an Internet or intranet site) or a UNC network path (address to a file on a local area network).). A hyperlink address can have up to four parts: Text to display— the text that appears in a field or control. Addressـــــthe path to a file (UNC path) or page (URL). Sub addressــــa location within the file or page . Screen tipـــــthe text displayed as a tool tip .

Each part of the three parts of a Hyperlink data type can contain up to 2048 characters ربط الخلية الحالية بملف خارجي ،حيث يستخدم آأرتباط تشعبي لعنوان معين

Lookup Wizard

معالج بحث

Creates a field that allows you to choose a value from another table or from a list of values by using a list box or combo box. Clicking this option starts the Lookup Wizard, which creates a Lookup field (Lookup field: A field, used on a form or report in an Access database, that either displays a list of values retrieved from a table or query, or stores a static set of values.). After you complete the wizard, Microsoft Access sets the data type based on the values selected in the wizard.

The same size as the primary key field used to perform the lookup, typically 4 bytes.

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

مثال حقل أسم المدينة أو حقل أي تكوين ) . أنثى / ذآر ( الجنس

حقل لغرض أختيار قيم من جدول آخر أو من قائمة من القيم

) .داد قائمة من الخيارات اع(

وأي صف محتويات الحقللو يستخدم هذا الحقل اختياري ) : Description( الوصف

ويحتوي . ، وبالتالي يسهل على المستخدم فهم هدف الحقل بعد مرور فترة زمنية مالحظات أخرى

األسم الممثل بالحقل فمثال يتم وصف حقل .آحد أقصى حرفا أبجديا 255هذا الحقل على سعة

Page 85: Visual Basic

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

72

وذلك للداللة على أن بيانات هذا الحقل تحمل أسماء الطالب ، وآذلك " أسم الطالب " األول بعبارة

للداللة على أن " الصورة الشخصية " الحال بالنسبة للحقل الثاني فسيتم وصف حقل الصور بعبارة

الممثليين بجدول الطالب وآما بيانات هذا الحقل تحمل الصورة الشخصية لكل طالب من الطالب

. ) 5 – 2( شكل رقم موضح ذلك بال

Field Properties: المدرجة مع بياناتها لولحقلخصائص تحديد 3 – 10 – 2هو الجزء السفـلي من نافذة تصميم الجدول ، والذي يستخدم لعمل خصائص الحقل

ليس بالضرورة أن تحتوي ( المستخدمة في الجدول الحقول لكلعنصر و بكل األعدادات الخاصة

: ، مثـل )جميع أنواع البيانات المخصصة للحقول على نفس الخصائص

أي تحديد الحد ( ستخدم لتحديد حجم البيانات المدخلة في الحقلي ) : Field Size( حجم الحقل . 1

، ففي حالة آون البيانات المدخلة )و رقمية األقصى لبيانات الحقل المدخلة سواء أآانت بيانات نصية أ

في الحالة األفتراضية . حرفا أبجديا ) 255 – 0( بالمدى field size نصية فيتم تحديد حجمها

default أما في حالة آون البيانات المدخلة في حقل من . حرفا أبجديا ) 50( فتكون محددة بحجم

أما . long integerكون محدد بالخاصية عدد صحيح طويل نوع ترقيم تلقائي ، فأن حجم الحقل سي

، فأن حجم الحقل سيكون محدد numberفي حالة آون البيانات المدخلة في حقول نوعها رقمية

) . 2 – 2( بالجدول رقم أدناه بأحدى الخصائص التالية والموضحة

. الحقول الرقمية للبيانات في حددةحجم الحقل الم خاصية) : 2 – 2( جدول رقم

Setting Description Storage size

Byte Stores numbers from 0 to 255 (no fractions). 1 byte

Integer Stores numbers from –32,768 to 32,767 (no fractions). 2 bytes

Long Integer

(Default) Stores numbers from –2,147,483,648 to 2,147,483,647 (no fractions). 4 bytes

Single

Stores numbers from –3.402823E38 to –1.401298E–45

for negative values and from 1.401298E–45 to 3.402823E38 for positive values

( with fraction).

4 bytes

Page 86: Visual Basic

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

73

Double

Stores numbers from –1.79769313486231E308 to –4.94065645841247E–324

for negative values and from 4.94065645841247E–324 to

1.79769313486231E308 for positive values.

8 bytes

الذي نتعامل معه وأظهار تستخدم هذه الخاصية لعمل اعداد للحقل : ) Format( التنسيق . 2

.المعلومات بشكل معين

Allows you to specify how numbers , dates , times and text are displayed

and printed .

خال البيانات التي نتعامل معها يستخدم لعمل أو تحديد طريقة اد : ) Input Mask( قناع األدخال . 3

نسيطر بها على األدخال من خالل ، حيث) 3 – 2( وآما موضحة بالجدول رقم بشكل معين

.من لوحة المفاتيح F1الضغط على مفتاح

Allows you to simplify the data entry for fields that have the same format .

Such as phone number field by creating an input mask .

. الحروف والعالمات الخاصة بقناع األدخال ) : 3 – 2( جدول رقم

Character Description

0 Digit (0 to 9, entry required, plus [+] and minus [–] signs not allowed).

9 Digit or space (entry not required, plus and minus signs not allowed).

# Digit or space (entry not required; spaces are displayed as blanks while in Edit mode, but blanks are removed when data is saved; plus and minus signs allowed).

L Letter (A to Z, entry required).

? Letter (A to Z, entry optional).

Page 87: Visual Basic

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

74

A Letter or digit (entry required).

a Letter or digit (entry optional).

& Any character or a space (entry required).

C Any character or a space (entry optional).

. , : ; - /

Decimal placeholder and thousand, date, and time separators. (The actual character used depends on the settings in the Regional Settings Properties dialog box in Windows Control Panel).

< Causes all characters to be converted to lowercase.

> Causes all characters to be converted to uppercase.

!

Causes the input mask to display from right to left, rather than from left to right. Characters typed into the mask always fill it from left to right. You can include the exclamation point anywhere in the input mask.

\ Causes the character that follows to be displayed as the literal character (for example, \A is displayed as just A).

بياناته من نوع الذيفي الحقل " Password" في حالة جعل قناع األدخال يأخذ الخاصية

شكل عالمة فقط علىضمن هذا الحقل ادخالها يتم صية أي قيمة ن فسيتم طباعة textة قيم نصي

، حيث تستخدم هذه الخاصية لجعل المعلومات تبدو سرية وغير مفهومة لألشخاص ( * ) النجمة

. الغير مخولين

د المراتب بعد الفاصلة العشرية دتستخدم لتحديد ع ) : Decimal Places( المراتب العشرية . 4

The number of digits that allows you to specify the number of places to

display to the right of the decimal , it’s for numeric and currency field only .

.اضافته لكل حقل يتم هو األسم الذي يظهر في رأس الجدول ) : Caption( العنوان . 5

Allows you to define a default field label to appear on forms and reports

هي عبارة عن شرط يوضع في تلك الخانة ) : Validation Rule( قاعدة التحقق من الصحة . 6

.ذلك الشرط بالحقل بحيث التتعدى القيمة الموضوعة

Page 88: Visual Basic

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

75

الرسالة التي تظهر في حالة ما اذا آانت يه :) Validation Text( نص التحقق من الصحة . 7

.شرط الذي يتم التعامل معه في قاعدة التحقق من الصحة مخالفة لل )المدخلة ( القيمة الموضوعة

هي القيمة التي يتم ادخالها في خصائص الحقل ، ) : Default Value( القيمة األفتراضية . 8

.والتي ستظهر تلقائيا عند التنفيذ

يجب ادخال ) نعم ( ، في حالة اختيار ) ال / نعم ( يوجد بها خياران ) : Required( مطلوب . 9

ففي حالة أرقام التلفونات مثال ليس بالضرورة . داخل الحقل واليجب ترآها خالية ) البيانات ( القيمة

خلة ممكن أن تكون القيمة المد ) .ال ( أن يكون لدى آل موظف رقم تلفون ففي هذه الحالة نختار

. ) في حالة نوع حقل البيانات نص ( من لوحة المفاتيح ) Space( بضغط مفتاح

حيث تساعدنا في سرعة المقصود بها عمل فهرسة للحقل بالكامل ، ) : Index( مفهرس . 10

:وجد فيها ثالثة خيارات تو .عن بيانات الحقل Searchingوالبحث Sortingترتيب

.سمح بتكرار بعض المعلومات تسمح بعمل فهرسة وت) : Yes Duplicate Ok( كرر نعم م -

.سمح بتكرار المعلوماتتسمح بعمل فهرسة والت: Yes ( No Duplicates )( نعم غير مكرر -

.سمح بعمل فهرسة تال) : No( ال -

:مالحظـة

صوص المكتوبة بداخله تظهر بشكل ، فنستطيع جعل الن) Memo( اذا آان نوع بيانات الحقل -

.من لوحة المفاتيح ) Ctrl + Enter( متدرج من خالل ضغط مفتاحي

ادراج صورة في الحقل عند التنفيذ ، وذلك من خالل األمر التالي ) OLE( يمكن بأستخدام آائن -

خالل األمر التالي ، يتم ذلك من) Hyperlink( ألظهار األرتباط التشعبي على بيانات الحقل -

محرر أو : ) Expression Builder( يوجد معالج يطبق على خصائص الحقول ، يسمى بـ -

) Date/Time( مثال في حقل البيانات من نوع . منشأ التعابير ، حيث توضع داخله شروط معينة

) . 7 – 2( م رق بالشكل) Default Value( يمكن جعل خاصية القيمة األفتراضية

R.Click عند التنفيذ حقل البيانات على Insert Object Create from File

R.Click عند التنفيذ حقل البيانات على Hyperlink Edit Hyperlink

Page 89: Visual Basic

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

76

محرر أو منشأ التعابير) : 7 – 2( شكل رقم

لليوم الحالي حسب تأريخ الحاسبة ( حيث أن هذا األمر سيظهر لنا التأريح الحالي

لئ السرعة في م الحقل دون الحاجة لملئها يدويا ، أي تلقائيا عند التنفيذ ولجميع بيانات) المستخدمة

. المكررة لوبيانات الحق

Saving Table: مع انشاء مفتاح أساسي اذا تطلب األمر حفظ الجدول 4 – 10 – 2بعد األنتهاء من اضافة حقول الى الجدول البد من حفظ تصميمه قبل أن نتمكن من اضافة

ي قائمة جدول في نافذة قاعدة وبعد حفظ الجدول سيظهر عنوانه ف. اليه ) بيانات الحقول ( سجالت

.آما يمكن تغيير أسم الجدول الذي تم تصميمه وحسب الرغبة . البيانات الرئيسية

Primary Key: المفتاح األساسي يتم بعد األنتهاء من تعيين أسماء الحقول وتحديد نوع البيانات المدخلة فيها مع خصائصها

يكروسوفت أآسـس تحديد اأثناء عملية الحفظ سيطلب منا برنامج م. لجدول األنتقال الى مرحلة حفظ ا

لذلك من المهم جدا معرفة ماهو المفتاح . فيما اذا آانت هناك حاجة ألنشاء مفتاح أساسي أم ال

األساسي ؟ حيث يعرف آل سجل في الجدول بشكل منفرد من خالل البحث عن مفتاح أساسي لتسهيل

Page 90: Visual Basic

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

77

يتمولتعيين المفتاح األساسي . البيانات ودمجها وأسترجاع السجالت من الجدول عملية البحث عن

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

Primary Key ، أو من قائمة تحرير )Edit (يط األدوات أو تحديد األيقونة الموجودة في شر.

ألي جدول ، فسوف ) مفتاح أساسي ( مصمم قاعدة البيانات تعريف أما في حالة نسيان

.يكروسوفت أآسـس بتذآيره عند األنتهاء من التصميم ايقوم برنامج م

ياألساس ليس بالضرورة أن نعمل مفتاح أساسي في الجدول ، حيث تكمن أهمية المفتاح :مالحظة

) . Relationships( حالة وجود عالقات بين الجداول في

A primary Key doesn’t allow Null values and must always have a unique

index. A primary Key is used to relate a table to Foreign Key in other tables.

Manipulating Data: معالجة البيانات 11 – 2أثناء عرض صفحة ) سجالت الحقول ( هناك عدة عمليات يمكن اجرائها على البيانات

:، وهذه العمليات هـي البيانات

) . Adding a new record( اضافة قيد جديد . 1

Simply drop down to a new line and enter the information .

) . Updating a record( تحديث قيد . 2

Simply select the record and field you want to update , and change it’s data

with what you want .

) . Deleting a record( حذف قيد . 3

Simply select the entire row and hit the Delete Key on the keyboard .

Viewing data in table: عرض البيانات في الجدول 12 – 2 :عرض البيانات في الجدول بطريقتين ، هما ت

حيث يتم عرض هيكلية الجدول ضمن قاعدة ) : Design View( طريقة عرض التصميم . 1

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

Page 91: Visual Basic

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

78

ات وتحريرها هنا يتم ادخال البيان) : Datasheet View( طريقة عرض صفحة البيانات . 2

.ث عنها والبح

Switching Views:عرض التصميم ونافذة عرض صفحة البياناتاألنتقال بين نافذة 13 – 2

هي النافذة التي يتم فيها ادخال السجالت Datasheet Viewنافذة صفحة البيانات

وضحة ل وآما موالبيانات الى الجدول ، وللتنقل مابين صفحة البيانات وطريقة عرض تصميم الجدو

:نقوم بالتالي ) 8 – 2( بالشكل رقم

من قائمة عرض Design Viewمن نافذة صفحة البيانات يتم النقر على تصميم الجدول

View الموجودة في شريط القوائم ، أو بالنقر على األيقونة الموجودة في أقصى يسار شريط

.فس الطريقة يتم األنتقال بالعكس األدوات فننتقل بذلك الى نافذة عرض التصميم وبن

األنتقال بين نافذة عرض التصميم ونافذة عرض صفحة البيانات) : 8 – 2( شكل رقم

Direction of data view: تغيير أتجاه نافذة عرض صفحة البيانات 14 – 2يكون من اليمين الى ل) Datasheet View( يمكن تغيير اتجاه عرض صفحة البيانات

اليسار آما هو الحال في الجداول العربية ، ومن اليسار الى اليمين في الجداول األنكليزية وذلك من

ةـي صفحـف دولـالج مـبتصميدء ـل البـقبتنفذ هـذه الخطـوات ( . خالل اتباع الخطوات التالية

Design View (.

Page 92: Visual Basic

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

79

Sorting record in a table: لجدول ترتيب السجالت في ا 15 – 2يا أو تنازليا ، فمثال يمكن اجراء فرز دأو ترتيب السجالت في الجدول تصاع) فرز ( يمكن

حسب ترتيب الحروف األبجدية لألسماء وذلك بوضع مؤشر الفأرة في حقل أسماء الطالب ثم نقر

فيتم بذلك ترنيب الموجودة في شريط األدوات) Sort Ascending( فرز تصاعدي آيقونة

عكس في حالة أختيار الفرز التنازليوال ) Z( وأنتهاءا الى ) A( األسماء أبتداءا من

) Sort Descending (

Data Filtering: تصفية البيانات 16 – 2والتي يتم من خاللها تقليص حجم عرض البيانات وذلك أنواع من التصفية ثالثةاك هن

وهذه األنواع الثالثة من التصفية تظهر عند النقر بزر . باألعتماد على نوع التصفية المستخدمة

حيث الفأرة األيمن على حقل البيانات المراد اجراء تصفية لبياناته فتظهر لنا أنواع التصفية الموجودة

، آما ويمكن الغاء عامل التصفية وذلك ) Apply Filter( ومن ثم اختيار األمر يتم أختيار احداها

:وهـي ) 9 – 2( وآما موضح ذللك بالشكل رقم ) Remove Filter(من خالل أختيار األمر

أنواع تصفية البيانات) : 9 – 2( شكل رقم

جميع بيانات الجدول ) الغاء ( أي تصفية ) : Filter By Selection( تصفية حسب األختيار . 1

.ة احدى بيانات حقوله المحدد) الصف ( عدا بيانات السجل

Tools Options International Default Direction

Left-to-right

Right-to-left

Page 93: Visual Basic

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

80

هذا النوع من التصفية يعمل ) : Filter Excluding Selection( تصفية بأستثناء األختيار . 2

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

. مع بياناتها في الجدول) الغير محددة( السجالت األخرى

هنا يتم عمل تصفية لبيانات الجدول باألعتماد على شرط معين : ) Filter For( تصفية لــ . 3

ومن ،) 10 – 2( والموضح بالشكل رقم يوضع داخل المستطيل الظاهر أمام هذا النوع من التصفية

. من لوحة المفاتيح ) Enter( م الضغط على مفتاح ث

Filter Forتصفية بيانات الجدول بأستخدام شرط : ) 10 – 2( شكل رقم

ويسمى والذي يظهر في شريط األدوات الخاصة نوع رابع من التصفيةذلك هنالك اضافة الى. 4

ه تحديد الشرط المراد تنفيذه ألي حقل من ويتم في) : Filter by Form( تصفية حسب النموذج

هذا النوع من التصفية ) . 11 – 2( وآما موضح بالشكل رقم وبشكل مباشر حقول الجدول

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

. يميزه عن باقي األنواع األخرى ما

تصفية حسب النموذج لبيانات الجدول) : 11 – 2( شكل رقم

Page 94: Visual Basic

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

81

Relationships between tables :قاعدة البياناتت بين الجداول في العالقا 17 – 2

ربط المباشر بين جدولين مختلفين العالقات هي عملية ربط بين الجداول حيث تفيد في ال

جعل برنامج ، حيث يمكن بواسطة العالقات ولكنهما يشترآان بحقل يكون هو حلقة الوصل بينهما

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

وآما جدول الطالب بجدول الدرجات من خالل حقل رمز الطالب والذي يكون مشترك لكال الجدولين

خالل حقل أسم جدول العمالء بجدول المبيعات من، ويرتبط ) 12 – 2( موضح بالشكل رقم

ان العالقات بين الجداول تختصر الزمن في ايجاد عالقة مباشرة بين جدولين أو أآثر . العميل

.وبالتالي تقليص التأخير في ايصال الناتج بأختصار دقيق

يمكن أن نستفيد من العالقات الحقا في ربط أآثر من جدول داخل نموذج البيانات

)Form ( والذي تتم فيه غالبية عمليات البرمجة )VBA ( بين الجداول ، اضافة الى امكانية الربط

) .وهو ما نسميه في التقرير بالتقارير الفرعية ( داخل تصميم التقرير

بعد تكوين العالقات بين الجداول يمكن عمل استعالم أو نموذج أو تقرير ، حيث سيتم

آما توفر العالقات امكانية ربط الجدول الرئيسي . معلومات عن عدة جداول في الوقت نفسه عرض

بأآثر من جدول فرعي ، آذلك امكانية الحذف والتحديث التلقائي بين بيانات الجدول الرئيسي

.والفرعي من خالل حقل الربط فقط

العالقة بين جدول الطالب وجدول الدرجات من خالل حقل الربط) : 12 – 2( شكل رقم

Page 95: Visual Basic

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

82

) matching( عدة البيانات من خالل مطابقة البياناتيتم عمل العالقات بين الجداول في قا

. primary keyمفتاح الربط بين حقول الجداول وعن طريق

In most cases , these matching fields are the primary key from one table ,

which provides a unique identifier for each record , and a foreign key in the

other table .

Defining the relationships : تعريف العالقات 1 – 17 – 2 اتـة العالقـاشـى شـن الـة الجدوليـالل اضافـن خـن مـة بين جدوليـالعالقتعريف يتم

)Relationships Window (يسيةمن خالل نقر بزر الفأرة األيمن على نافذة قاعدة البيانات الرئ

Database Window وأختيار األمرRelationships 13 – 2( وآما موضح ذلك بالشكل رقم (

، ثم اجراء عملية السحب ألحد حقول الموجودة في شريط القوائم Toolsأو من خالل قائمة أدوات ،

.له في الجدول الثاني حقل مطابق واألفالت الىالجدول األول

تعريف العالقات بين الجداول) : 13 – 2( شكل رقم

Types of Relationships: أنواع العالقات 2 – 17 – 2

A One-to-Many Relationship) : 1 ∞( عالقة . 1

دة قيود في يمتلك ع Aهي الطريقة األآثر شيوعا وأستخداما ، حيث أن آل قيد في الجدول

الحظ الشكل . Aيمتلك قيد واحد فقط في الجدول Bلكن آل قيد في الجدول Bالجدول

.) 14 – 2( رقم

Page 96: Visual Basic

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

83

عالقة واحد الى مجموعة بين جدولين في قاعدة البيانات) : 14 – 2( شكل رقم

A One-to-One Relationship) : 1 1( عالقة . 2

له قيد واحد Bوآل قيد في الجدول Bله قيد واحد فقط في الجدول Aآل قيد في الجدول

هذا النوع من العالقات اليستخدم بشكل واسع ألن جميع البيانات فيه تكون . Aفقط في الجدول

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

) 15 – 2( الحظ الشكل رقم .، ولتوفير األمنية جداول

عالقة واحد الى واحد بين جدولين في قاعدة البيانات) : 15 – 2( شكل رقم

Page 97: Visual Basic

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

84

∞(عالقة . 3 ∞ : (A Many-to-Many Relationship

يمتلك B، وآذلك آل قيد في الجدول Bيمتلك عدة قيود في الجدول Aآل قيد في الجدول

هذا النوع من العالقات يتم العمل به فقط من خالل تعريف جدول ثالث . Aعدة قيود في الجدول

) . Junction Table( يسمى جدول الربط أو جدول األتصال

) : 16 – 2( ، الحظ الشكل رقم د من توفر الشروط التاليةـالجداول البولغرض تكوين العالقة بين

The kind of relationships that Microsoft Access creates depends on how the

related files are defined :

1. A One-to-Many Relationship is created if only one of the related fields is

a primary key or has a unique index .

2. A One-to-One Relationship is created if both of the related fields are

primary keys or have unique indexes .

3. A Many-to-Many Relationship is really two (One-to-Many Relationships)

with a third table called Junction table whose primary key consists of two

fields ــــــــ the foreign keys from the two other tables .

تصميم العالقات بين الجداول) : 16 – 2( شكل رقم

Page 98: Visual Basic

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

85

Find & Replace: البحث واألستبدال 18 – 2ا بحرف أو نص أو رقم أخر ضمن حرف أو نص أو رقم ، وأستبداله للبحث عن تستخدم

يتم اجراء عمليتي البحث واألستبدال من خالل النقر على األمر و. بيانات السجالت التي تم انشاءها

خالل النقر على اآليقونة ، أو من Findمن شريط القوائم وأختيار األمر بحث Editتحرير

) . 17 – 2( بالشكل رقم فتظهر لنا النافذة الموجودة في شريط األدوات

نافذة البحث واألستبدال) : 17 – 2( شكل رقم

آتابة آلمة أو حرف أو رقم معين والذي نجري ) Find What مربع البحث عن( يتم في

) .ث عن بياناته ابتداءا يتم تحديد الحقل الذي نبح( Find Nextالبحث عنه ، ثم النقر على األمر

، وفي حالة Replaceوفي حالة استبدال آلمة أو حرف بأخر فيتم الضغط على األمر

. Replace Allالنقر على األمر بكلمة أخرى فيتم ستبدال الكلمة آينما وجدت في الحقل ا

) . Start of Fieldالبحث عادة يتم من بداية الحقل (

Table Navigation Buttons: الجدول )سجالت ( التنقل عبر قيود 19 – 2 ، فيتم بأستخدام شريط التمرير) من سجل الى آخر ( لغرض التنقل عبر حقول الجدول

) Navigation bar ( الموضح بالشكل رقم )والموجود في أسفل يسار الجدول) 18 – 2

)Datasheet View ( رقم والذي يتكون من خمسة أوامر والموضحة في الجدول )4 – 2 . (

Page 99: Visual Basic

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

86

التنقل عبر سجالت الجدول : ) 18 – 2( شكل رقم

.أزرار التنقل عبر سجالت الجدول مع وظائفها ) : 4 – 2( جدول رقم

Role Object

First Record : allows moving to the first record of the table .

Previous Record : allows to move one record back (if there is

one).

Record Indicator : Displays the number representing the

current record .

Next Record : allows moving you one record ahead .

Last Record : allows moving you to the last record of the

table .

New Record : use to enter a new record on the table .

Page 100: Visual Basic

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

)فيجوال بيسـك &أآسـس (

87

Introduction: المقدمة 1 – 3وذلك من خالل آيفية عمل وتكوين ملف قاعدة بيانات في هذا الفصل سيتم التعرف على

الشئ المهم ذآره . سمح لنا بالتعامل مع ملفات القاعدة ت احدى آائنات الفيجوال بيسك والتي أستخدام

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

، اال انه وبالرغم من األمكانيات التي يوفرها في تصميم قواعد البيانات يمكننا Databasesالبيانات

يكروسوفت أآسس االحصول على دعم أفضل من خالل أستغالل األمكانيات التي يوفرها لنا برنامج م

لذلك ومن أجل الحصول . ل مانحتاج اليه في تصميم قواعد البيانات حيث أنه مصمم أصال لتنفيذ آ

يكروسوفت أآسس وذلك من اعلى تصميم أفضل سنقوم بتصميم قاعدة بيانات بأستخدام برنامج م

مع تحديد نوع بيانات الحقول المطلوبة عن بيانات الملفخالل تصميم جدول لملف معين يحوي آافة

ومن ثم ة وتحديد الخصائص المتاحة لكل حقل من حقول الجدول ، آل حقل من الحقول المستخدم

من خالل استخدام آائن الربط ، وبذلك سيتم أستغالل فيجوال بيسكربط هذه القاعدة مع برنامج

يكروسوفت أآسس ، وهذا ال بيسك وبرنامج ماجميع األمكانيات المتوفرة لدى آـل من برنامج الفيجو

.هو المطلوب

Creating Database Programs: اء برامج قواعد البيانات انش 2 – 3من البرامج الكفوءة في التعامل مع قواعد البيانات ، حيث يعتبر برنامج لغة فيجوال بيسك

:وهذه الطرق ، هــي . المختلفة وبعدة طرق مختلفة يوفر لنا مرونة عالية للربط مع قواعد البيانات

. Data Control لمرتبط باألدخالعنصر التحكم ا .1

ي تحميل مكتبة الكائنات ، أ ) Record Set Object( آائن مجموعة السجالت .2

)DAO object library . (

. ADO Data Controlآائن البيانات .3

The Bound Input Control: عنصر التحكم المرتبط باألدخال 3 – 3بعنصر الوصول للبيانات حيث يعتبر بمثابة حلقة الوصل بين الفيجوال Dataمى الكائن يس

يمكن اعتبار . FoxProأو Oracleأو SQL Serverأو Accessبيسك وقواعد البيانات مثل

. MS-Access 97هو األساسي في عملنا حاليا للربط مع قواعد البيانات من نوع Dataالكائن

:لتي يرتبط بها هذا الكائن مع القاعدة ، هــي والخصائص ا

Page 101: Visual Basic

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

)فيجوال بيسـك &أآسـس (

88

1 .Database Name : تحديد المسار الكامل لقاعدة البيانات التي ( اسم القاعدة المختارة ومسارها

) .نريد األتصال معها

2 .Record Source : أي تحديد مصدر المختار من القاعدة ) جدول البيانات ( جدول المعطيات ،

. )تحديد اسم الجدول المعين من قاعدة البيانات الذي نريد التعامـل معه ( تالسجال

3 .Connect : نوع قاعدة البيانات المرتبط بها.

أما عنص التحكم أو الكائن الذي يرتبط بحقل البيانات الموجودة في الجدول فهو مربع النص

Text Box .لحقل ، هــي والخصائص التي يرتبط بها مع ا:

1 .Data Source : تحديد اسم عنصر التحكم من النوعData والمرتبط مع جدول في قاعدة

.بيانات ال

2 .Data Field : والذي نريد لعنصر التحكم أن يرتبط معه الجدول مناسم الحقل تحديد .

3 .Caption : األسم المعروض لعنصر التحكم ( العنوان.

4 .Name :برمجي لعنصر التحكم األسم ال)Text Box . (

والموضحة ) Data( ومن أهم الطرق والعمليات التي يتعامل معها آائن عنصر الوصول للبيانات

:، هــي ) 1 – 3( بالجدول رقم

. Add New Record: اضافة سجل جديد .1

. Save Current Record: حفظ السجل الحالي .2

. Cancel Update Current Record: الغاء تحديث السجل الحالي .3

. Delete Current Record: مسح السجل الحالي .4

. Move to First Record: األنتقال الى السجل األول .5

. Move to Last Record: األنتقال الى السجل األخير .6

. Move to Previous: األنتقال الى السجل السابق .7

. Move to Next: التالياألنتقال الى السجل .8

. Is Begin Of File: اختبار الوصول لبداية السجل .9

. Is End Of File: اختبار الوصول لنهاية السجالت .10

. Find First-criteria: البحث عن أول سجل يحقق الشرط .11

Page 102: Visual Basic

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

)فيجوال بيسـك &أآسـس (

89

. Find Next-criteria: البحث عن السجل التالي الذي يحقق الشرط .12

. لبيانات كائن عنصر الوصول لت المرتبطة بالعمليا) : 1 – 3( جدول رقم

Data.RecordSet.MovePrviouseData.RecordSet.AddNew

Data.RecordSet.MoveNextData.UpdateRecord

Data.Record.BOFData.UpdateControls

Data.RecordSet.EOFData.RecordSet.Delete

Data.RecordSet.FindFirst criteriaData.RecordSet.MoveFirst

Data.RecordSet.FindNext criteria Data.RecordSet.MoveLast

Records Navigation: أزرار التنقل عبر السجالت 4 – 3ينقلنا الى أي موقع ضمن الجدول المربوط به ، ولكن وفي حالة Data Controlان الكائن

: لك يكون من خالل الشفرات التالية فان ذ Command Buttonsاستخدام أزرار األوامر

1. Move to the First Record

Private Sub cmdFirst_Click()

On Error GoTo Error

Data1.Recordset.MoveFirst

Error:

If Err.Number = 30 Then

Exit Sub

End If

End Sub

2. Move to the Last Record

Private Sub cmdLast_Click()

On Error Resume Next

Page 103: Visual Basic

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

)فيجوال بيسـك &أآسـس (

90

Data1.Recordset.MoveLast

End Sub

3. Move to the Next Record

Private Sub cmdNext_Click()

On Error Resume Next

Data1.Recordset.MoveNext

If Data1.Recordset.EOF Then

Data1.Recordset.MoveLast

End If

End Sub

4. Move to the Previous Record

Private Sub cmdPrevious_Click()

On Error Resume Next

Data1.Recordset.MovePrevious

If Data1.Recordset.BOF Then

Data1.Recordset.MoveFirst

End If

End Sub

Detect Current Record Position: تحديد موقع السجل الحالي 5 – 3والذي يعطينا القيمة Absolute Positionوقع السجل الحالي بأستخدام األيعازيتم تحديد م

لكي يكون واضح أمام المستخدم ،) رقم السجل ( الفعلية لموقع السجل الحالي مضافا اليه الرقم

. Record Countاأليعاز وبمساعدةذا ـه

Private Sub Data1_Reposition()

Data1.Caption = "Record : " & Data1.Recordset.AbsolutePosition + 1 _

Page 104: Visual Basic

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

)فيجوال بيسـك &أآسـس (

91

& " of " & _

Data1.Recordset.RecordCount

End Sub

: وآاألتي آذلك يجب آتابة الشفرة التالية على النموذج عندما يكون حدث النموذج نشطا ،

Private Sub Form_Activate()

On Error GoTo Error

DU = 0

Data1.Recordset.MoveLast

Data1.Recordset.MoveFirst

Error:

If Err.Number = 30 Then

Exit Sub

End If

End Sub

Adding New Record: اضافة سجل جديد 6 – 3حظة أنه بعد آل عملية اضافة جديدة يجب زيادة العداد الخاص سيتم اضافة قيد جديد مع مال

. ) Data( عنصر الوصول للبيانات بمؤشر آائن

Private Sub cmdNewRecord_Click()

Data1.Recordset.AddNew

Data1.Caption = Data1.Recordset.RecordCount + 1 _

& " of " & _

Data1.Recordset.RecordCount + 1

End Sub

Saving Current Record: حفظ السجل الحالي 7 – 3

: بعد تكوين سجل جديد يمكن حفظ بياناته من خالل آتابة الشفرة التالية

هذه العالمة تعني تكملة سطر البرنامج بالسطر الثاني

Page 105: Visual Basic

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

)فيجوال بيسـك &أآسـس (

92

Private Sub cmdSaveRecord_Click()

Data1.UpdateRecord

Data1.Recordset.MoveLast

End Sub

OR

Private Sub cmdSaveRecord_Click()

Data1.UpdateRecord

Data1.Recordset.Bookmark = Data1.Recordset.LastModified

End Sub

.للسجل ) األخير ( تمثل تأشيرة أو دالة لبيان الموقع الحالي Bookmarkحيث أن

Cancel Saving: الغاء تحديث السجل الحالي 8 – 3مع مالحظة أنه يعمل فقط عند بقاء UpdateControls أليعازستخدم افي هذا المطلب ن

.المؤشر على السجل الحالي

Private Sub cmdCancelUpdate_Click()

Data1.UpdateControls

End Sub

Deleting Current Record: حذف السجل الحالي 9 – 3بعد اجراء عملية الحذف يتم الرجوع . حذف سجل يعني حذف قيد آامل مع جميع بياناته

ومن ثم مسح جميع الى السجل السابق وفي حالة األستمرار بعملية الحذف سنصل الى أول سجل

.سجالت الجدول

Private Sub cmdDelete_Click()

On Error GoTo Error

Data1.Recordset.Delete

Data1.Recordset.MovePrevious

If Data1.Recordset.BOF Then

Page 106: Visual Basic

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

)فيجوال بيسـك &أآسـس (

93

Data1.Recordset.MoveFirst

End If

Error:

If Err.Number = 30 Then

Exit Sub

End If

End Sub

Searching: البحث عن بيانات الحقول 10 – 3من الوظائف المهمة التي تجرى على قاعدة البيانات هي البحث عن بيانات معينة داخل

معينة توضع مسبقا من قبل مصمم قاعدة البيانات ، والتي تساعدنا في حقول القاعدة وفقا لشروط

عليها ، آذلك لمعرفة فيما اذا آان عنصر ما البيانات واجراء التعديالت الالزمة سرعة عرض

وهي ايعاز Data Controlسيتم استخدام ايعازات البحث التابعة للكائن . موجود ضمن القاعدة أم ال

)FindFirst و ايعازFindNext ( . عن أول قيمة ضمن حقل حيث يستخدم األيعاز األول للبحث

أما األيعاز الثاني فيستخدم للبحث عن القيمة التالية لنفس بيانات الحقل مع امكانية معرفة . البيانات

:التالية اتمدى تكرار هذه القيمة ضمن الحقل نفسه ، وذلك من خالل آتابة الشفر

Searching for Number Field

Private Sub cmdSearchNo_Click()

On Error Resume Next

n = InputBox("Enter the Number")

Data1.Recordset.FindFirst "[Code]=" & n

If Data1.Recordset.NoMatch = True Then

MsgBox "Try Again", vbOKOnly, "Error Number"

End If

End Sub

أسم حقل الرقم المعرف في قاعدة بيانات أآسس

قد تم استخدام متغيرات وهي التاليفي البرنامج : مالحظة

)n , NA , DU , DA (وذلك في لذلك البد من تعريفها

Dim n As Integer : وآاألتي Generalقلئمة

Dim NA As String

Dim DU As Integer

Dim DA As Date

Page 107: Visual Basic

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

)فيجوال بيسـك &أآسـس (

94

Searching For Birth Field

Private Sub cmdSearchDate_Click()

On Error Resume Next

DA = InputBox("Enter the Birth")

Data1.Recordset.FindFirst "[birth]=#" & DA & "#"

If Data1.Recordset.NoMatch = True Then

MsgBox "Try again", vbOKOnly, "Error Birth"

End If

End Sub

Searching For Text Field

Private Sub cmdSearchText_Click()

DU = 0

NA = InputBox("Enter The Name")

Data1.Recordset.FindFirst "[name]=' " & NA & " ' "

If Data1.Recordset.NoMatch = True Then

MsgBox "Try again", vbOKOnly, "Error Name"

Else

DU = DU + 1

End If

End Sub

Searching For Duplicate Text Field

Private Sub cmdDuplicate_Click()

Data1.Recordset.FindNext "[name]=' " & NA & " ' "

If Data1.Recordset.NoMatch = False Then

أسم حقل المواليد المعرف في قاعدة بيانات أآسس

أسم حقل األسم المعرف في قاعدة بيانات أآسس

Page 108: Visual Basic

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

)فيجوال بيسـك &أآسـس (

95

DU = DU + 1

Else

MsgBox "Duplicates of name are :" & DU, vbOKOnly, "Name Repeate"

End If

End Sub

Only Numeric Value: تحديد الكتابة الرقمية 11 – 3نقصد بتحديد الكتابة الرقمية هو جعل الخانة الخاصة بحقل الرقم أو التسلسل والممثلة من

أن يسمح لنا بأدخال قيم رقمية فقط داخل الصندوق ) Text Box( خالل آائن صندوق البيانات

. Keyboardوقفل باقي أزرار لوحة المفاتيح

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

.فقط Deleteالحذف

Private Sub Text1_KeyPress(KeyAscii As Integer)

If Chr(KeyAscii) Like "[0-9]" Or KeyAscii = 8 Then

Else

KeyAscii = 0

End If

End Sub

) . 1 – 3( وبعد تنفيذ البرنامج سيظهر لنا ملف قاعدة البيانات بالشكل رقم

تنفيذ برنامج ملف قاعدة بيانات الطالب) : 1 – 3( شكل رقم

Page 109: Visual Basic

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

)فيجوال بيسـك &أآسـس (

96

Project References Microsoft DAO 3.51 Object Library

Visual Basic Database Object: يات في قواعد البيانات آائن المعط 12 – 3ان آائن المعطيات الرئيسي الذي يتعامل مع قواعد البيانات في الفيجوال بيسك برمجيا هو

يات وهو العنصر الذي يحدد سجالت المعط. ) Record Set Object( آائن مجموعة السجالت

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

) .أستعالم ( هيئة أعمدة وصفوف ، حيث تكون اما على شكل جدول آامل أو جزء من جدول

: من أهمها ، و) Record Set( لكائن مجموعة السجالت أنواع مختلفة بشكل عام هناك

) . Dynaset( وعة سجالت من نمط مجموعة ديناميكية مج .1

) . Table( مجموعة سجالت من نمط جدول .2

أي من غير استخدام ( لغرض ربط برنامج لغة فيجوال بيسك مع قواعد البيانات برمجيا : مالحظة

:وذلك عن طريق اختيار األمر التالي ، نحتاج الى مايسمى بمكتبة البرمجة ) Dataالكائن

) 2 – 3( الحظ الشكل رقم . MS- Access 97والذي يستخدم للربط مع قواعد البيانات من نوع

: من خالل اختيار األمر التالي Ms- Office XPآما ويمكن الربط مع أنواع اخرى مثل

Project References Microsoft DAO 3.6 Object Library

DAO Object Libraryمكتبة البرمجة تحميل) : 2 – 3( شكل رقم

Page 110: Visual Basic

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

)فيجوال بيسـك &أآسـس (

97

Dynaset – Type Record Set Data Objectآائن المعطيات 1 – 12 – 3 هي آائن المعطيات األآثر شيوعا وأستخداما) Dynaset( ان المجوعة الديناميكية

، وتستخدم في عمليات البحث والحذف والتحديث واألضافة واألنتقال عبر في الفيجوال بيسك

اآرة الحية بحجز جزءا من الذ متقوهذه المجموعة . سجالت القاعدة وغيرها من الوضائف األخرى

)RAM ( وأحيانا من القرص الصلب اذا آان حجم السجالت المطلوبة فيها أآبر من حجم الذاآرة

وتعتبر من الكائنات الوحيدة القابلة للتحديث والمستخدمة في قواعد البيانات المترابطة عبر . الحية

. ODBCنموذج

؟ ODBCوالـ DAOالـ ماالمقصود ب

قواعد و DAO (Data Access Object( آائن الوصول للبيانات آال من يعتبر

تستخدم لبرمجة بينية واجهات ODBC (Open Database Connectivity( البيانات المترابطة

والتي Application Programming Interfaces ( APIs )التطبيقات بلغة الفيجوال بيسك

واعد البيانات وبشكل مستقل عن نظام أدارة قواعد البيانات تمكننا من آتابة وتنفيذ برامج ق

)DBMS . (

للربط DAOبشكل عام يقوم مبرمجي قواعد البيانات بأستخدام آائن الوصول للبيانات

سك وذلكبين قواعد البيانات المصممة ببرنامج مايكروسوفت أآسـس مع برنامج لغة فيجوال بي

والذي) Microsoft Jet database engine( من خالل أستخدام محرك قواعد البيانات

database objectsآائنات الوصـول للبيانـات مثـل مجموعة من تجهيزبدوره سيقوم ب

يث أن آائن الوصول للبيانات ، ح recordset objects و querydef object tabledef and و

DAO يعمل بشكل أفضل مع ملفات قواعد البيانات التي يتم تصميمها من خالل برنامج

من ODBCمصادر قواعد البيانات المترابطة آذلك يمكن الوصول الى .مايكروسوفت أآسس

.ومحرك قواعد البيانات DAOخالل آائن الـ

التـة السجـن مجموعـائـدام آـخـات بأستـد البيانـج قواعـم برامـد تصميـعن :ةــمالحظ

)Record Set Object (ان الكائن ـفData Control الى في هذه الحالة نحتاج. لن يستخدم

: تعريف متغيرين وهما على التوالي

Page 111: Visual Basic

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

)فيجوال بيسـك &أآسـس (

98

Dim DB As Database ‘ ت أآسساتحديد أسم قاعدة بيان

Dim RS As Recordset ‘ الجدول من القاعدة أسم تحديد

ات ـدة البيانـل مع قاعـآيفية التعام يبين) 3 – 3( والموضح بالشكل رقم اهـج آدنـالبرنام

. Dynasetمن نوع ) Record Set ( ن البرمجةـالل آائـن خـم

Add New Record :

Private Sub cmdAddUpdate_Click()

Set DB = DBEngine.OpenDatabase(App.Path + "\new.mdb")

Set RS = DB.OpenRecordset("info", dbOpenDynaset)

RS.AddNew

Dynasetقاعدة البيانات من خالل الكائن مجموعة السجالت برمجة ملف: ) 3 – 3( شكل رقم

أو المسار Directoryأيعاز يستخدم لتحميل الدليل Path الخاص بقاعدة بيانات أآسـس والموجودة ضمن ن برنامج والذي يحوي آال م Folderالمجلد نفـس

. قاعدة بيانات أآسـس لغة فيجوال بيسك و

أسم قاعدة بيانات أآسـس

قاعدة بيانات أآسـسالجدول في أسم

Page 112: Visual Basic

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

)فيجوال بيسـك &أآسـس (

99

If Text1.Text = " " Or Text2.Text = " " Or Text3.Text = " " Then

MsgBox "Try Again", vbCritical, "Fields Are Empty"

Exit Sub

End If

RS.Fields("number") = Text1

RS.Fields("name") = Text2

RS.Fields("age") = Text3

RS.Update

MsgBox "Thank You", vbOKOnly, "Record Is Created"

Text1.Text = ""

Text2.Text = ""

Text3.Text = ""

RS.Close

End Sub

Change The Last Name :

Private Sub cmdAllUpdateEnd_Click()

On Error Resume Next

Set DB = DBEngine.OpenDatabase(App.Path + "\new.mdb")

Set RS = DB.OpenRecordset("info", dbOpenDynaset)

NA = InputBox("Enter The New Name", "Replace Name")

RS.MoveLast

RS.Edit

RS.Fields("name") = NA

RS.Update

RS.MoveFirst

Page 113: Visual Basic

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

)فيجوال بيسـك &أآسـس (

100

Do Until RS.EOF = True

Print RS.Fields("name")

RS.MoveNext

Loop

RS.Close

End Sub

Display All Names :

Private Sub cmdAllNames_Click()

Set DB = DBEngine.OpenDatabase(App.Path + "\new.mdb")

Set RS = DB.OpenRecordset("info", dbOpenDynaset)

RS.MoveFirst

Cls

Do Until RS.EOF = True

Print RS.Fields("name")

Print

RS.MoveNext

Loop

RS.Close

End Sub

The Table – Type Record Set Data Object آائن المعطيات 2 – 12 – 3 الفهرسة دالئل البحث وتعريف ويحتاج بذلك الى ) Seek( هذا النمط يستخدم ايعاز البحث

)Index ( حيث يستخدم في عمليات البحث المفهرس.

وعرضها البيانات الموجودة ضمن القاعدة والبحث عن قراءة يقوم ب البرنامج التالي

. Index Field بأستخدام خاصية

Page 114: Visual Basic

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

)فيجوال بيسـك &أآسـس (

101

Add-Ins Visual Data Manager File New

Microsoft Access Version 7.0 MDB

: خطوات عمل البرنامج

Index الفهرسةت ومن ثم نخصص ألحد حقول القاعدة دليل بياناالنقوم بتصميم قاعدة .1

. عند ربطها مع برنامج لغة فيجوال بيسك برمجيا والذي من خالله سيتم التعامل مع القاعدة

) 4 – 3( بالشكل رقم وآما موضح يمكن تصميم قاعدة البيانات من داخل الفيجوال بيسك .2

: وذلك من خالل األمر التالي

تصميم قاعدة البيانات من داخل الفيجوال بيسك) : 4 – 3( شكل رقم

سنقوم األن بكتابة البرنامج التالي وذلك بأستخدام آائن البرمجة مجموعة السجالت

) . 5 – 3( والذي سيظهر عند التنفيذ بالشكل رقم Tableنوع من

Dim N As Integer

Dim DB As Database

Dim RS As Recordset

Page 115: Visual Basic

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

)فيجوال بيسـك &أآسـس (

102

Private Sub cmdSearch_Click()

Cls

On Error GoTo error

Set DB = DBEngine.OpenDatabase(App.Path + "\new.mdb")

Set RS = DB.OpenRecordset("info", dbOpenTable)

N = InputBox("Enter the Number")

error:

If Err.Number = 13 Then

Exit Sub

End If

RS.Index = "ndx" ‘ الرقم تخصيص دليل الفهرسة على حقل

RS.Seek "=", N

If RS.NoMatch = False Then

Print "Number : " & RS.Fields("no")

Print "Name : " & RS.Fields("Name")

Print "Birth : " & RS.Fields("Birth")

Print "Age : " & RS.Fields("Age")

End If

End Sub

Tableبرمجة ملف قاعدة البيانات من خالل الكائن مجموعة السجالت ) : 5 – 3( شكل رقم

Page 116: Visual Basic

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

)فيجوال بيسـك &أآسـس (

103

ADO Data Controlآائن البيانات 13 – 3، حيث يساعدنا في Data Controlالمرتبط باألدخال هذا الكائن عنصر التحكميشبه

اجراء آافة العمليات المطلوبة من وفتح القاعدة ومن ثم الربط المباشر والسريع مع قواعد البيانات

وذلك من خالل مجهز قواعد البيانات )، األنتقال من قيد ألخر اضافة قيد ، حذف قيد ، تحديث قيد (

OLE DB provider آذلك امكانية عمل تقرير ،Report ح خالصة العمل ، وغيرها من يلتوض

. األمكانيات األخرى

بسهولة أستخدامه ADO (Microsoft ActiveX Data Object( يتميز آائن الـ

مع األمكانيات التي يوفرها ع قواعد البيانات وحجزه مساحة صغيرة من الذاآرة وسرعته في الربط م

، حيث client / server and web-based application في بناء التطبيقات الخاصة بالشبكات

من خالل نقل البيانات من الـ RDS (Remote Data Service( يقوم بخدمة البيانات عن بعد

Server الى الـClient صفحة الشبكة أو عبرWeb page ليتم معالجة البيانات وأجراء العمليات

ضمن دورة واحدة Serverالى الـ ثم أرجاعها Clientمن قبل الـ updateالمطلوبة عليها

Connect the ADO Data Control to a data-bound control such as the Data

Grid, Data Combo, or Data List control by setting the Data Source property

to the ADO Data Control.

من خالل ) 6 – 3( والموضح بالشكل رقم الى المشروع ) ADO( يتم اضافة آائن

: اختيار األمر التالي

Project Components Microsoft ADO Data Control 6.0

( OLEDB )

Page 117: Visual Basic

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

)فيجوال بيسـك &أآسـس (

104

ADOاضافة آائن الوصول للبيانات ) : 6 – 3( شكل رقم

الى النموذج حيث سيظهر لنا ADO سيتم اضافة الكائن Applyبعد الضغط على األمر

قاعدة بيانات أآسـس مع ربط الفي الكائن في صندوق األدوات بهذا الشكل وبأمكاننا استخدامه

: وبطريقتين

TextBoxالى النموذج وآذلك اضافة مربعين نص ADOيتم اضافة الكائن :الطريقة األولى

) . 7 – 3( آما في الشكل رقم Labelوصندوقين للعنوان

ADOبرنامج قاعدة البيانات بأستخدام الكائن متصمي) : 7 – 3( شكل رقم

Page 118: Visual Basic

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

)فيجوال بيسـك &أآسـس (

105

موضح آما اضافتها الى النموذج والتي تم )األدوات ( نقوم بتغيير خصائص الكائنات

. ) 2 – 3( بالجدول رقم

. تغيير خصائص الكائنات ) : 2 – 3( قم جدول ر

القيمة الخاصية األداة

Label1 Caption Name

Label1 Font Bold- Size 10

Label2 Caption Telephone Number

Label2 Font Bold- Size 10

Text1 Text فارغ

Text1 Alignment Right justify

Text2 Text فارغ

Text2 Alignment Right justify

). 8 – 3( آما بالشكل رقم Customائص الخاصية صونختار من صندوق الخ ADOنختار األداة

ADOخصائص آائن البيانات ) : 8 – 3( شكل رقم

Page 119: Visual Basic

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

)فيجوال بيسـك &أآسـس (

106

، أو من خالل نقر زر ) 9 – 3( الموضحة بالشكل رقم ستظهر لنا صفحة الخصائص

. ADODC Propertiesوأختيار األمر ADO الفأرة األيمن على الكائن

ADOصفحة خصائص آائن البيانات ) : 9 – 3( شكل رقم

ثم نوم ADOسنقوم األن بربط قاعدة بيانات أآسس بالفيجوال بيسك عن طريق األداة

:، وآاألتـي ADOربط حقول القاعدة مع الفيجوال بيسك ايظا من خالل األداة

Use ODBC Connection Stringاألمر الثاني Property Pagesنختار من نافذة

.) 10 – 3( آما بالشكل رقم التي بجوارها Newثم الضغط على آلمة ن، وم

ADOم آائن بيانات ربط برنامج الفيجوال بيسك بقاعدة بيانات أآسـس بأستخدا) : 10 – 3( شكل رقم

Page 120: Visual Basic

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

)فيجوال بيسـك &أآسـس (

107

مصدر ار الثاني والذي من خالله سيتم تحديد نوع ستظهر لنا نافذة أخرى نختار منها األختي

. Nextاألمر والضغط على ) 11 – 3( البيانات وآما موضح بالشكل رقم

تحديد نوع مصدر البيانات) : 11 – 3( شكل رقم

نختار ) 12 – 3( آما في الشكل رقم ستظهر لنا نافذة أخرى ألختيار نوع قاعدة البيانات

. Microsoft Access Driver ( *.mdb ) اـمنه

أآسـس من نوع مايكروسوفت بياناتالقاعدة تحديد) : 12 – 3( شكل رقم

Page 121: Visual Basic

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

)فيجوال بيسـك &أآسـس (

108

ستظهر لنا نافذة أخرى . Finishعلى الزر نضغط و ستظهر نافذة أخرى ، Nextضغط ن

مع أعطاء أسم لمصدر يتم فيها تحديد مكان قاعدة البيانات على الجهاز) 13 – 3( آما في الشكل

.بيانات القاعدة

اعدة بيانات أآسـس وأسم مصدر بياناتهامكان ق تحديد) : 13 – 3( شكل رقم

)عبارة أختيارية( Telephone Indexنكتب العبارة Data Source Nameفي خانة الـ

وأختيار قاعدة البيانات ) 13 – 3( بالشكل رقم الموضح Select ، ثم الضغط على األمر

ثم الضغط ) األسم ، رقم الهاتف ( المصصمة مسبقا والتي تحتوي على جدول مكون من حقلين

الرئيسية ، نقوم بأختيار العبارة Customبعد ذلك سنعود الى نافذة . على األمر موافق

"Telephone Index "رقم من القائمة المنسدلة الموجودة في األختيار الثاني ، وآما في الشكل

Telephone" بالعبارة األختيارية والمحدد أسم مصدر البيانات أختيارث سيتم ، حي) 14 – 3(

Index " وأخيرا يتم الضغط على األمر موافق ،OK .

Page 122: Visual Basic

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

)فيجوال بيسـك &أآسـس (

109

أسم مصدر بيانات القاعدة أختيار) : 14 – 3( شكل رقم

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

Record Sourceالذي سنقوم بأحضار البيانات منه ، وذلك بتغيير الخاصية جدولالدور لتحديد ال

حيث سيتم أختيار أسم الجدول المصمم مسبقا ) 15 – 3( والتي ستظهر بالشكل رقم ADOلألداة

.ضمن قاعدة البيانات

جدول قاعدة البيانات تحديد) : 15 – 3( شكل رقم

Page 123: Visual Basic

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

)فيجوال بيسـك &أآسـس (

110

، حيث سنجعلها ) 3 – 3( والموضحة بالجدول رقم بعد ذلك يأتي دور صناديق النصوص

. بعض خصائصها وذلك من خالل تغييرعرض بيانات القاعدة تقوم ب

. تغيير خصائص صناديق النص ) : 3 – 3( جدول رقم

القيمة الخاصية األداة

Text1 Data Source Adodc1

Text1 Data Field Name

Text2 Data Source Adodc1

Text2 Data Field Telephone Number

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

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

. لكي نبدل بين السجالت Adodc1األداة

، Access 2003نستطيع ربط الفيجوال بيسك مع قاعدة بيانات ADOبأستخدام األداة :مالحظة

. Data Controlوهذا مايمزها عن األداة Access 97اضافة الى قاعدة بيانات

قاعدة مع بياناتها جدول الحقول عرض والى النموذج ADOيتم اضافة الكائن : الطريقة الثانية

Data Grid Controlحيث سيتم أستخدام الكائن ، دون الحاجة ألستخدام آائن صندوق النص

:وذلك من خالل أختيار األمر التالي Tool Boxوالذي سيظهر في صندوق األدوات

Customن صندوق الخائص الخاصية ونختار م ADO الكائن اريختأبعد ذلك نقوم ب

األمر الثالث منها نختار ،) 9 – 3( الموضحة بالشكل رقم Property Pagesفتظهر لنا نافذة

Use Connection String ثم نضغط فوق األمرBuild فتظهر لنا نافذة خصائص الربط

Project Components Microsoft Data Grid Control 6.0

Page 124: Visual Basic

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

)فيجوال بيسـك &أآسـس (

111

Microsoft jet 4.0 OLE DBحيث نختار منها الخاصية ) 16 – 3( الموضحة بالشكل رقم

Provider .

نافذة خصائص ربط البيانات) : 16 – 3( شكل رقم

من خالل أختيار مع القاعدة المصصمة مسبقا ADOونقوم بربط الكائن Nextثم نضغط

من خالل مع امكانية اختبار الربط، ) 17 – 3( وآما موضح بالشكل رقم Connectionاألمر

. Test Connectionمر األ

مع القاعدة وأختبار الربط ADOربط آائن البيانات ) : 17 – 3( شكل رقم

Page 125: Visual Basic

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

)فيجوال بيسـك &أآسـس (

112

آما في الشكل رقم مع الجدول الموجود في قاعدة البيانات بعد ذلك نقوم بربط الكائن

بهذه الحالة . ق وافمومن ثم ضغط Record Sourceوذلك من خالل أختيار األمر ) 18 – 3(

.مع القاعدة ADO قـد تم ربط الكائن

بجدول القاعدة من خالل مصدر البيانات ADOربط آائن البيانات ) : 18 – 3( شكل رقم

Data Sourceيتم من خالل خاصية ADOمع األداة Data Gridلغرض ربط الكائن و

عرض بذلك سيتم Retrieve Fieldsومن ثم نقر زر الفأرة األيمن على آائن الشبكة وأختيار األمر

والحذف والتحديث ، وآما )أضاقة قيد جديد ( الحقول وبياناتها مع أمكانية أجراء عمليات األضافة

) . 19 – 3( موضح ذلك بالشكل رقم

Data Grid من خالل آائنأجراء العمليات المختلفة على بيانات القاعدة ) : 19 – 3( شكل رقم

Page 126: Visual Basic

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

)فيجوال بيسـك &أآسـس (

113

) . 20 – 3( وبعد التنفيذ سيظهر لنا البرنامج بالشكل رقم

Data Gridن خالل آائن بالقاعدة م ADOربط آائن البيانات ) : 20 – 3( شكل رقم

Creating Reports in Databases: التقارير في قواعد البيانات 14 – 3

بعد األنتهاء من ربط قاعدة بيانات أآسس ببرنامج لغة فيجوال بيسك نستطيع عمل ورقة

هذا مانطلق ، ووطباعتها لتلخيص البيانات مع أمكانية تنسيقها بما يتالئم وحسب رغبة المصصم

" .التقرير " عليه أسم

:ولغرض عمل التقرير نتبع الخطوات التالية

: التالي امج لغة فيجوال بيسك نختار األمرمن شريط القوائم والذي يظهر في برن .1

) . 21 – 3( الشكل رقم سيظهر لنا

Project Add Data Environment

الى المشروع Data Environmentاضافة بيئة البيانات ) : 21 – 3( شكل رقم

Page 127: Visual Basic

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

)فيجوال بيسـك &أآسـس (

114

: التالي من شريط القوائم نختار األمر .2

) . 22 – 3( سيظهر لنا الشكل رقم

اضافة تقرير لبيانات القاعدة الى المشروع) : 22 – 3( شكل رقم

ننقر زر الفأرة Data Environmentوالذي يظهر في نافذة Connectionمن األمر .3

وآما Next، ثم نحدد نوع خاصية الربط ونضغط Propertiesاأليمن ونختار األمر

. ) 23 – 3( بالشكل رقم موضح

Project Add Data Report

Connection1 Properties Microsoft jet 4.0 OLE

DB Provider

Page 128: Visual Basic

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

)فيجوال بيسـك &أآسـس (

115

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

. مع أمكانية أختبار عملية الربط مع القاعدة) 24 – 3( الشكل رقم

تحديد أسم قاعدة البيانات المصممة مسبقا ) : 24 – 3( شكل رقم

تحديد نوع خاصية ربط التقرير) : 23 – 3( شكل رقم

Page 129: Visual Basic

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

)فيجوال بيسـك &أآسـس (

116

لذلك، والذي من خالله سنقوم بعرض التقرير Command Buttonنقوم بعمل زر أمر .5

زر الفأرة األيمن على األمر طه مع بيانات القاعدة وذلك من خالل نقر البد من رب

Connection1 ونختار األمرAdd Command ثم ننقر زر الفأرة األيمن على األداة ،

Command1 ونختار األمرProperties 25 – 3( ، وآما موضح ذلك بالشكل رقم . (

عرض التقرير من خالل آائن زر األمر) : 25 – 3( شكل رقم

واألمر Database Objectنقوم بتحديد الجدول الذي سنعرض بياناته من خالل األمر .6

Object Name سنالحظ أن األداة .وأخيرا نضغط موافقCommand1 مرتبطة مع

) . 26 – 3( آما في الشكل رقم حقول الجدول

ربط آائن زر األمر مع حقول الجدول) : 26 – 3( شكل رقم

Page 130: Visual Basic

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

)فيجوال بيسـك &أآسـس (

117

آما في الشكل رقم نقوم بتصميم واجهة عرض التقرير Data Report1من نافذة الـ .7

الحقول المستخدمة في أو اسم عناويين( Labelsمن خالل أضافة عناويين ) 27 – 3(

مع أمكانية أضافة صور ورسوم واجراء Page Headerوذلك في صفحة ) جدول البيانات

نقوم بأضافة Detailوفي صفحة . Propertiesالتنسيقات المطلوبة عليها من خالل نافذة

. والتي سيتم فيها عرض بيانات الحقول Text Box أربعة صناديق نص

تصميم واجهة عرض التقرير) : 27 – 3( شكل رقم

من خالل نافذة خصائص Data Environmentمع الـ Data Reportنقوم بربط الـ .8

. Data Sourceختيار الخاصية وأ Data Reportالـ

من خالل نافذة خصائص الـ Commandمع الـ Data Reportنقوم بربط الـ .9

Data Report وأختيار الخاصية Data Member .

من خالل نافذة Commandمع الـ Text Boxنقوم بربط آائنات صندوق النص .10

. Data Memberوأختيار الخاصية Data Reportخصائص الـ

والتي Data Fieldنقوم بربط آل آائن على حدة مع حقول القاعدة من خالل خاصية الـ .11

. Data Reportتظهر في نافذة خصائص الـ

Page 131: Visual Basic

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

)فيجوال بيسـك &أآسـس (

118

الى النموذج ونكتب بداخله الشفرة التالية Command Buttonأخيرا نقوم باضافة زر أمر .12

) : Code Windowمن نافذة الشفرة الخاصة بالكائن (

Private Sub Command1_Click()

DataReport1.Show

End Sub

ستظهر لنا ورقة تحتوي على ملخص لكافة الحقول وبياناتها Open Reportوعند النقر على األمر

. HTML والتي يطلق عليها بالتقرير مع أمكانية طباعتها بجهاز الطابعة وخزنها على شكل ملف

.) 28 – 3( عند التنفيذ سيظهر لنا البرنامج بالشكل رقم

تنفيذ برنامج قاعدة البيانات مع عرض تلخيص لورقة العمل) :28–3(شكل رقم

طباعة ملخص ورقة العمل الخاصة ببيانات القاعدة) : 29 – 3( شكل رقم

Page 132: Visual Basic

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

)فيجوال بيسـك &أآسـس (

119

Database Using Wizard: قاعدة البيانات بأستخدام المعالج 15 – 3 في تصميم برامج قواعد البيانات بدون آتابة أي شفرة برمجية Wizardيستخدم المعالج

)Code (، ولعمل ذلك نتبع الخطوات التالية:

. MS-Access 97ن من نوع قاعدة البيانات بأستخدام المعالج يجب أن تكو: مالحظة

نختار األمر Add-Insمن القائمة ونقوم بفتح مشروع جديد في الفيجوال بيسك .1

Add-In Manager .

نضغط عليها مرتين حتى تظهر VB6 Data Form Wizardتظهر لنا قائمة نختار منها .2

. OKوافق ، ثم نضغط م ) 30 – 3( الشكل رقم آما في Loadedبجوارها آلمة

تكوين قاعدة البيانات بأستخدام المعالج) : 30 – 3( شكل رقم

الى Data Form Wizardمرة ثانية سنالحظ أنه قد تم اضافة Add-Insنفتح القائمة .3

عندها ستظهر لنا نافذة نضغط على ، نقوم بأختيارها) 31 – 3( آما في الشكل رقم القائمة

. Nextالزر

وذج البياناتممعالج ن) : 31 – 3( شكل رقم

Page 133: Visual Basic

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

)فيجوال بيسـك &أآسـس (

120

) 32 – 3( والموضحة بالشكل رقم ستظهر لنا نافذة جديدة تطلب منا تحديد نوع الربط .4

. Accessنختار

تحديد نوع الربط مع قاعدة البيانات) : 32 – 3( شكل رقم

ها التي نريد ستظهر لنا نافذة تطلب منا تحديد أسم القاعدة Nextبعد الضغط على األمر .5

آما في الشكل Nextومكانها ، حيث سنقوم بتحديد مكان القاعدة ونضغط مرة أخرى

. ) 33 – 3( رقم

تحديد أسم قاعدة بيانات أآسـس ومسارها) : 33 – 3( شكل رقم

Page 134: Visual Basic

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

)فيجوال بيسـك &أآسـس (

121

تطلب منا تحديد أسم النموذج ) 34 – 3( والظاهرة بالشكل رقم تظهر لنا نافذة جديدة .6

Form ده ثم نحدد النوع بــ الذي سنجعل فيه البرنامج ، حيث سنقوم بكتابة األسم الذي نري

ADO Code األمر ، بعدها نضغط علىNext .

في حالة آون القاعدة تحتوي ( تظهر نافذة تطلب منا تحديد أسم الجدول الذي سنستخدمه .7

بعد أختيار الجدول ستظهر على . ) 35 – 3( آما في الشكل رقم )على أآثر من جدول

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

. Nextنضغط ، ثم أمكانية عمل فهرسة للحقل

جدول قاعدة البيانات والحقول المطلوبةأختيار أسم ) : 35 – 3( شكل رقم

تحديد أسم نموذج قاعدة البيانات بأستخدام المعالج) : 34 – 3( شكل رقم

Page 135: Visual Basic

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

)فيجوال بيسـك &أآسـس (

122

) 36 – 3( آما في الشكل Select Allالتي ستظهر في النموذج نقوم بأختيار جميع األزار .8

. رةبة أي شفبذلك فقد قمنا بعمل برنامج بدون أن نقوم بكتاو Finishوأخيرا Nextثم ضغط

ستخدام المعالجلتحكم الخاصة بقاعدة البيانات بأتحميل أزرار ا) : 36 – 3( شكل رقم

حيث يمكن أجراء عمليات ) 37 – 3( نامج بعد التنفيذ بالشكل رقم سيظهر لنا البرأخيرا .9

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

بالصورة أدناه مع مالحظة أن آل زر من هذه األزرار يحتوي على شفرة خاصة به تم

. أنشائها من قبل البرنامج نفسه والتي يمكن الدخول اليها من خالل نافذة الشفرة

تنفيذ برنامج قاعدة البيانات بأستخدام المعالج) : 37 – 3( شكل رقم

Page 136: Visual Basic

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

)فيجوال بيسـك &أآسـس (

123

) 38 – 3( آما في الشكل رقم في حالة آون المشروع يحتوي على أآثر من نموذج: مالحظة

وذلك من خالل أختيار في المقدمة أثناء تنفيذ المشروع نستطيع اظهار النموذج الذي نريده أن يظهر

:األمر التالي

Structured Query Language ( SQL): لمهيكلةلغة األستفسارات ا 16 – 3دة البيانات يانات معينة ضمن قاعلألستعالم عن بضمن اية لغة برمجية هذه اللغة تستخدم

. ، وتسمى أيضا بلغة األستفسارات البنيوية وذلك وفق شروط محددة مسبقا من قبل مصمم القاعدة

بواسطة هذه اللغة يمكن استرجاع البيانات التي نحتاجها من القاعدة ، أو تصفيتها حسب شرط معين

. Relational DBقواعد البيانات العالئقية ، وآذلك أدارة أو ترتيبها تصاعديا أو تنازليا

Types of SQL) : البنيوية ( أنماط لغة األستفسارات المهيكلة 1 – 16 – 3في أي مكان من خالل أسم الجدول أو أسم SQL Selectيمكن أستخدام عبارة األختيار

ألستدعاء أسم جدول SQLعبارة الـ األستعالم أو أسم الحقل ، فعلى سبيل المثال يمكن أستخدام

هناك أربعة أشكال بشكل عام . Open Recordsetقاعدة البيانات بطريقة آائن مجموعة السجالت

:، وهي آاألتي SQLرئيسية لتنفيذ لغة

: عرض جميع حقول وسجالت قاعدة البيانات ، والصيغة العامة لها . 1

Project Project1 Properties General Startup Object

تحديد النموذج األول أثناء تنفيذ المشروع ) : 38 – 3( شكل رقم

Page 137: Visual Basic

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

)فيجوال بيسـك &أآسـس (

124

Select * from < table name > .

:، والصيغة العامة لها هاجميع سجالتمع عض حقول القاعدة عرض ب. 2

Select field , field2 from < table > .

:، والصيغة العامة لها باألعتماد على شرط ما رض جميع حقول القاعدة وبعض سجالتها ع. 3

Select * from table where < condition > .

Ex : Select * from info where [ Number ] > 2

:، الصيغة العامة لها باألعتماد على شرط ما عرض بعض حقول وسجالت القاعدة . 4

Select field1 , field2 from table where < condition >

Ex : Select Number , Name from Info where [ Number ] > 2

types programming SQL: برمجة أنماط لغة األستفسارات المهيكلة 2 – 16 – 3

: SQLالبرنامج التالي يوضح آيفية عمل لغة

تحتوي على جدول واحد MS-Access 97نقوم بتصميم قاعدة بيانات مايكروسوفت أآسس . 1

يضـم ثالثـة حقـول ولتكـن أسمائهـا علـى التوالـي “ Information “وليكـن أسمـه

“Number , Name , Marage “ 39 – 3( كل رقم آما في الش ( .

نقوم بفتح مشروع جديد بلغة الفيجوال بيسك ونقوم بأضافة آائن الوصول الى البيانات. 2

Data Control الى النموذج مع أضافة آائن عرض البيانات الشبكيData Bound Grid ،

: وذلك من خالل أختيار األمر التالي Project Component Data Bound Grid Control 5.0 ( SP3 )

جدول قاعدة بيانات أآسـس) : 39 – 3( شكل رقم

Page 138: Visual Basic

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

)فيجوال بيسـك &أآسـس (

125

، ومن ثم ربطه مع Database Nameمع القاعدة من خالل خاصية Data نقوم بربط آائن. 3

. Record Sourceالجدول من خالل خاصية

، ثم Data Sourceمن خالل خاصية Dataمع الكائن Data Bound Gridنقوم بربط آائن . 4

تيار األمر نقوم بربطه مع حقول القاعدة من خالل نقرة يمين بزر الفأرة على آائن الشبكة وأخ

Retrieve Fields مع أمكانية جعل آائن الشبكة قابل ألجراء عمليات األضافة والحذف والتحديث ،

. Propertiesعليه من خالل األمر

أضافة قيد حيث سيتم عند النقر عليهالى النموذج Command Buttonأمر نقوم بأضافة زر. 5

أثناء النقر عليه وآما يقوم بحذف قيد من الشبكة مر ثانيآما نقوم بأضافة زر أ جديد الى الشبكة ،

: وذلك من خالل آتابة الشفرات التالية ) 40 – 3( موضح ذلك بالشكل رقم

Private Sub cmdaddnew_Click()

Data1.Recordset.AddNew

Data1.Caption = Data1.Recordset.RecordCount + 1 _

& " of " & _

Data1.Recordset.RecordCount + 1

End Sub

SQLقاعدة البيانات بأستخدام عبارات الـ ) : 40 – 3( شكل رقم

Page 139: Visual Basic

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

)فيجوال بيسـك &أآسـس (

126

Private Sub cmddelete_Click()

On Error Resume Next

Data1.Recordset.Delete

Data1.Recordset.MovePrevious

If Data1.Recordset.BOF Then

Data1.Recordset.MoveFirst

End If

End Sub

Private Sub Data1_Reposition()

Data1.Caption = "Record : " & Data1.Recordset.AbsolutePosition + 1 _

& " of " & _

Data1.Recordset.RecordCount

End Sub

Private Sub Form_Load()

On Error Resume Next

Data1.Recordset.MoveLast

Data1.Recordset.MoveFirst

End Sub

ثيرها في عرض بيانات الجدول ، وذلك من ومالحظة تأ SQLنقوم األن بأستخدام أيعازات لغة . 6

Loadخالل آتابة الشفرات التالية داخل النموذج عندما يكون حدث النموذج في حالة التحميل

:وآاألتي

Private Sub Form_Load()

On Error Resume Next

Data1.Recordset.MoveLast

Page 140: Visual Basic

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

)فيجوال بيسـك &أآسـس (

127

Data1.Recordset.MoveFirst

Data1.DatabaseName = App. Path + "\students.mdb"

Data1.RecordSource = "select Name from information "

End Sub

). 41 – 3( رقم سيتم عرض بيانات حقل األسم فقط ، وآما موضح ذلك بالشكلبعد تنفيذ البرنامج -

Select Nameبأستخدام عبارة فقط عرض بيانات حقل األسم ) : 41 – 3( شكل رقم

Private Sub Form_Load()

On Error Resume Next

Data1.Recordset.MoveLast

Data1.Recordset.MoveFirst

Data1.DatabaseName = App.Path + "\students.mdb"

Data1.RecordSource = "select number,name from information" _

& " where [number] > 5 "

End Sub

أسم قاعدة البيانات

Page 141: Visual Basic

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

)فيجوال بيسـك &أآسـس (

128

البيانات التي حقل حقل الرقم واألسم فقط مع عرض سجالترنامج سيتم عرض بيانات بعد تنفيذ الب -

) . 42 – 3( ، وآما موضح ذلك بالشكل رقم 5الرقم فيها أآبر من العدد

فقط مع بعض السجالت عرض بيانات حقلي الرقم واألسم) : 42 – 3( شكل رقم

Private Sub Form_Load()

On Error Resume Next

Data1.Recordset.MoveLast

Data1.Recordset.MoveFirst

Data1.DatabaseName = App.Path + "\students.mdb"

Data1.RecordSource = "select * from information" _

& " where [marage]=0 "

End Sub

فقط ينطبق عليها الشرط ، سجالتجميع الحقول مع بيانات أربعة بعد تنفيذ البرنامج سيتم عرض -

) . 43 – 3( وآما موضح ذلك بالشكل رقم

Page 142: Visual Basic

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

)فيجوال بيسـك &أآسـس (

129

Private Sub Form_Load()

On Error Resume Next

Data1.Recordset.MoveLast

Data1.Recordset.MoveFirst

Data1.DatabaseName = App.Path + "\students.mdb"

Data1.RecordSource = "select * from information " _

& " order by name desc"

End Sub

، وآما موضح ذلك بعد تنفيذ البرنامج سيتم عرض جميع الحقول والسجالت مع ترتيبها تنازليا -

) . 44 – 3( بالشكل رقم

مع بعض سجالتها عرض جميع حقول القاعدة ) : 43 – 3( شكل رقم

Page 143: Visual Basic

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

)فيجوال بيسـك &أآسـس (

130

الشرطية SQLترتيب بيانات القاعدة تنازليا بأستخدام عبارة : ) 44 – 3( شكل رقم

Private Sub Form_Load()

On Error Resume Next

Data1.Recordset.MoveLast

Data1.Recordset.MoveFirst

Data1.DatabaseName = App.Path + "\students.mdb"

Data1.RecordSource = "select * from information" _

& " where [name] ='ali'"

End Sub

SQLوذلك من خالل عبارة امج سيتم عرض جميع الحقول ولكن لسجل واحد فقط بعد تنفيذ البرن -

) . 45 – 3( ، وآما موضح ذلك بالشكل رقم الشرطية

Page 144: Visual Basic

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

)فيجوال بيسـك &أآسـس (

131

Private Sub Form_Load()

On Error Resume Next

Data1.Recordset.MoveLast

Data1.Recordset.MoveFirst

Data1.DatabaseName = App.Path + "\students.mdb"

Data1.RecordSource = "select * from information " _

& " where [name] like 's*' and " _

& " [number]<=5"

End Sub

الشرطية SQLبعد تنفيذ البرنامج سيتم عرض جميع الحقول ولسجلين فقط وذلك من خالل عبارة -

) . 46 – 3( رقم ، وآما موضح ذلك بالشكل

ع جميع حقول القاعدةمواحد عرض سجل) : 45 – 3( شكل رقم

Page 145: Visual Basic

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

)فيجوال بيسـك &أآسـس (

132

Private Sub Form_Load()

On Error Resume Next

Data1.Recordset.MoveLast

Data1.Recordset.MoveFirst

Data1.DatabaseName = App.Path + "\studentsmdb"

Data1.RecordSource = "select * from information " _

& " where mid$(name,2,1)='o'"

End Sub

الشرطية SQLبعد تنفيذ البرنامج سيتم عرض جميع الحقول ولسجلين فقط وذلك من خالل عبارة -

) . 47 – 3( ، وآما موضح ذلك بالشكل رقم

ين فقط عرض جميع حقول القاعدة مع سجل) : 46 – 3( شكل رقم

عرض جميع حقول القاعدة مع سجلين فقط أعتمادا على حقل األسم) : 47 – 3( شكل رقم

Page 146: Visual Basic

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

)فيجوال بيسـك &أآسـس (

133

Project References Microsoft DAO 3.51 Object Library

Ex \ Implement the following code :

1. Data1.RecordSource = "select * from information " _

& " order by name asc"

2. Data1.RecordSource = "select * from information " _

& " where [name] like '*i'"

3. Data1.RecordSource = "select * from information " _

& " where [name] like '*e?'"

4.

Private Sub cmddisplay_Click()

Dim DB As Database

Dim RS As Recordset

Set DB = DBEngine.OpenDatabase(App.Path + "\students.mdb")

Set RS = DB.OpenRecordset("select mid$(name,1,2),name

from information", dbOpenDynaset)

RS.MoveFirst

Do Until RS.EOF = True

MsgBox " Hello " & RS.Fields(1) & " - " & RS.Fields(0), , " Welcome "

RS.MoveNext

Loop

RS.Close

End Sub

وذلك للحصول على آل التالية مكتبة البرمجةفي البرنامج األخير سنحتاج الى تحميل : مالحظة

: األمكانيات المطلوبة والتي تساعدنا في التعامل مع قواعد البيانات

Page 147: Visual Basic

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

134

1 .Visual Basic - university of technology – academic board – by

Prof. Dr. Abdul Mutalib I. Ahmed 2004 .

) . عن طريق األمثلة ( MS : Visual Basicتعلم . 2

. 2001باسل الخطيب . د: أعداد

3 .Visual Basic 6 – How to .

. 1999 –دايفيد رينالدي ، أنطوني برينس ، ايريك بربرلي : أعداد

4 .MSDN library ( CD ) – Microsoft Developer Network

http ://www.microsoft.com .

5 .Visual Basic 6 نحو برمجة آائنية التوجه للجميعOOP .

) . PDF from internet web page. ( 2002ترآي العسيري : أعداد

.تعلم لغة فيجوال بيسك للمبتدئين والمتوسطين . 6

) . PDF from internet web page( جوزيف شاآر يوسف : أعداد

.موسوعة الفيجوال بيسك . 7

) . PDF from internet web page( محمد علي حسن قاسم : أعداد

8 .Working in Microsoft Office – by

Ron Mansfield 1996 .

9 .Microsoft Access 2002 – by

Sara E. Hutchinson , Glen J. coulthard 2002

. Access 2003دورة خاصة . 10

. 2004فراس خيروآجان : أعداد