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

ابحث عن دروس لربط الكومبو بوكس واللست بقاعدة البيانات

بدأه abade في 26 فبراير 2009 · 2 رد · 1,819 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

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

فليس من المعقول ان اقوم بادراج اي بيانات جديدة يود المستخدم ادراجها في الكومبو بوكس بواسطة الكود... اي بمعنى اني اجعل فورم لبيانات الموظفين وفورم اخر للاجازات على سبيل المثال فابهذه الطريقة اجعل المستخدم يقوم بكتابة اسم الموظف مرة اخرى في تكست بوكس وقد يخطى في الاسم .. او ان اقوم بعمل( كومبو بوكس) في فورم الاجازات وادخل البيانات بواسطة الكود وفي حال اراد المستخدم اظافة موظف كل ما علية ان يقوم بالاتصال بي ويخبرني انه بصدد اضافة موظف للكومبو بوكس واقوم انا بالذهاب الية وفتح البرنامج واضافة الموظف. وربما اخطى في اسم الموظف فيتصل بي ليخبرني ان اسم الموظف يحتاج الى تعديل واذهب الية مرة اخرى لاقوم بالتعديل وقس على ذلك اذا كان البرنامج كثير الواجهات.

اتمنى الحصول على دروس او امثلة تخص هذا الجانب

واعذروني على الاطالة

اخوكم - abade

#2

السلام عليكم...

بالطبع لست مضطراً لما ذكرته في سؤالك لأنه توجد مكونات (Components) جاهزة خاصة بهذا الأمر، و هي تأتي مع Visual Basic.

1. من القائمة Project اختر الأمر Components (أو اضغط Ctrl+T) لعرض نافذة المكونات.

2.

أ. إذا كنت تستخدم الـ Data Control العادي للربط مع قاعدة البيانات و الوصول إلى البيانات فابحث عن Microsoft Data Bound List Controls 6.0 و قم بتحديده ثم انقر OK فتتم إضافة مكونين هما: DBCombo و DBList.

ب. إذا كنت تستخدم الـ ADO Data Control للربط مع قاعدة البيانات و الوصول إلى البيانات فابحث عن Microsoft DataList Controls 6.0 OLEDB و قم بتحديده ثم انقر OK فتتم إضافة مكونين هما: DataCombo و DataList.

سنفترض أننا سنستعمل الـ Combo (سواء DBCombo أو DataCombo) فالخصائص و الشرح التالي ينطبق على كليهما (و كذلك الـ Lists) مع فرق وحيد سنذكره فيما بعد.

نفرض أن لدينا الجدول Employees لبيانات الموظفين و به الحقل EmployeeID لرقم الموظف (و هو المفتاح الرئيسي في الجدول)، و الحقل EmployeeName لاسم الموظف.

و نفرض أن لدينا الجدول Leaves للإجازات و به مجموعة من الحقول، بالإضافة إلى حقل باسم EmpID لرقم الموظف كمفتاح ثانوي للربط مع جدول بيانات الموظفين (Employees).

في نافذة تسجيل الإجازات التي يتم من خلالها حفظ البيانات في الجدول Leaves نريد أن يكون لدينا Combo تظهر به أسماء الموظفين (مأخوذة من الجدول Employees في قاعدة البيانات) حتى يختار منها المستخدم. لكننا في المقابل نريد أن يتم تخزين رقم الموظف (و ليس اسمه) في جدول الإجازات.

بمعنى أننا نريد ربط الجدولين بحيث يأخذ الجدول Leaves رقم الموظف من الجدول Employees.

يملك الـ DataCombo (و كذلك DataList و DBCombo و DBList) خمس (5) خصائص لهذا الغرض:

1. الخاصية DataSource لتحديد الـ DataControl أو الـ ADOControl المرتبط بالجدول الذي ستخزن فيه البيانات - في مثالنا هذا الجدول Leaves

2. الخاصية DataField لتحديد الحقل الذي سيأخذ قيمته من الـ Combo - في مثالنا هذا الحقل EmpID في الجدول Leaves

3. الخاصية الخاصية RowSource لتحديد الـ DataControl (إذا كنا نستخدم DBCombo أو DBList) أو الـ ADOControl (إذا كنا نستخدم DataCombo أو DataList) المرتبط بالجدول الذي ستؤخذ منه البيانات لعرضها في الـ Combo - في مثالنا هذا الجدول Employees حيث سنأخذ منه أسماء و أرقام الموظفين.

4. الخاصية ListField التي نحدد من خلالها الحقل الذي نريد عرض محتوياته في الـ Combo - في مثالنا هذا الحقل EmployeeName في الجدول Employess

5. الخاصية BoundColumn التي تحدد الحقل الذي نريد أن نأخذ منه القيمة لتخزينها في الحقل المحدد بالخاصية DataField في الجدول الأول - في مثالنا هذا الحقل EmployeeID في الجدول Employess (أي القيمة المأخوذة من الحقل EmployeeID سيتم تخزينها في الحقل EmpID).

إذن الخاصيتان الأولى و الثانية لهما علاقة بالجدول الذي نريد التخزين فيه (الإجازات) و الخصائص الثلاث الأخرى لها علاقة بالجدول الذي سنأخذ منه البيانات (بيانات الموظفين).

إذا كنت تعتمد في عملية حفظ البيانات على ربط المكونات (مثل الـ TextBox و CheckBox و غيرها) مباشرة بالـ Data Control أو الـ ADOControl فأنت تحتاج إلى ضبط الخصائص الخمس المذكورة سابقاً بحيث يتم تخزين رقم الموظف الذي يتم اختيار اسمه من الـ Combo

أما إذا كنت تستخدم الكود لحفظ البيانات فإنك تحتاج فقط إلى ضبط الخصائص الثلاث الأخيرة (RowSource و ListField و BoundColumn) للحصول على البيانات من الجدول Employees ثم استعمال الخاصية BoundText للـ Combo للحصول على رقم الموظف الذي يتم اختياره. الخاصية BoundText متوفرة أثناء التنفيذ فقط، أي بالكود، و ليست موجودة في نافذة الخصائص.

حاول تجربة ذلك و ستكون الأمور أوضح.

نرجو الاستفادة و السلام.

تم تعديل هذه المشاركة بواسطة najy_zl في 26 فبراير 2009 في 22:44

وَ قُلِ اعْمَلُوا فَسَيَرَى اللهُ عَمَلَكُمْ وَ رَسُولُهُ وَ الْمُؤْمِنُونَ

صدق الله العظيم

#3

اشكر لك اخي الكريم هذا الشرح المفصل وسوف اقوم بتجربتة هذه الطريقة باذن الله في البرنامج

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…