الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

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

مغلق
بدأه hichamchak في 18 ديسمبر 2005 · 4 رد · 4,289 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

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

طبعا هذا الدرس من الدروس المتقدمة في نظري لذلك لن يكون في الدرس صور لأنه يفترض أن القارىء يكون ملم بالأساسيات من إضافة الأزرار ومربع النص وغيرها .

أنا سأتبع في شرحي للموضوع الآتي :-

* إعتماد النسختين الإنجليزية والمعربة.

* سيكون الشرح على الإصدار السادس.

*شرح الأكواد بشيء من التفصيل .

بسم الله نبدأ الدرس الاول .

أولاً/ يجب أن يكون عندك قاعدة بيانات جاهزة .

ثانيا / قم بحفظ المشروع في مجلد القاعدة.

س/ ماذا سأفعل بعد تنفيذ الخطوة الأولى والثانية ؟

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

1/ سنستخدم تقنية DAO وذلك بإضافة المكتبة الخاصة بها.

2/ سنضيف موديول .

3/ سنجعل الموديول في بدأ التشغيل.

4/ستكون هناك أكواد مكتوبة في الموديول وأخرى في حدث تحميل الفورم.

هذا تصور عن ماذا سنفعل والآن لندخل في الجد .

لنتفرض أن لدينا قاعدة بيانات بإسم (A) وجدول بإسم b وأن الجدول يحتوي على حقلين الأول (name) والثاني (num) على هذا الإفتراض سنبدأ وأنت ضع المناسب لك .

الخطوة الأولى/ نقوم بإضافة مكتبة DAO وذلك بإتباع التالي:-

من القائمة المنسدلة مشروع (Project) نختار الأمر مرجعية (Refrence) ثم نحدد الإختيار

Microsoft DAO 3.51 Object Library وبعدها نضغط موافق.

الخطوة الثانية/ نضيف للمشروع موديول وذلك بإتباع الآتي:-:-<ملاحظة / لا تهتم لحرف W الذي في الكود لآني كتبتة لأجل أن يستقيم الكود>

من القائمة المنسدلة مشروع (Project) نختار الأمر أضف وحدة نمطية (Add Module).

الخطوة الثالثة/ نكتب الكود التالي في الموديول:

Public d As Database
Public t As Recordset
Private Sub main()W
Set d = DBEngine.Workspaces(0).OpenDatabase(App.Path & "\A.mdb")W
Form1.Show
End Sub

الشرح/ في السطر عرفنا متغير d على أنه قاعدة بيانات وفي الثاني عرفنا متغير t على أنه جدول في الثالث إسم لإجراء

في السطر الرابع قمنا بإسناد قاعدة البيانات للمتغير d وذلك كالتالي:-

أمر الإسناد set ثم إسم المتغير d ثم نوع قاعدة البيانات DBEngine وهذا محرك قاعدة البيانات من نوع access

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

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

وفي السطر الخامس أمر إستدعاء الفورم

وفي السادس إنهاء الإجراء

الخطوة الرابعة/نجعل الموديوم في بدأ التشغيل وذلك بإتباع التالي:-

من القائمة المنسدلة مشروع (Project) نختار الأمر خصائص المشروع (Project1.proprties)ومن القائمة المتسدلة بدأ التشغيل

(startup object)نختار sub main.

الخطوة الخامسة/ ربط الجدول الذي أسميناه b ولتحقيق ذلك إتبع الآتي :-

أكتب الكود التالي في حدث تحميل الفورم { لا تهتم للـ(W) التي توجد في الكود}

Private Sub Form_Load()W
Set t = d.OpenRecordset("B", dbOpenTable)W
End Sub

شرح الكود/بدأنا الكود بأمر الإسناد ثم إسم القيمة التي سنسد قيم الجدول فيها وهي التي عرفناها في الموديول بإسم t بعدها وضعنا إسم المتغير الذي أسندنا القاعدة الأصلية إلية.

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

الخطوة السادسة/ إظهار البيانات للمستخدم ولتنفيذ ذلك إتبع الآتي :-

أولاً/ نقوم بتصميم الواجة ونجعل فيها أداتين مربع نص (Textbox) وأزرار وسنذكرها في الجزء الثاني

س/ لماذا أداتين ؟ ج/ لأن عدد الحقول في القاعدة التي إستخدمناها في الشرح حقلين .

ثانياً/ أكتب الكود التالي :-

Private Sub showdata()W
If t.RecordCount < 1 Then Exit Sub
Text1.Text = t!Name
Text2.Text = t!num
End Sub
Private Sub Form_Load()W
Set t = d.OpenRecordset("B", dbOpenTable)W
Call showdata
End Sub

الشرح/في السطر الثاني أمر إن كان الجدول لا يحتوي شي أخرج من الإجراء طبعا إن كان العكس فسينفذ البرنامج

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

ثم أنهينا الإجراء وبعد ذلك بدأنا إجراء آخر والهدف منه إظهار محتويات الجدول في مربع النص المقابل

وكان الإجراء في حدث التحميل للفورم .

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

تم تعديل هذه المشاركة بواسطة hichamchak في 18 ديسمبر 2005 في 18:15

127gq4.png
#2

السلام عليكم

أود أن أشكرك على هذا الدرس الرائع

سلمت يمناك، سأطبقه وأرد عليك

بالتوفيق

اللهم صل وسلم وزد وبارك على سيدنا محمد وعلى آله وصحبه وسلم

تعلم كيف تقرأ من ملف باستخدام لغة السي

Routers Programming-الدرس الأول

#3

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

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

بسم الله نبدأ:-

أولاً/ كود زر التالي طبعاً قم بنقر الزر المراد مرتين لتظهر شاشة الكود الخاصة به وهذا سيكون مع جميع الأزرار

أكتب الكود التالي في حدث كليك للزر .

t.MoveNext
Call showdata

لاحظ أننا إستخدمنا المتغير t الذي أسندنا الجدول إلية كما سبق

ثانياً/ كود زر السابق

أكتب الكود التالي في حدث كليك للزر

t.MovePrevious
Call showdata

ثالثا/ كود زر الذهاب لأول حقل

t.MoveFirst
Call showdata

رابعاً/ كود زر الذهاب لآخر حقل

t.MoveLast
Call showdata

الآن لدينا مشكلة وحل لهذه المشكلة

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

حل هذه المشكلة كالتالي:-

ضع جملة شرطية بعد كتابة الكود

بعد كود التالي

If t.EOF Then t.MoveLast

بعد كود السابق

If t.BOF Then t.MoveFirst

ماذا فعلنا في الخطوة السابقة

الجواب/ إستخدمنا الدالة EOF لمعرفة آخر سجل و BOF لمعرفة أول سجل

والأمران Movefirst و MoveLast لا تتأثران سواء كان هناك سجل أم لا.

بهذا سيكون كود التالي كالتالي

t.MoveNext
If t.EOF Then t.MoveLast
Call showdata

وكود السابق

t.MovePrevious
If t.BOF Then t.MoveFirst
Call showdata

بهذا نكون قد أنهينا أكواد الإنتقال والآن نكمل بقية الأكواد

خامساً/ كود إضافة جديد <ملاحظة لا ترعي لـ(W) التي في الكود أي إهتمام لأني كتبتها ليستقيم الكود

t.AddNew
Text1.Text = ""W
Text2.Text = ""W

لا حظ أننا قمنا بتهيئة مربع النص لإستقبال الجديد

سادساً/ كود زر حفظ

قبل ذكر الكود يجب أن تتأكد من أن خاصية Enabled لزر حفظ = false وهذا واضح إن شاء الله

الكود <لا تراعي حرف W>

t!Name = Text1.Text
t!num = Val(Text2.Text)W
t.Update

لا حظ أننا أضفنا في كود إضافة الرقم val وهذا يعني أن هذا الحقل حقل رقمي .

سابعاً/ كود تعديل سجل

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

t.Edit

ثامناً/ كود زر حذف

t.Delete
t.MoveNext
If t.EOF Then t.MoveLast

لا حظ أننا قمنا بوضع أمر الإنتقال للتالي وكذلك وضعنا حل لمشكلة ما إذا كان الجدول لا يحتوي على سجل تالي

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

تم تعديل هذه المشاركة بواسطة hichamchak في 19 ديسمبر 2005 في 16:02

127gq4.png
#4

مشكور اخي العزيز ويعطيك العافية

158.gif

هناك فرق بين أن تكبر بالعمر

، و أن تكبر بالعقل
فالأولى ، إجباري
، والثانية اختياري .."
 
 

164684_514411088579476_442405016_n.jpg

#5

اشكرك اخوي على الدروس

وان شاء الله راح اطبقها على مشروعي

هذا الموضوع مغلق.

مواضيع مشابهة