بتاريخ: 1 يناير 200620 سنة comment_56283 لماذا يا شباب لما أنفذ هذه الـ PL/SQL على الـ Tabulareينفذها جميعها على الTabulare ، ماعدى العملية الحسابية التي تطرح تاريخين وتضعه في الحقل الملون يظهرها ماعدى آخر سجل لماذ ؟أرفق لكم صورة من الفورم للتوضيح ...........[sQ]DECLARE FD DATE; M_D CHAR(10); CURSOR IN_DOCS IS SELECT IN_ID,IN_DATE,IN_FROM,IN_STARTPROCESS,IN_PROCESSTIME,IN_SUBJECT,IMP_NAME FROM IN_DOC,DEPT_MANAGER,IN_IMPORTANT WHERE IN_TO_DEPT4 = DEPT_ID AND IN_IMPORT = IMP_ID AND IN_TO_DEPT4=5 AND IN_STATUSS IN (2,3,6,7,8); BEGIN GO_BLOCK('IN_DOC'); FIRST_RECORD; OPEN IN_DOCS; LOOP FETCH IN_DOCS INTO :IN_DOC.IN_ID,:IN_DOC.IN_DATE,:IN_DOC.IN_FROM,:IN_DOC.IN_STARTPROCESS,:IN_DOC.IN_PROCESSTIME,:IN_DOC.IN_SUBJECT,:IN_DOC.IMP_NAME; FD := :IN_DOC.IN_STARTPROCESS + :IN_DOC.IN_PROCESSTIME; IF to_char(SYSDATE,'dd-mm-yyyy') >= to_char(FD,'dd-mm-yyyy') THEN Set_Item_Instance_Property( 'IN_DOC.DUE', CURRENT_RECORD,VISUAL_ATTRIBUTE,'ATT1'); ELSE Set_Item_Instance_Property( 'IN_DOC.DUE', CURRENT_RECORD,VISUAL_ATTRIBUTE,'ATT2'); END IF; M_D:= to_char(FD,'dd')- to_char(sysdate,'dd'); :IN_DOC.DUE := TO_DATE(M_D,'DD'); NEXT_RECORD; EXIT WHEN IN_DOCS%NOTFOUND; END LOOP; CLOSE IN_DOCS; FIRST_RECORD;END;[/sql]حيث أن العملية الحسابية التي تطرح التاريخين هي : M_D:= to_char(FD,'dd')- to_char(sysdate,'dd'); :IN_DOC.DUE := TO_DATE(M_D,'DD'); ZZF.bmp تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.