بتاريخ: 12 مارس 200719 سنة comment_93742 يا شباب عندي مشكلة في الفورمعندي فورمين وكل واحد فيه جدول وبينهم عمود مربوط بينهم السؤال عندي عمود اسمه MOV_ID هذا هو العمود الرابط بينهم في الفورم الرئيسي بيانات وفيه عمود COPIES وفي الفورم الفرعي ايضا COPIES يا شباب اريد عندما يدخل المستخدم الرقم في MOV_ID ثم يدخل اي رقم في COPIES وبعد ان يضغ زر الحفظيقوم الجدو الرئيسي تلقائيا بنقصان القيمة الموجدوة في حقل COPIES أرجو ان تكون الفكرة وصلت بالله اريدها بالشرح تقديم بلاغ
بتاريخ: 12 مارس 200719 سنة comment_93753 السلام عليكم ورحمة الله و بركاته أخي الكريم يمكنك تحقيق ذلك عن طريق استخدام ال DATABASE TRIGGERSفيمكنك عمل تريجر علي الجدول الDETAIL يقوم بتعديل عدد النسخ الرئيسية عند ادخال نسخ جديدة في الDETAIL اوحتي عند تعديل عدد النسخ او حذف السجل الفرعي تماما و هذا المثال يوضح ذلك CREATE OR REPLACE TRIGGER reset_copies AFTER INSERT OR UPDATE OR DELETE ON detail_table FOR EACH ROW DECLARE V_DIFF NUMBER; BEGIN IF INSERTING THEN UPDATE main_table SET copies = copies - :NEW.copies WHERE mov_id = :NEW.mov_id; ELSIF UPDATING THEN V_DIFF:=(:NEW.copies - :OLD.copies)*-1; UPDATE main_table SET copies = copies + V_DIFF WHERE mov_id = :NEW.mov_id; ELSIF DELETING THEN UPDATE main_table SET copies = copies + :OLD.COPIES WHERE mov_id = :OLD.mov_id; END IF; END; حيث الMAIN_TABLE هو الجدول الرئيسي الموجود به عدد النسخ المتبقية و الDETAIL_TABLEهو الجدول الذي تقوم بالتعديل او ادخال عدد النسخ فيه و التريجر يعمل كالتالي بفرض ان تخميني صحيح و ان هذا لفيلم يتم تأجيره اذا كان عدد النسخ الاولية هو 50 ثم تم تأجير عدد 10 نسخ فسيتم تعديل عدد النسخ المتبقية الي 40و اذا تم تعديل ال10 نسخ الي 8 فقط فسيتم اضافة 2 نسخة الي النسخ المتبقية لتصبح 42 و اذا تم حذف السجل كاملا سيتم اعادة تعديل النسخ المتبقية مرة اخري الي 50 بعد اضافة ال12 نسخة التي تم حذفهم طبعا من الفورم يجب ان تتحقق من ان عدد النسخ المدخلة في التفاصيل و ليكن المؤجرة لا تتجاوز عدد النسخ الباقية في الجدول الرئيسي و غير ذلك من الVALIDTIONارجو ان يكون الشرح وافيا و اذا كان هناك مشكلة اعرضها هنا مرة اخري ليتم بحثها مع تمنياتي بالتوفيق تقديم بلاغ
بتاريخ: 12 مارس 200719 سنة كاتب الموضوع comment_93772 يا اخي انا عندي فورمين وفي كل فورم جدول هل هذا الكود ينفع في هذه الحالة تقديم بلاغ
بتاريخ: 12 مارس 200719 سنة كاتب الموضوع comment_93782 يا اخي لو سمحت تشرح اين اضع هذ ا الكود في تريقر وكلما وضعته في اي تريقر يأتي الخطا في اول سطر create ارجو ان شرح لي وشكرااااااااا تقديم بلاغ
بتاريخ: 13 مارس 200719 سنة comment_93802 السلام عليكم التريقر المقصود في رد الاخ hanon_OCP --- يخزن في قاعدة البيانات وليس مرتبط باي فورمولكي تقوم بتخزينة افتح ال SQL*Plusوالصق الكود هناك وشكرا تقديم بلاغ
بتاريخ: 13 مارس 200719 سنة comment_93807 يمكنك تحقيق ذلك عن طريق استخدام ال DATABASE TRIGGERS أخي الكريم كما هو موضح بكلامي في الأعلي و كما أوضح الأخ عادل 2005 مشكورا في رده هذا database triggers ولا يكتب في الفورم قم بانشائه عن طريق الSQl PLUS كما أوضح لك الأخ عادل 2005و نعم هو يعمل علي مستوي قاعدة البيانات بغض النظر عن مكان التعامل مع البيانات سواء فورم او ويب بيج او غيره بالتوفيق تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.