delphi4arab منتديات دلفي للعرب

نسخة كاملة : فيما يتعلق بإظهار معطيات بعض الحقول
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله تعالى وبركاته
لدي جدول اسمه Table_Rubrique
والثاني إسمه Table_Pers
جدول Table_Rubrique
يحتوي على 7 حقول
CD_RB نوع SMallint : رمز عنصر الراتب
LB_RB نوع string إسم عنصر الراتب
BS_RB نوع fLOAT : قاعدة العنصر
TX_RB نوع fLOAT : العنصر يحسب بالنسبة او بالعدد
MT_RB نوع fLOAT : مبلغ
SS_RB نوع LOGICAL : هل العنصر خاضع للضمان الإجتماعي أم لا
IP_RB نوع LOGICAL : هل العنصر خاضع للضريبة أم لا
Mde_RB نوع sTRING : العنصر سالب أو موجب +/-
BL_RB نوع LOGICAL : هل هذا العنصر يستفيد منه الموظف أم لا

الجدول الثاني Table_Pers
يحتوي على معلومات الموظف وبه عدة حقول اذكر منها البعض
CD_PERS نوع smallint : رمز الموظف وهو مفتاح
CD_RB نوع smallint : رمز عنصر الراتب
LB_PERS نوع string : إسم الموظف
BL_PERS نوع Logical : وضعية الموظف
الخ.......)
المطلوب كيف اربط Table_Rubrique مع table_Pers بحيث يتم التغيير به حسب كل موظف مع الحفاظ على معطيات كل موظف يعني كلما انتقلت من موظف الى آخر اجد كل موظف له العناصر التابعة له وربما تختلف من موظف الى موظف
يعني Table_Rubrique يكون مملوء تلقائي اي يتم إملائه مرة واحدة على فورم خاصة به وDBGrid
وعندما اربطه بـ Table_Pers التعديل يتم به من خلال الحقل BL_RB فقط يعني حسب كل موظف
اتمنى ان اكون قد وفقت في التوضيح كما اتمنى الإجابة على هذا الموضوع وغن كان هناك مناقشة فانا مستعد للمناقشة
وسارفق مثال بسيط على الموضوع في مشاركة أخرى
وجزاكم الله عنا كل خير
و عليكم السلام و رحمة الله و بركاته


هل جدول
Table_Rubrique هو الجدول الأب لـ Table_Pers أم العكس
1 --------------------> n

أم أني لم أفهم السؤال جيدا ! :cryss:
لقد هيئت مثال وهو بالمرفقات ختى يتمكن الكل من فهم الموضوع
Lam.Abdeldjalil كتب :Table_Rubrique هو الجدول الأب لـ Table_Pers أم العكس
1 --------------------> n
بالعكس الأب هو Table-Pers
كما هو موضع في المرفق
السلام عليكم

( لم أستعمل هذا النوع من قواعد البيانات من قبل لكن الأساس واحد )
بحسب فهمي يبدو أنك عكست الحقول الخارجية:

1- إضافة الحقل CD_PERS إلى الجدول Table_Rubrique كمفتاح خارجي
2- حذف الحقل CD_RB من الجدول Table_Pers

ثم تربط بين الجدولين الأب-إبن

* إذا كنت تستعمل Table - ضع MasterSource للجدول Table_Rubrique : القيمة
Table_PersDataSource
- ثم إضغط على MasterFields ... واربط بين الحقلين CD_PERS و CD_PERS للجدولين ثم Add ثم Ok

* إذا كنت تستعمل Query- ضع DataSource للإستعلام Query_Rubrique : القيمة
Query_PersDataSource
- و الإستعلام يكون بالشكل التالي :
كود :
select * from Table_Rubrique where CD_PERS=:CD_PERS

أتمنى أن يكون ساعدك الحل :unsure:

والسلام عليكم
السلام عليكم أخي وجزاكم الله عنا كل خير
فعلاً كانت الأمور لدي معكوسة
هناك خطأ
المعطيات تظهر في السجل الأول فقط
كيف ظهورها في كل السجلات بمجرد ما اضيف سجل جديد واذهب الى الفورم 3 اجد به كل معطيات Table_Rubrique
السلام عليكم

لم أفهم ماذا يحصل مع مشروعك
صنعت قاعدة بيانات أكسس و الإتصال ADO حين عملت على مشروعك : - نفس المشكل الحاصل معك

لكن عندما فتحت مشروعا جديدا حل المشكل كيف ؟ الله أعلم
في الملف المرفق


فقط ملاحظة صغيرة :

لا تدع المستخدم يضيف أو يعدل في الجدول الإبن أثناء الإضافة أو التعديل في الجدول الأب

إذا وجدت سبب المشكل لا تنسنى لأنه :monster2:
السلام عليكم ورحمة الله تعالى وبركاته
اخي ربما الطرح الذي طرحته عليكم مؤخرًا لم يفهم على ما أظن
كيف يظهر لي معطيات الجدول الإبن تلقائيًا في كل سجل جديد في الجدول الأب
اكلما اضفت سجل في الجدول الأب اجد الجدول الإبن مملوء تلقائيًا بالمعطيات الموجودة به
لقد شاهدت عند احد الأصدقاء برنامج يعمل بهذه الطريقة اي كلما اضفت سجل جديد على الجدول الأب اجد الجدول الإبن مملوء تلقائيًا
اايضا اذا اقتضلاى الأمر على ان ترفق لي مثال اتمنى ان يكون بقاعدة البيانات برادوكس باستعمال المكونات table و datasource وليس بالـ adotable وملحقاته
و عليكم السلام ورحمة الله تعالى و بركاته

فيما يخص ملء الحقول في الجدول الإبن لايتم تلقائيا بل برمجيا

ويكون في الحدث AfterPost للجدول الأب ( لأنك قلت كلما اضفت سجل جديد على الجدول الأب اجد الجدول الإبن مملوء تلقائيًا )

بحيث تقوم بإضافة التسجيلات سطر سطر

مثال :

كود :
procedure TDataModule2.Table_PersAfterPost(DataSet: TDataSet); begin Table_Rubrique.Append ; Table_RubriqueLB_RB.Value :='الضريبة1'; Table_RubriqueBS_RB.Value :=1500; Table_Rubrique.Post ; Table_Rubrique.Append ; Table_RubriqueLB_RB.Value :='الضريبة2'; Table_RubriqueBS_RB.Value :=1500; Table_Rubrique.Post ; end;

إن شاء الله هذا هو الحل

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

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

اتمنى ان يكون الطلب اسهل من المطلوب الأول
وجزاكم الله عنا كل خير
السلام عليكم

جرب هذا الحل (في الرابط)
http://www.delphi4arab.net/forum/showthr...#post18818