منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
القوة والسرعة مع Lookup - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة Delphi (http://vb4arb.com/vb/forumdisplay.php?fid=213)
+--- قسم : قسم أمثلة ومشاريع Delphi (http://vb4arb.com/vb/forumdisplay.php?fid=216)
+--- الموضوع : القوة والسرعة مع Lookup (/showthread.php?tid=29902)



القوة والسرعة مع Lookup - viv - 18-06-19

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

[attachment=21768]

الجدول الاول كما بالصورة :

[attachment=21775]

ولدينا حقل mname نحفظ فيه رقم الصنف 

والجدول الثاني لنفرض الخاص بالاصناف كما بالشكل التالي:

[attachment=21776]

وفيه مثلا كل الاصناف

الان انشئ مشروع جديد واربط الادوات ببعضها كما تعلمنا في دروس سابقة
تم انقر على الجدول الاول بزر الفأرة الايمن واختر Field Editor كما بالصورة :

[attachment=21769]


تظهر لك نافذة انقر بزر الفأرة الايمن واختر Add all fields كما بالصورة

[attachment=21770]

تظهر كل الحقول الان انقر بزر الفأرة الايمن واختر New field لتظهر النافذة التالية

[attachment=21771]

الان وضعت لك ارقام 
1: اسم الحقل الذي تريده لاستقبال قيمة اسم الصنف
2: نوع الحقل طبعا نصي
3: مجاله سيكون بعدد حروف حقل اسم الصنف مثلا 31
4: نوع الحقل Lookup ولاحظ هناك خياران اخران مهمان لهما وضائف مهمة سوف نتطرق لها يوما
5: اختر الحقل المرتبط بالجدول الاول
6: الداتا سيت التي فيها الحقل
7: اسم الحقل المرتبط به بالجدول الثاني
8: الداتا سيت المرتبطة بالجدول الثاني



تم OK وافتح الاتصال

ولاحظ النتيجة 

[attachment=21772]

كما ترى الحقل تم اضافته باخر الحقول وهو يحمل اسم الصنف بينما لو تركنا الامر كما هو فستكون النتيجة هي ظهور رقم الصنف كما بالحقل الثاني mname 

الان تستطيع اخفاء حقل رقم الصنف والعمل على الداتا سيت من اضافة وتعديل بشكل طبيعي كما تعلمنا سابقا

ولديك ايضا اداة اسمها DBLookupComboBox يمكنها الاتصال بالجدولين وان ترعض لك اسم الصنف بدل رقمه
لتغيير نوع الصنف بالسجل انظر للشكل التالي:

[attachment=21773]

تحتوي على بعض الخصائص لربطها
DataSource وهي الداتا السيت للجدول الرئيسي 
DataFiled وهي اسم حقل الصنف بالجدول الرئيسي
ListSource وهي الداتا سيت لجدول الاصناف
ListFiled اسم الحقل للصنف
KeyFiled رقم تعريف


لتحميل المثال من هنا

[attachment=21774]


RE: القوة والسرعة مع Lookup - awidan76 - 18-06-19

اخي الغالي viv 
مش عارف ايش اللي حصل عند تشغيل المثال ماظهرش حاجة ,الغريبة مافي رسالة error 
مافي بيانات ظاهرة  كما في الصورة 
[attachment=21781]
وكمان حاجة ثانية لازم تعطينا نبذه عنها
ماهي الملفات التي ظهرت في مجلد المشروع كلما انشأت مروع 
[attachment=21782]
 وكمان ده 
[attachment=21783]

يعني نريد شرح  عنك الملفات التي تظهر عند انشاء اي مشروع 
ولك جزيل الشكر 

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

لكن هذه المرة لا اريد الهروب لازم اتعلم للديلفي 
خصوصاً الاخ امير الزبيري مجود ومهتم بالديليفي 
Shy


RE: القوة والسرعة مع Lookup - viv - 18-06-19

بالنسبة لانه لم يظهر شئ فلانك لم تغير مسار قاعدة البيانات
انا لضيق الوقت لم افعل واشرت الى ضرورة مراجعة الدروس السابقة
انظر هنا لكيفية تغيير مسار قاعدة البيانات وفتح الاتصال وراجعا لدروس الاخرى ايضا

http://vb4arb.com/vb/showthread.php?tid=29855

بالنسبة للملفات لا توجد بيئة ليس لها ملفات للمشروع حتى فيجوالبيسك 6 .
وهي ملفات ليس المطلوب منك ابدا ان تهتم بها او تعدل فيها يكفيك فيها ملف واحد فقط وهو ملف المشروع بالامتداد Exe وهو الذي سوف تعطيه للزبون 
اي هو ناتج برنامجك .


RE: القوة والسرعة مع Lookup - awidan76 - 18-06-19

قمت بتغيير مسار قاعدة البيانات من مكون الاتصال على النموذج


لكن لم تظهر بيانات 

[attachment=21791]


اخي ان كنت مشغولاً فممكن حد من الاخوه يحل المشكلة جزاكم الله خيراً


RE: القوة والسرعة مع Lookup - viv - 18-06-19

على مكون الداتاسيت تجد خاصية Active قمت بجعلها True 

انظر الى اعلى خاصية هنا لاتأخذ على الخطوط الحمراء هي صورة نقلتها من الدرس الاخر




RE: القوة والسرعة مع Lookup - awidan76 - 19-06-19

تم الحل يجب تحديد مسار قاعدة البيانات من ADOConnection1
وكذالك من خاصية   conncectingstring
 الخاص بADOTable1 

[attachment=21797]

والنتيجة 

[attachment=21798]


شكراً وجزاك الله خير 

ايوه كدة كل يوم يزداد حبي للديلفي

مشكور ماقصرت


RE: القوة والسرعة مع Lookup - viv - 19-06-19

إقتباس :تم الحل يجب تحديد مسار قاعدة البيانات من ADOConnection1

وكذالك من خاصية   conncectingstring
 الخاص بADOTable1 

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