منتدى سوفت وير لكل العرب SOFTWARE FOR ALL ARAB
اهلا بكم في منتدى
SOFTWARE FOR ALL ABAB
المنتدى في بدايته ويقدم دورات قيمة في البرمجة وباشراف مبرمجين محترفين
سارع في التسجيل وانضم الى عائلة SOFTWARE FOR ALL ABAB


أهلا بكم في منتدى سوفت وير لكل العرب SOFTWARE FOR ALL ARAB
 
الرئيسيةالتسجيلدخول
اهلا بكم في منتدى
سوفت وير لكل العرب
SOFTWARE FOR ALL ARAB
دورة تعليمية لربط قواعد البيانات مع الفيجول بيسك ***551
شاطر | 
 

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

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل 
كاتب الموضوعرسالة
سيف ذو الفقار



عدد المساهمات: 1
درجة نشاطه: 3
درجة تميزه في المنتدى: 0
تاريخ التسجيل: 08/09/2010

مُساهمةموضوع: دورة تعليمية لربط قواعد البيانات مع الفيجول بيسك ***   الأحد سبتمبر 19, 2010 5:07 pm

بسم الله الرحمن الرحيم وعليه نتوكل وبه نستعين , والحمد لله رب العالمين ... وبعد

بعد السلام والتحية أخوتي الأعزاء : أحببت أن أشارك بشرح موضوع مهم في لغة البرمجة ( Visual Basic ) , وهو كيفية ربط قواعد البيانات Access مع البرنامج المصمم بهذه الغة البرمجية ...

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

نبداً بإذنه تعالى :

أولاً : تعريف قاعدة البيانات ***
قاعدة البيانات: هي معلومات أو ھي مجموعة من عناصرِ البياناتِ المنطقية المرتبطة مع بعضھا البعض بعلاقة رياضية ، تخزن في جھاز الحاسب الآلي على نحو منظّم وكيفية منسقة ، حيث يقوم برنامج (الحاسب الآلي ) الذي يسمى محرك قاعدة البيانات بتسھيل التعامل معھا و البحث ضمن ھذه البيانات و إمكانية الإضافة و التعديل عليھا , وينبغي القول أن الھدف الأساسي لقواعد البيانات ھو التركيز على طريقة تنظيم البيانات و ليس على التطبيقات الخاصة , أي أن تصميم البيانات بحيث تكون خالية من التكرار و يمكن استرجاعھا و تعديلھا و الإضافة عليھا دون تلك المشاكل التي يمكن أن تحدث مع و جود التكرار فيھا - وهذا ھو الھدف الرئيسي لمصمم قاعدة البيانات - ويتم ذلك عن طريق إيجاد ثلاث مستويات من التجريد أو النماذج لقواعد البيانات تسمى نماذج التطبيع
ويقصد بھا جعل تركيبة البيانات اقرب للطبيعة التصنيفية ( Normalizing Forms ) .


ثانياً : صناعة قاعدة البيانات ***
في ھذا الدرس سوف لن نناقش كيفية إنشاء قاعدة بيانات أكسيس حيث أنها غاية في الوضوح والسهولة ... أعلم أن الخطوة الأولى لعمل قاعدة بيانات ھي بعيدة كل البعد عن برنامج الفيجول بيسك , وهي خطوة يعرفها الجميع ولن نأخذ وقتاً في شرحها بإعتبار أننا هنا لمناقشة ربط قواعد البيانات فحسب ... لكن بقيت لنا خطوة أخرى في برنامج الأكسيس قبل الإنتهاء من عمل وتنسيق الجداول بشكل نهائي وهي تحويل قاعدة البيانات من تنسيق قاعدة بينات 2003 إلى تنسيق قاعدة 1997 حتى يتسنى لنا بعد ذلك أن نتعامل مع قاعدة البينات بالأداة data control ... ويتم التحويل كما في الصورة التالية :

[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة]

بعد ذلك نختار المكان المطلوب لحفظ قاعدة البيانات ذات التنسيق الجديد 97


ثالثاً : ربط البرنامج بقاعدة البينات بواسطة الادوات ***
هنا نقوم بفتج برنامج التشغيل للغة الرمجة ( الفيجول ) وأختيار أداة التتحكم Data control ... وهي كالتالي :

[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة]

عند إضافة الأداة نقوم بالبدء بعملية الربط بقاعدة البيانات ببساطة يمكننا الربط عن طريق الخاصية Data Base Name ... حيث يعطى مسار قاعدة البيانات لھا ليتم الربط مباشرة على أن تكون قاعدة البيانات ذات تنسيق 97 أو أقدم حتى تتعرف عليھا الأداة نقوم بتحديد مسار قاعدة البيانات بالضغط على خاصية Data Base Name من قائمة خصائص الأداة ... وهي كالتالي :

[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة]

و فور الضغط عليھا سوف يظھر لنا مربع حوار لاختيار قاعدة البيانات نقوم باختيار قاعدة البيانات التي نود ربطھا ببرنامجنا ونضغط زر open وإذا تمت العميلة بنجاح معنى ذلك أننا قمنا بالانتھاء من ربط قاعدة البيانات ببرنامجنا ... وبقي علينا كيفية تحديد الجدول الذي نود أن تتم عليه عملية اختيار الجدول أيضا من خلال الخاصية record sourse ... كما في الصورة التالية :

[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة]

رابعاً : الأوامر الأساسية للتحكم بقاعدة البيانات ***
سوف يكون ھذا الدرس عبارة عن قسمين , أما الأول:

نقوم فيه بالتعرف على أھم الأوامر التي تجرى على قواعد البيانات من خلال الفيجوال بيسك كأن يكون إضافة سجلا ، تعديل ، حذف والبحث بين السجلات وأظاھر عددھا والتنقل فيما بينھا , وسوف نبدأ أولا بعمل قاعدة بيانات خاصة لنا كما وضحنا سابقا تحتوي على جدول واحد باسم table 1 وثلاثة حقول ھي الاسم ، العمر , عنوان السكن بعد الانتھاء من تصميم قاعدة البيانات نقوم بالدخول على برنامج (الفيجوال بيسك 6) لنقوم بوضع الأدوات اللازمة لتشغيل البرنامج ... سوف نقوم بإضافة زر للحفظ وزر للتعديل
وزر للحذف وأزرار التنقل بين السجلات وإضافة أداة Data Control وبعد ذلك وألان سوف نقوم بإضافة أداة لعرض السجلات تسمى بــ Microsoft Data Bound Grid ... وتتم إضافة هذه الأداة بكل سھولة بالضغط من لوحة المفاتيح على زر
CTRL + T ... وفور ضغط الزر سوف يقوم برنامج الفيجوال بعرض مربع حوار خاص كما في الصورة أدناه نقوم باختيار الأداة منها :

[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة]

وبعد ذلك بإضافتھا على واجھة البرنامج لينتھي ھنا تصميم شكل البرنامج ويظھر بھذا الشكل :

[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة]

ومن ھنا نقوم بالبدء بعميلة الربط .... أولاً نقوم بربط البرنامج بقاعدة البيانات كما وضحنا في الدرس السابق وبعد الانتھاء من عملية ربط البرنامج بقاعدة البيانات نقوم بربط الأداة التي تقوم بعرض البيانات بأداة ال data control
حتى يتم عرض البيانات منھا بكل بساطة وسهولة ... وتتم عملية الربط كما في الصورة التالية :

[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة]

حيث نقوم باختيار الأداة التي نود عرض البيانات منھا وفور تنفيذ ھذه العميلات بصورة صحيحة سوف نقوم بالانتقال خطوة والبدء بكتابة الأوامر الأساسية ... أولا نقوم بكتابة كود زر الحفظ تتم عميلة الحفظ في قاعدة البيانات أولا بكتابة جملة معينة لإعلام فيجوال بيسك بأننا نود إضافة سجل جديد وبعد ذلك نصل الى عميلة إسناد القيم إلى الحقول المعينة ومن ثم جملة لتحديث المدخلات ويكون الكود بشكله النهائي والكامل على النحو الآتي :

Private Sub Command1_Click()
Data1.Recordset.AddNew
Data1.Recordset.Fields! الاسم = Text1.Text
Data1.Recordset.Fields! العمر = Text2.Text
Data1.Recordset.Fields! العنوان = Text3.Text
Data1.Recordset.Update
End Sub

حيث كما وضحت سابقا قمنا أولا بإعلام برنامج فيجوال بيسك بأننا نود أن نقوم بعميلة معينة وھي عميلة
الحفظ في قاعدة البيانات بعد ذلك بدئنا بكتابة أسماء الحقول المعنية وإضافة القيم لھا ومن ثم تحديث
المدخلات في قاعدة البيانات وإذا لم تكتب ھذه الجملة فلن يظھر عند السجل المضاف أو التعديل إذا لم تقم
بإعادة تشغيل البرنامج وھنا انتھينا من أول كود وھو كود الحفظ ألان لنتقل للكود التالي وھو كود التعديل
وكود التعديل لا يختلف كثيرا عن سابقھ حيث تكون العميلة بالشكل الأتي:
Private Sub Command2_Click()
Data1.Recordset.Edit
Data1.Recordset.Fields! الاسم = Text1.Text
Data1.Recordset.Fields! العمر = Text2.Text
Data1.Recordset.Fields! العنوان = Text3.Text
Data1.Recordset.Update
End Sub


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

Private Sub Command3_Click()
Data1.Recordset.Delete
End Sub
حيث بكل بساطة قمنا بتنفيذ أمر لحذف السجل المحدد من قاعدة البيانات نھائيا مع ملاحظة انھ لا يمكن
استرجاع السجل بعد حذفھ مطلقا بالنسبة لأكواد الانتقال بين السجلات سوف تكون كالأتي

Private Sub Command4_Click()
Data1.Recordset.MoveNext
End Sub
Private Sub Command5_Click()
Data1.Recordset.MoveFirst
End Sub
Private Sub Command6_Click()
Data1.Recordset.MovePrevious
End Sub


Private Sub Command7_Click()
Data1.Recordset.MoveLast
End Sub
لا يحتاج إلى شرح الأكواد السابقة فلم نقم إلا بطلب الانتقال ما بين السجلات على حد سواء يمكنك تجربة
الأكواد كما أن كود التحقق من عدد السجلات ھو

Private Sub Command8_Click()
MsgBox Data1.Recordset.RecordCount
End Sub
ھذه ھي اغلب الأوامر الشائعة الاستخدام كانت ھذه مقدمھ بسيطة عنھا وسوف أقوم بالجزء التالي من
الدرس بشرح كيفية تجاوز الخطأ فيھا وأكثر




خامساً : 5: الدرسالرابع :: الأوامر الأساسية التحكم في قاعدة البيانات

سوف يكون ھذا الدرس عبارة عن درس ملحق بالدرس الرابع الجزء الأول وسوف يكون عن كيفية تثبيت
مسار قاعدة البيانات وضمان أن البرنامج سوف يبقى متصل بقاعدة البيانات أينما وضع مجلد البرنامج سوف
التي تعطي لنا قيمة نصية وھي مسار مجلد البرنامج الكود App .Path تعتمد طريقتا التالية على الدالة
بصورة عامة يكون بالشكل الأتي

Private Sub Form_Load()
Data1.DatabaseName = App.Path & "\DataBase.mdb"
End Sub
حيث قمنا بالجملة السابقة بتحديد مسار قاعدة البيانات كما تعلمنا لكن ھذه المرة قمنا باستخلاص مسار مجلد
والتي قامت باستخلاص مسار مجلد App .path البرنامج حتى نقوم بالربط حيث أولا استخدمنا الدالة
البرنامج بعدھا علامة \ أي داخل البرنامج بعدھا اسم قاعدة البيانات ونوعھا


6:الدرسالرابع : الأوامر الأساسية التحكم في قاعدة البيانات
سوف يكون ھذا الدرس كمتابعة لدرس السابق وقد حرصت على أن أقوم بعمل ھذا الدرس لجعل برنامجك
الذي سوف تصنعھ أكثر مرونة وخالي من الخطأ فمثلا ليس المستخدم مثلك أنت صانع البرنامج فالمستخدم قد
يضغط زر الحذف وھو غير محدد سجل أو لا توجد سجلات في قاعدة البيانات لتظھر لھ رسالة الخطأ أما أنت
فاعرف بأكواد البرنامج لن تقوم بھذه الخطوة لذا سوف نقوم بجعل البرنامج الذي قمنا بصنعھ في الدرس
السابق خالي من الخطأ سوف نبدأ من زر التعديل كل ما يلزمنا ھنا التحقق من أن المستخدم قد اختار سجل
التي تقوم بإعطائنا رقم Absolute Position ليقوم بتعديلھ وسوف نستخدم في ھذا التحقق الخاصية
السجل المختار وإذا لم يكن ھنالك من سجل محدد سوف تكون القيمة عندئذ - 1 أتصور أن الفكرة قد وضحت
الآن فكل ما يلزمنا ھنا بان نكتب جملة التحقق بالشكل الأتي

If Data1.Recordset.AbsolutePosition = -1 Then
مثل ما ذكرت - 1 تعني لا يوجد سجل محدد بالجملة السابقة تقوم بالتحقق وإذا كان يساوي - 1 أي لا يوجد
سجل محدد لتعديل يقوم البرنامج بتنفيذ حدث معين فلو أردنا أن نضع كود التعديل كاملا سوف يكون بالشكل
الأتي

Private Sub Command2_Click()
If Data1.Recordset.AbsolutePosition = -1 Then
MsgBox "Your Message"
Else
Data1.Recordset.Edit
Data1.Recordset.Fields! الاسم = Text1.Text
Data1.Recordset.Fields! العمر = Text2.Text
Data1.Recordset.Fields! العنوان = Text3.Text
Data1.Recordset.Update
End If
End Sub
فلو أردنا شرح الكود السابق : رح يكون الشرح كالأتي في السطر الأول قمنا بالتحقق ھل ھنالك سجل محدد
لتعديلھ أم لا فإذا لم يكن ھنالك سجل محدد فيقوم بالاتي وھو عرض رسالة للمستخدم أما إذا لم يتحقق الشرط
أي كان ھنالك سجل محدد فيقوم البرنامج بعملية التعديل
وفي ھذه الحالة سوف نظمن عدم حصول خطأ في كود التعديل سببھ عدم اختيار سجل وبعد جعل كود التعديل
أكثر صلابة نقوم بالانتقال إلى كود الحذف الذي سوف تكون جملة التحقق نفس الجملة السابقة ليكون الكود
بالشكل الأتي :

Private Sub Command3_Click()
If Data1.Recordset.AbsolutePosition = -1 Then
MsgBox "Your Message"
Else
Data1.Recordset.Delete
End If
End Sub
نفس العميلة التي قمنا بھا في كود التعديل قمنا بالتحقق من اختيار المستخدم وتنفيذ أوامر على حسب ذلك
من ھنا ضمنا سير البرنامج بصلابة من حفظ ، تعديل , حذف بيانات فكر قليلا معي ألان في كود الانتقال إلى
السجل الأول والأخير إذا كانت قاعدة البيانات فارغة وأردنا الانتقال إلى السجل الأول الذي سوف يكون غير
موجود ألن يحصل خطأ يقتل البرنامج بالتأكيد سوف يحصل إذن ما العمل ، العمل ھو أن تمسك يدي ونقوم أنا
التي Record Count وأنت بكتابة جملة التحقق من عدد السجلات والتي سوف نستخدم فيھا الخاصية

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

Private Sub Command5_Click()
If Data1.Recordset.RecordCount = 0 Then
MsgBox "Your Message"
Else
Data1.Recordset.MoveFirst
End If
End Sub
الموضوع سھل جدا لقد وضعنا شرط لتحقق من عدد السجلات فإذا كانت صفرا يقوم بإظھار رسالة للمستخدم
تقوم بتنبيھ أما أذا كانت عدد السجلات أكثر من واحد فسوف ينفذ الحدث بكل سلاسة وكذلك الكود سوف
يكون بالنسبة لكود الانتقال إلى السجل الأخير ونفس الشرط السابق انتھينا تقريبا ،، لكن ھل تفكر بما أفكر بھ
بقى لدينا زرا أمر وھي الانتقال إلى السجل التالي والانتقال إلى السجل السابق ما الخطأ الذي نتوقعھ منھم
الخطأ الذي نتوقعھ ھو أن يقوم البرنامج بالانتقال من السجل الأخير إلى الفراغ أي يخرج من فھرسة وعند
محاولة الانتقال سوف يظھر الخطأ لحل ھذه المشكلة سوف نقوم بوضع كود بسيط لتحقق من إذا كان
البرنامج واقف على السجل الأخير فإذا كان واقف على السجل الأخير لا ينفذ حدث الانتقال حتى لا يخرج من
الفھرسة وإذا كان واقف على السجل الأول ويحاول الرجوع لا يسمح لھ بذلك سوف نقوم في ھذان الكردان
ھي لتحقق Eof والخاصية False أو True وكلتاھما تعطين قيم ھي أما Bof و Eof باستخدام الخواص
لتحقق من إذا ما Bof إذا كان البرنامج خارج إطار الفھرسة من بعد مروره على السجل الأخير والخاصية
كان البرنامج خارج إطار الفھرسة بعد مروره على السجل الأول فسوف يكون الكود بكل بساطة كالأتي

Private Sub Command4_Click()
If Data1.Recordset.EOF = True Then
Your Command
Else
Data1.Recordset.MoveNext
End If
End Sub
ھذا بالنسبة لكود الانتقال إلى السجل التالي فكما نلاحظ إذا كان البرنامج خارج إطار الفھرسة لن يقوم
البرنامج بتنفيذ الكود حتى لا يحصل الخطأ وإما بالنسبة لكود الانتقال إلى السجل السابق فسوف يكون بنفس
الصيغة على اختلاف بسيط كالأتي
Private Sub Command6_Click()
If Data1.Recordset.BOF = True Then
Your Command
Else
Data1.Recordset.MovePrevious
End If
End Sub
والشرح نفس الشرح السابق


7: الدرسالخامس:: الربط والتعامل مع قواعد البيانات باستخدام المكتبات
والمراجع
في ھذا الدرس وبعد أن أتممنا شرح الأوليات لدخول إلى عالم قواعد البيانات سوف أبدء بتعلمكم كيفية
أن الفائدة من استخدام المكتبات ھو ( Dao الاستغناء عن الأدوات والربط عن طريق المكاتب ( مكتبات
إمكانية التحكم فيھا من جميع أجزاء المشروع بالإضافة إلى خصائص عديدة سوف نتعرف عليھا أولا لبدء
في درسنا نقوم بإضافة المكتبات التي نود إضافتھا لبرنامجنا نقوم أولا بفتح مشروع قياسي
Project ونقوم باختيار الأمر التالي من القائمة Stander.exe

[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة]

فور اختيارنا للأمر السابق سوف يظھر لنا مربع حوار فيھ جميع المكتبات التي نستطيع استخدامھا سوف
نختار منھا واحدة من المكتبات الموضحة بالصورة والفرق بين كل مكتبة وأخرى إصدارھا وھل ھي تدعم
تنسيقات الاكسيس الحديثة أم لا كان 2003 يستحسن أن نختر المكتبة الثالثة والتي تسمح لنا بالربط حتى مع
لإضافتھا OK قاعدة بيانات اكسيس 2003 فور تعليمنا الأداة نضغط على زر

[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة]

فور إضافتنا للمكتبة سوف نبدأ بالدخول إلى الشفرات وكيفية الإعلان عنھا واستخدامھا لعلمك أن الموضوع
نفسھا ، نبدأ: Data Control سھل للغاية وعند التعامل معھا احسب نفسك تتعامل مع الأداة
أولا نقوم بالتعريف عن متغير يمثل قاعدة البيانات ومتغير أخر يمثل الجداول بالشكل الأتي
Dim Db As DAO.Database
Dim Re As DAO.Recordset
ھي التي سوف تحدد عمومية الاستخدام بعد Public أو Dim مع ملاحظھ إن طريقة الإعلان ب الكلمة
التعريف عنھا سوف نقوم بكل سھولة بالربط بقاعدة البيانات والجداول سوف أقوم ألان بطرح كل كود
وسوف اشرحھ وبعد ذلك سوف نلخص ما تعلمنھ في مثال عملي أولا كيفية الربط تتم عملية الربط بقاعدة
بيانات بكل سھولة بالشكل الأتي
Private Sub Form_Load()
Set Db = OpenDatabase("DataBase Path")
Set Re = Db.OpenRecordset("Table Name", 2)
End Sub
حيث كل ما فعلنھ في السطر الأول أننا قمنا بإسناد مسار قاعدة البيانات لفتحھا والعمل عليھا وفي السطر
الثاني قمنا بفتح جدول معين في قاعدة البيانات باستخدام الخاصية المعينة لفتح الجدول المراد العمل عليھا
وھكذا وبالخطوة السابقة أتممنا فتح Snap Shot وبالنسبة لرقم 2 فھو طبقة فتح الجدول حيث 2 تعادل
الجدول وقاعدة البيانات التي نود العمل عليھا إذا كنت تتساءل كيف سوف أضيف بيانات أو اعدل فسوف أقول
مثلا لاحظ كود الإضافة Data Control لك أن الأمر كما ھو في أداة ال

Re.AddNew
Re.Fields!Filed_Name = Value
Re.Update
بل سوف اكتفي Data Control لاحظ انھ لا يوجد فرق لذا لن أقوم بشرح جميع الأوامر لأنھا نفس أوامر
بطرح مثال مناسب لك في المرفقات أتمنى أن أكون قد ساعدتك على الفھم


( Data Report ) 8: الدرسالسادس :: صناعة التقارير
البسيطة والتي تقوم بعض البيانات ( Data Report ) سوف يكون درسنا عن كيفية صناعة التقارير
بصورة منسقھ لتسھيل طباعتھا وغيرھا لن نحتاج أي أدوات أو مكتبات لعمل التقارير فيتم الربط كلھ ببيئة
خاصة للربط ويقام بإضافة ھذه البيئة بالطريقة الآتية كما في الصورة
فور

[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة]

فور إضافتنا لھذه البيئة يجب علينا بدء الربط بقاعدة البيانات التي نود صناعة التقرير لھا الموضوع سھل
جدا بكل بساطة نقوم بالضغط على زر الخصائص

[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة]

نقوم ( Db Engine ) سوف يظھر لنا مربع حوار كما في الصورة الآتية لتحديد محرك قاعدة البيانات
باختيار الاختيار الموضح بالصورة

[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة]

ھنا وكما تلاحظ يوجد لدينا مربع نص وزر استكشاف ( Next ) ثم نقوم بالضغط على زر التالي
لإدخال مسار قاعدة البيانات لدي ملاحظھ بسيطة والكثير لا يعلمھا لو كانت قاعدة البيانات ( Browse )
في مجلد البرنامج كل ما عليك ھو فقط إدخال اسم قاعدة البيانات وامتدادھا فقط ! وسوف يقوم البرنامج
بالربط وكذلك يفضل رابط حتى لو تغير مسار المجلد وتعتبر ھذه الطريقة الفضلى لربط أما إذا كانت قاعدة
البيانات في مكان آخر يمكنك الضغط على الزر واختيار المسار لو كانت ھنالك كلمة مرور قم بإدخالھا واضغط
لو أعطى نتيجة ايجابيھ إذا انتھينا من نصف العمل وبقى ( Test connection ) زر التحقق من الاتصال
النصف الأخر فلقد ربطنا قاعدة البيانات ألان نقوم بإضافة الجدول المراد عرضھ ضمن التقرير وذلك من خلال
( connection ) تابع للاتصال ( Command ) إضافة زر

[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة]

ألرئيسيي ونقوم بالضغط على زر الخصائص سوف يظھر لنا مربع حوار بسيط جدا نقوم باختيار من مربع
جدول ( Data Base Object ) الذي يطلب منا تحديد نوع الكائن ( Combo Box ) السرد
ننزل ونختار الجدول المراد عرضھ ونقوم بالضغط ( Object ) فور اختيارنا لنوعية الكائن ( Table )
فور ضغطنا لزر السابق سوف نلاحظ إضافة كافة الحقول الموجودة داخل ھذا ( OK ) على زر موافق
الجدول بعلاقة فرعية لزر الأمر الذي قمنا بإضافتھ من ھنا نكون قد انتھينا من عملنا في ھذه البيئة لم يبقى
لعرضالمخرجات ( Text Box ) وإضافة بعض مربعات النص ( Data Report ) لنا إلا إضافة التقرير
وبھذا نكون انتھينا تتم الإضافة بكل بساطة فور إضافتنا للتقرير يجب علينا ربط التقرير ببيئة العمل السابقة
إلى Data Member نقوم باختيار بيئة العمل و ( Data Source ) وذلك من خلال خاصية المصدر
الزر الذي قمنا بإضافتھ وبعد ذلك يمكننا البدء بإضافة مثلا مربع نص قم بالسحب والإفلات على الواجھة اختر الحقل من خلال خاصية الحقل ( Data Filed ) اكتب الكود الأتي في زر أمر بسيط Command قد وضعته على واجھة إطار الفورم .....شغل البرنامج ولاحظ
الرجوع الى أعلى الصفحة اذهب الى الأسفل
alalem



عدد المساهمات: 1
درجة نشاطه: 1
درجة تميزه في المنتدى: 0
تاريخ التسجيل: 13/05/2011

مُساهمةموضوع: رد: دورة تعليمية لربط قواعد البيانات مع الفيجول بيسك ***   الجمعة مايو 13, 2011 5:33 pm

شكرا وبارك الله فيم
الرجوع الى أعلى الصفحة اذهب الى الأسفل
الساهر العراقي



عدد المساهمات: 1
درجة نشاطه: 1
درجة تميزه في المنتدى: 0
تاريخ التسجيل: 12/06/2011

مُساهمةموضوع: رد: دورة تعليمية لربط قواعد البيانات مع الفيجول بيسك ***   الأحد يونيو 12, 2011 11:56 pm

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

سلامي لك
الرجوع الى أعلى الصفحة اذهب الى الأسفل
لؤلؤة الرافدين



عدد المساهمات: 2
درجة نشاطه: 2
درجة تميزه في المنتدى: 0
تاريخ التسجيل: 14/09/2011

مُساهمةموضوع: رد: دورة تعليمية لربط قواعد البيانات مع الفيجول بيسك ***   الأربعاء سبتمبر 14, 2011 8:02 am

والله الشرح ممتاز عاشت الايادي بارك الله بيك
الرجوع الى أعلى الصفحة اذهب الى الأسفل
لؤلؤة الرافدين



عدد المساهمات: 2
درجة نشاطه: 2
درجة تميزه في المنتدى: 0
تاريخ التسجيل: 14/09/2011

مُساهمةموضوع: رد: دورة تعليمية لربط قواعد البيانات مع الفيجول بيسك ***   الأربعاء سبتمبر 14, 2011 8:12 am

طيب عندي كم سؤال : هل ممكن بدل Data1.Recordset.Fields! الاسم = Text1.Text

Data1.Recordset.Fields(0)= Text1.Text
الرجوع الى أعلى الصفحة اذهب الى الأسفل
توحيد سعد



عدد المساهمات: 1
درجة نشاطه: 1
درجة تميزه في المنتدى: 0
تاريخ التسجيل: 24/10/2011

مُساهمةموضوع: رد: دورة تعليمية لربط قواعد البيانات مع الفيجول بيسك ***   الإثنين أكتوبر 24, 2011 6:41 am

والله انا من فتره كبيره بدور على الشرح ده
بجد الله ينور عليك ونتمنا منك المزيد
الرجوع الى أعلى الصفحة اذهب الى الأسفل
adnann_07



عدد المساهمات: 1
درجة نشاطه: 1
درجة تميزه في المنتدى: 0
تاريخ التسجيل: 28/10/2011

مُساهمةموضوع: رد: دورة تعليمية لربط قواعد البيانات مع الفيجول بيسك ***   الجمعة أكتوبر 28, 2011 2:59 pm

اخوي مشكور على الشرح بس اذا فيه خطاء في record sourse وش نسوي
الرجوع الى أعلى الصفحة اذهب الى الأسفل
mohameeeed



عدد المساهمات: 3
درجة نشاطه: 6
درجة تميزه في المنتدى: 1
تاريخ التسجيل: 05/02/2012

مُساهمةموضوع: رد: دورة تعليمية لربط قواعد البيانات مع الفيجول بيسك ***   الأحد فبراير 05, 2012 5:09 pm

اخي بارك الله فيك الشرح تمام.
لكن لدي سؤال حول زر البحث والاظهار بحيث نعطيه مثلا الاسم ولما نظغط على الزر يظهر بقية المعلومات الموجودة في القاعدة.
الرجوع الى أعلى الصفحة اذهب الى الأسفل
elmakrom



عدد المساهمات: 5
درجة نشاطه: 5
درجة تميزه في المنتدى: 0
تاريخ التسجيل: 28/02/2012

مُساهمةموضوع: رد: دورة تعليمية لربط قواعد البيانات مع الفيجول بيسك ***   الثلاثاء فبراير 28, 2012 11:59 pm

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



عدد المساهمات: 2
درجة نشاطه: 2
درجة تميزه في المنتدى: 0
تاريخ التسجيل: 28/04/2013

مُساهمةموضوع: رد: دورة تعليمية لربط قواعد البيانات مع الفيجول بيسك ***   الأحد أبريل 28, 2013 1:13 am

شكرا على مجهودك الرائع
الرجوع الى أعلى الصفحة اذهب الى الأسفل
ابو حمزه



عدد المساهمات: 1
درجة نشاطه: 1
درجة تميزه في المنتدى: 0
تاريخ التسجيل: 19/08/2014
العمر: 44

مُساهمةموضوع: رد: دورة تعليمية لربط قواعد البيانات مع الفيجول بيسك ***   الثلاثاء أغسطس 19, 2014 3:42 pm

شرح جميل يا اخي الله يوفق الجميع لما فية الخير 
سؤال ممكن نطبق هذ العمل علي قاعدة بيانات اصدار 2007 cheers
الرجوع الى أعلى الصفحة اذهب الى الأسفل
سليمان الحربي



عدد المساهمات: 1
درجة نشاطه: 1
درجة تميزه في المنتدى: 0
تاريخ التسجيل: 29/08/2014

مُساهمةموضوع: رد: دورة تعليمية لربط قواعد البيانات مع الفيجول بيسك ***   الجمعة أغسطس 29, 2014 2:01 pm

السلام عليكم ورحمة الله وبركاته

أخواني الأعزاء أنا أريد أريد أعمل برنامج قادة بينات بالفيجول ستوديو 2010 وأكسس 2007 لكن لما عملت زر الأضافة رفض يضيف سجلات على الجدول ماهو السبب؟ أرجو المساعدة
هذا البرنامج

 [size=13][size=13]Imports
[/size][/size][size=13] System.Data.OleDb[/size][size=13][size=13]Public
[/size][/size][size=13] [/size][size=13][size=13]Class[/size][/size][size=13] [/size][size=13][size=13]frmwrk[/size][/size]
[size=13][size=13]Dim[/size][/size][size=13] conn [/size][size=13][size=13]As[/size][/size][size=13] [/size][size=13][size=13]New[/size][/size][size=13] [/size][size=13][size=13]OleDbConnection[/size][/size]
[size=13][size=13]Private[/size][/size][size=13] [/size][size=13][size=13]Sub[/size][/size][size=13] frmwrk_Load([/size][size=13][size=13]ByVal[/size][/size][size=13] sender [/size][size=13][size=13]As[/size][/size][size=13] System.[/size][size=13][size=13]Object[/size][/size][size=13], [/size][size=13][size=13]ByVal[/size][/size][size=13] e [/size][size=13][size=13]As[/size][/size][size=13] System.[/size][size=13][size=13]EventArgs[/size][/size][size=13]) [/size][size=13][size=13]Handles[/size][/size][size=13] [/size][size=13][size=13]MyBase[/size][/size][size=13].Load[/size][size=13]conn.ConnectionString =
[/size][size=13][size=13]"Provider=Microsoft.ACE.OLEDB.12.0;Data Source="[/size][/size][size=13] + IO.[/size][size=13][size=13]Directory[/size][/size][size=13].GetCurrentDirectory + [/size][size=13][size=13]"\Work_Day.accdb"[/size][/size]
[size=13][size=13]End[/size][/size][size=13] [/size][size=13][size=13]Sub[/size][/size]
[size=13][size=13]Private[/size][/size][size=13] [/size][size=13][size=13]Sub[/size][/size][size=13] Button1_Click([/size][size=13][size=13]ByVal[/size][/size][size=13] sender [/size][size=13][size=13]As[/size][/size][size=13] System.[/size][size=13][size=13]Object[/size][/size][size=13], [/size][size=13][size=13]ByVal[/size][/size][size=13] e [/size][size=13][size=13]As[/size][/size][size=13] System.[/size][size=13][size=13]EventArgs[/size][/size][size=13]) [/size][size=13][size=13]Handles[/size][/size][size=13] Button1.Click[/size]
conn.Open()

[size=13][size=13]Try[/size][/size]
[size=13][size=13]Dim[/size][/size][size=13] cmdinsert [/size][size=13][size=13]As[/size][/size][size=13] [/size][size=13][size=13]New[/size][/size][size=13] [/size][size=13][size=13]OleDbCommand[/size][/size]
cmdinsert.Connection = conn
[size=13]cmdinsert.CommandText =
[/size][size=13][size=13]"insert into Emp_Work values('"[/size][/size][size=13] + txtid.Text + [/size][size=13][size=13]"','"[/size][/size][size=13] + txtname.Text + [/size][size=13][size=13]"','"[/size][/size][size=13] + txtday.Text + [/size][size=13][size=13]"','"[/size][/size][size=13] + pkpdate.Value + [/size][size=13][size=13]"', '"[/size][/size][size=13] + txtwork.Text + [/size][size=13][size=13]"', '"[/size][/size][size=13] + txtlocation.Text + [/size][size=13][size=13]"','"[/size][/size][size=13] + txtequ.Text + [/size][size=13][size=13]"','"[/size][/size][size=13] + txtpro.Text + [/size][size=13][size=13]"','"[/size][/size][size=13] + txtloa.Text + [/size][size=13][size=13]"','"[/size][/size][size=13] + txtwor.Text + [/size][size=13][size=13]"','"[/size][/size][size=13] + DateTimePicker1.Value + [/size][size=13][size=13]"','"[/size][/size][size=13] + DateTimePicker3.Value + [/size][size=13][size=13]"')"[/size][/size]
cmdinsert.ExecuteNonQuery()

[size=13][size=13]Catch[/size][/size][size=13] ex [/size][size=13][size=13]As[/size][/size][size=13] [/size][size=13][size=13]Exception[/size][/size][size=13]MsgBox(
[/size][size=13][size=13]"add new item"[/size][/size][size=13])[/size]
[size=13][size=13]End[/size][/size][size=13] [/size][size=13][size=13]Try[/size][/size]
conn.Close()

[size=13][size=13]End[/size][/size][size=13] [/size][size=13][size=13]Sub[/size][/size][size=13][size=13]End
[/size][/size][size=13] [/size][size=13][size=13]Class[/size][/size][size=13][size=13]
 
[/size][/size]
Public
[size=13] [/size][size=13][size=13]Class[/size][/size][size=13] [/size][size=13][size=13]frmwrk[/size][/size]
[size=13][size=13]Dim[/size][/size][size=13] conn [/size][size=13][size=13]As[/size][/size][size=13] [/size][size=13][size=13]New[/size][/size][size=13] [/size][size=13][size=13]OleDbConnection[/size][/size]
[size=13][size=13]Private[/size][/size][size=13] [/size][size=13][size=13]Sub[/size][/size][size=13] frmwrk_Load([/size][size=13][size=13]ByVal[/size][/size][size=13] sender [/size][size=13][size=13]As[/size][/size][size=13] System.[/size][size=13][size=13]Object[/size][/size][size=13], [/size][size=13][size=13]ByVal[/size][/size][size=13] e [/size][size=13][size=13]As[/size][/size][size=13] System.[/size][size=13][size=13]EventArgs[/size][/size][size=13]) [/size][size=13][size=13]Handles[/size][/size][size=13] [/size][size=13][size=13]MyBase[/size][/size][size=13].Load[/size]
conn.ConnectionString =
[size=13][size=13]"Provider=Microsoft.ACE.OLEDB.12.0;Data Source="[/size][/size][size=13] + IO.[/size][size=13][size=13]Directory[/size][/size][size=13].GetCurrentDirectory + [/size][size=13][size=13]"\Work_Day.accdb"[/size][/size]
[size=13][size=13]End[/size][/size][size=13] [/size][size=13][size=13]Sub[/size][/size]
[size=13][size=13]Private[/size][/size][size=13] [/size][size=13][size=13]Sub[/size][/size][size=13] Button1_Click([/size][size=13][size=13]ByVal[/size][/size][size=13] sender [/size][size=13][size=13]As[/size][/size][size=13] System.[/size][size=13][size=13]Object[/size][/size][size=13], [/size][size=13][size=13]ByVal[/size][/size][size=13] e [/size][size=13][size=13]As[/size][/size][size=13] System.[/size][size=13][size=13]EventArgs[/size][/size][size=13]) [/size][size=13][size=13]Handles[/size][/size][size=13] Button1.Click[/size]
conn.Open()
[size=13][size=13]Try[/size][/size]
[size=13][size=13]Dim[/size][/size][size=13] cmdinsert [/size][size=13][size=13]As[/size][/size][size=13] [/size][size=13][size=13]New[/size][/size][size=13] [/size][size=13][size=13]OleDbCommand[/size][/size]
cmdinsert.Connection = conn
cmdinsert.CommandText =
[size=13][size=13]"insert into Emp_Work values('"[/size][/size][size=13] + txtid.Text + [/size][size=13][size=13]"','"[/size][/size][size=13] + txtname.Text + [/size][size=13][size=13]"','"[/size][/size][size=13] + txtday.Text + [/size][size=13][size=13]"','"[/size][/size][size=13] + pkpdate.Value + [/size][size=13][size=13]"', '"[/size][/size][size=13] + txtwork.Text + [/size][size=13][size=13]"', '"[/size][/size][size=13] + txtlocation.Text + [/size][size=13][size=13]"','"[/size][/size][size=13] + txtequ.Text + [/size][size=13][size=13]"','"[/size][/size][size=13] + txtpro.Text + [/size][size=13][size=13]"','"[/size][/size][size=13] + txtloa.Text + [/size][size=13][size=13]"','"[/size][/size][size=13] + txtwor.Text + [/size][size=13][size=13]"','"[/size][/size][size=13] + DateTimePicker1.Value + [/size][size=13][size=13]"','"[/size][/size][size=13] + DateTimePicker3.Value + [/size][size=13][size=13]"')"[/size][/size]
cmdinsert.ExecuteNonQuery()
[size=13][size=13]Catch[/size][/size][size=13] ex [/size][size=13][size=13]As[/size][/size][size=13] [/size][size=13][size=13]Exception[/size][/size]
MsgBox(
[size=13][size=13]"add new item"[/size][/size][size=13])[/size]
[size=13][size=13]End[/size][/size][size=13] [/size][size=13][size=13]Try[/size][/size]
conn.Close()
[size=13][size=13]End[/size][/size][size=13] [/size][size=13][size=13]Sub[/size][/size]
End
[size=13] [/size][size=13][size=13]Class[/size][/size]
الرجوع الى أعلى الصفحة اذهب الى الأسفل
amelhanin



عدد المساهمات: 1
درجة نشاطه: 1
درجة تميزه في المنتدى: 0
تاريخ التسجيل: 01/09/2014

مُساهمةموضوع: رد: دورة تعليمية لربط قواعد البيانات مع الفيجول بيسك ***   الإثنين سبتمبر 01, 2014 4:33 pm

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

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

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1

 مواضيع مماثلة

-
» دورة في الادوب فوتو شوب
» دورة القراءة السريعة
» نتائج امتحان شهادة البكالوريا دورة جوان 2012 بالأرقام
» النتائج الكتابية لمسابقة الإلتحاق بالمدرسة العليا للقضاء دورة 2012
» نتائج شهادة التعليم المتوسط لولاية بومرداس دورة جوان 2012

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
منتدى سوفت وير لكل العرب SOFTWARE FOR ALL ARAB :: -