بتاريخ: 18 أغسطس 200817 سنة comment_136332 السلام عليكم اقبلوا مني هذه المشاركة المكررة اخوتي الاعزاء ؛اذا كان هناك فورمة تتعامل مع جدولين، الجدول الاول موجود في هيكل الفورمة (استخدمنا الداتا بلوك وزارد) والثاني نتعامل معه من خلال استدعاء بروسيجر في الunit program .... فلماذا عندما اغير في كلا الجدولين ثم اكتب ايعاز commit في البروسيجر الذي في الunit program يتم خزن التغييرات في لكلا الجدولين ؟؟؟؟وانا لا اريد هذا الشيء !!! بل اريد ان اخزن لكل جدول على حدا افيدوني افادكم الله والله لا يضيع اجر من احسن عملا ....اذا ممكن المراسلة على العنوان [email protected]اخوكم عمار ظاهر تقديم بلاغ
بتاريخ: 19 أغسطس 200817 سنة comment_136469 جرب استخدام التالي في البروسيجرإذا كانت الجملة متعلقة بجدول وليس بالشاشةforms_ddl('commit'); تقديم بلاغ
بتاريخ: 19 أغسطس 200817 سنة comment_136500 ربما لأن البلوك الأول اخي الكريم database ----> yes فعندما يتم عملية الحفظ سيتم الحفظ في الجدولين معا تقديم بلاغ
بتاريخ: 19 أغسطس 200817 سنة comment_136519 الأخ الكريم ... أولاً مفيش حفظ إلا بعد إجراء Commit علي السجلات !!!لو كنت عايز تعمل حفظ للجدولين في آن واحد فالحل الوحيد هو إنشاء البلوك الأول علي النموذج ... وفي حدث Post-Insert و Post-Update و Post-Delete تدرج فية أو تعدل أو تحذف علي الجدول الثاني ... ولا تنسي تعليمة Commit ... مثال :لدينات جدولين ، الأول Emp1 والثاني Emp2 ، ويحتويان علي حقلين ، الأول Emp_No والذي يتم إدراجة تلقائياً ( ترقيم تلقائي ) ، والحقل الثاني هو Emp_Name ، والذي يتم إدراجة بواسطة الموظف !!!1- أدرج بلوك بيانات للجدول Emp1 وأربط مع جدول Emp1 وكذلك حقلي الـ Emp_NO و Emp_Name ، وأعرض الإسم فقط ولا تعرض الرقم الكودي ( ترقيم تلقائي ) .2- في حدث Pre-Insert أدرج الكود التالي لإجراء عملية الترقيم التلقائي : Select NVL(Max(Emp_NO),0) + 1 Into :Emp1.Emp_NO From Emp1; 3- في الحدث Post-Insert أدرج الكود التالي : Insert Into Emp2(Emp_No,Emp_Name) Values(:Emp1.Emp_No,:Emp1.Emp_Name); Forms_DDL('Commit'); 4- في حدث Post-Update أدرج الكود التالي لإجراء عملية التعديل : Update Emp2 Set Emp_Name = :Emp1.Emp_Name Where Emp_No = :Emp1.Emp_No; Forms_DDL('Commit'); 5- أما هذا الكود في حدث Pre-Delete لحذف السجل التي تم حذفة كما يلي : Delete From Emp2 Where Emp_No = :Emp1.Emp_No; Forms_DDL('Commit'); بالتوفيق تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.