Home      Articles archive       Forum        Library       Contact us
  Main Menu
  اللغة
  Log in
Username:

Password:

Remember me



Lost Password?

Register now!
  Search
  Article Topics
  Last Posts
 
  New Books
  This Page Visitors
Today 7
Yesterday 12
Total 1051377
  Site
Report message:*
Confirmation Code*

Click to refresh the image if it is not clear enough.


Input letters in the image
The code is case-sensitive
Maximum attempts you can try: 3
 

رد: أرجو المساعدة في حل مشكلتي مع الدالفي

Subject: رد: أرجو المساعدة في حل مشكلتي مع الدالفي
by Orwah Issa on 2017/3/21 17:53:17

عادة نربط جدول المداخيل (تفصيلي) مع جدول الموظفين (رئيسي) وليس العكس
للقيام بذك
نضيف حقل إضافي في جدول المداخيل هو رقم الموظف , في هذا الحقل نسجل رقم الموظف الذي تتبع له القيمة الحالية , وعن طريق هذا الحقل يتم الربط بين الجدولين .
الآن كل قيمة في جدول المداخيل (التفصيلي) يمكنني أن أعرف لأي موظف تابعة وذلك عن طريق الحقل الجديد الذي اسجل فيه رقم الموظف .

ماتبقى هو بسيط جدا , وهو ربط الجداول ضمن الدلفي وفق علاقة رئيسي-تفصيلي (master-detail)

1- الجدول الرئيسي الموظفين لاتغيير عليه
2- جدول المداخيل التفصيلي , نحدد له الجدول الأب عن طريق خاصية MasterSource
ثم نضبط الحقول التي سوف ترتبط مع بعضها وهي رقم الموظف في الرئيسي مع رقم الموظف في التفصيلي عن طريق خاصية MasterFields

الآن الجدولان مرتبطان معا , وبالتالي الجدول التفصيلي لن يعرض سوى القيم الموافقه للسجل الحالي من الجدول الرئيسي .
وعند اختيار موظف معين يعرض لائحة المداخيل الخاصه به فقط ,

للقيام بذلك عن طريق sql . نستخدم مكونات Query من أجل الجدول التفصيلي
- نضبط خاصية Datasource إلى الجدول الرئيسي (الموظفين)
- في عبارة sql وضمن الشرط where نمرر اسم الحقل في الجدول الرئيسي وكأنه بارامتر عن طريق النقتطين ":" مثال :
select from detail
where m_id
=:id

حيث id هو رقم الموظف في جدول الموظفين


اذا لم نرد استخدام الطريقة التقليدية في الربط , وأردنا القيام بذلك خطوة واحدة عن طريق عبارة SQL واحدة يمكن اتباع الاستعلام التالي :
select m.*,sum(d.salary) as salary ftom 
detail 
as d,master as m
where 
d
.m_id m.id
And
m.name='my name'


وهذا سوف يعرض كامل معلومات الموظف من جدول الموظفين (m.*) مع مجموع مداخيله من جدول المداخيل sum(d.salary) بناء على الاسم المعطى




عروة نت 2003-2016 . بالاعتماد على زوبس