بتاريخ: 26 مايو 200817 سنة comment_129659 السلام عليكم ورحمة الله وبركاته أخواني الاعزاء مشرفين واعضاء ومشتركين عندي مشكلة عويصة في الشغلوهيفي احدى الشاشات يوجد تاريخين وهما تاريخ استقبال الطلب وتاريخ الرد على الطلب والتاريخين معرفين ((( Datetime ((( DD/MM/YYYY HH24:Miوالمشكلة هي اريد انا اطرح تاريخ الرد على الطلب من تاريخ طلب الطلب ويجب ان تكون النتيجة بالايام والساعات والدقائق .على سبيل المثال كان تاريخ طلب الطلب 25/5/2008 8.15 وتاريخ الرد على الطلب 27/5/2008 9.30 اذا النتيجة يومين وساعة و15 دقيقةيعني الجواب 2:1:15ارجوا الرد في افرب فرصة تقديم بلاغ
بتاريخ: 27 مايو 200817 سنة comment_129737 السلام عليكم ورحمة الله وبركاتهبعد التحيةاخي فاللهيمكن تجربة هذا الكود SELECT ROUND((TO_DATE(TO_CHAR(TO_DATE('27/5/2008 9:30','DD-MM-YYYY HH:MI'),'DD-MM-YYYY'),'DD-MM-YYYY') - TO_DATE(TO_CHAR(TO_DATE('25/5/2008 8:15','DD-MM-YYYY HH:MI'),'DD-MM-YYYY'),'DD-MM-YYYY'))) ||':'|| ROUND((TO_DATE(TO_CHAR(TO_DATE('27/5/2008 9:30','DD-MM-YYYY HH:MI'),'HH'),'HH') - TO_DATE(TO_CHAR(TO_DATE('25/5/2008 8:15','DD-MM-YYYY HH:MI'),'HH'),'HH'))*24) ||':'|| ROUND((TO_DATE(TO_CHAR(TO_DATE('27/5/2008 9:30','DD-MM-YYYY HH:MI'),'MI'),'MI') - TO_DATE(TO_CHAR(TO_DATE('25/5/2008 8:15','DD-MM-YYYY HH:MI'),'MI'),'MI'))*24*60) TIME_BETWEEN_TO_DATES FROM DUAL والرجاء اخباري اذا وجدت ضالتك فيه وفقك الله الى ما تحب وترضي لاتنسانا من صالح الدعاء تقديم بلاغ
بتاريخ: 27 مايو 200817 سنة كاتب الموضوع comment_129772 السلام عليكم ورحمة الله وبركاتهألف ألف ألف شكر أخي العزيز طبقت هذا الكود على ال Data Base وكل شي تمامبس المشكلة هي التنفيذ على الفورم لم أستطع تفيذه ((( عند شاشة استعلام يوجد فيها تاريخ أستقبال الطلب وتاريخ الرد على الطلب ويوجد حقل خاص لطرح تاريخ الرد من تاريخ الاستقبال واسمه Time Gap ))طبعا هنالك طلبات قد قام بالرد عليها وطلبات لم يتم الرد كتابة هذا الكود مت تغير اسماء الحقول طبعا كتابة هذا الكود داخل فور لووب لكن دون فائدة لا ادري هل مكان كتابة الكود خطأ او هل اختيار التجرير خطا هل حقل ال Time Gap المفروض ان يكون داتا بيز او هل يجب ان لا يكون داتا بيزهذه صورة مرفقة لشكل الشاشة تقديم بلاغ
بتاريخ: 28 مايو 200817 سنة comment_129813 أخى الفاضل جرب تحول الـ time gap الى formula culomn واجعل الفورميولا نفس الجمله ولكن بدون select وغير التواريخ باسماء الحقلين على الفورم وبالطبع لن تضع from dual تقديم بلاغ
بتاريخ: 28 مايو 200817 سنة comment_129836 السلام عليكم ورحمة الله وبركاتهبعد التحيةاخي فاللهاعتقد ان مشكلة تكمن فال data type الخاص بال items التي تتعامل معهااو لو امكن ارسال الى fmb و dump للجدول الذي تتعامل معه ببيانات تجريبة تقديم بلاغ
بتاريخ: 31 مايو 200817 سنة كاتب الموضوع comment_130139 شكر للأخ Ahmed Zain على محاولة مساعدتي ولكن هذا الكود يخرج نتيجة خطا في حالة كانت الايام اكبر من الايام والدقائق اقل من الدقائق وبعد عدة محاولات والحمدالله كتبة الكود الصح واخرج النتيجة الصحيحة . وهذا هو الحل DECLARE V_ZIFT NUMBER; V_DAY NUMBER(6,3); V_HR NUMBER; V_MIN NUMBER(6,3); BEGIN :PAT_PROF1.REQ_DATE1 := to_CHAR(:PAT_PROF1.REQ_DATE,'dd/mm/yyyy hh24:mi:ss'); :PAT_PROF1.RES_DATE1 := to_CHAR(:PAT_PROF1.RES_DATE ,'dd/mm/yyyy hh24:mi:ss'); selecT (to_date(:PAT_PROF1.RES_DATE1 ,'dd/mm/yyyy hh24:mi:ss') - to_date(:PAT_PROF1.REQ_DATE1 ,'dd/mm/yyyy hh24:mi:ss')) into V_ZIFT FROM dual; V_DAY := FLOOR(V_ZIFT); V_HR := (V_ZIFT - V_DAY ) * 24; V_MIN := FLOOR((V_HR - FLOOR(V_HR))* 60); :PAT_PROF1.TIME_GAP := V_DAY||':'||FLOOR(V_HR)||':'||FLOOR(V_MIN); EXCEPTION WHEN OTHERS THEN MESSAGE('Select Time Gap ...'||SUBSTR(SQLERRM,1,200)); MESSAGE(' '); END; وانا اكر ر شكري للأخ احمد تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.