لقد عملت فورم من نوع Tabulare ، وضعت فيها الـ id,name,hiredate
ثم عملت مقارنة بعد كل fetch في الـ cursor حيث : إذا كان الـ sysdate أكبر من او يساوي الـ hiredate
فيغير لون حقل الـ ID إلى الأحمر ، أما اذا كان اصغر منه فيغير لون حقل الـ ID الى الأخضر .
ولكن لم ينفع حيث لا يقارن sysdate بالـ hiredate
IF(SYSDATE >= :HIREDATE)THEN
لما كتبت هذه الجملة " لا يقارن sysdate بالـ hiredate " لم اقصد انه يعطيني رسالة خطأ أنما النتيجة التي بالفورم ليس صحيحة
ولكن لما اكتبله :
IF(SYSDATE >= :SYSDATE+1)THEN
فانه يعطي النتيجة بالشكل الصحيح ، ولكني اريده يقارن الـ SYSDATE بالـ HIREDATE
هذا هو كود الـ Tabulare :
DECLARE
CURSOR INFO IS SELECT ID,NAME,HIREDATE
FROM TEST ;
BEGIN GO_BLOCK('TEST');
FIRST_RECORD;
OPEN INFO;
LOOP
FETCH INFO INTO :TEST.ID,:TEST.NAME,:TEST.HIREDATE; IF(SYSDATE >= :HIREDATE)THEN
set_item_property('ID',background_color,'r100g25b0');
ELSE
set_item_property('ID',background_color,'r25g100b0');
END IF;
NEXT_RECORD;
EXIT WHEN INFO%NOTFOUND;
END LOOP;
CLOSE INFO;
FIRST_RECORD;
END;أضفت الجدول والقيم في ملف من نوع txt وكذلك الفورم ، ارجو مراجعة الفورم وحل المشكلة
ولن انسى الذي يساعدني بالدعاء له : اللهم اجعل مثواه الجنة من يساعدني في حل هذه المشكلة ،، اللهم آمين