الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

مشكلة : اريد انا اطرح تاريخ الرد على الطلب من تاريخ طلب الطلب

Featured Replies

بتاريخ:

السلام عليكم ورحمة الله وبركاته

أخواني الاعزاء مشرفين واعضاء ومشتركين عندي مشكلة عويصة في الشغل

وهي

في احدى الشاشات يوجد تاريخين وهما تاريخ استقبال الطلب وتاريخ الرد على الطلب والتاريخين معرفين ((( Datetime ((( DD/MM/YYYY HH24:Mi

والمشكلة هي اريد انا اطرح تاريخ الرد على الطلب من تاريخ طلب الطلب ويجب ان تكون النتيجة بالايام والساعات والدقائق .

على سبيل المثال كان تاريخ طلب الطلب 25/5/2008 8.15 وتاريخ الرد على الطلب 27/5/2008 9.30 اذا النتيجة يومين وساعة و15 دقيقة

يعني الجواب 2:1:15

ارجوا الرد في افرب فرصة

بتاريخ:

السلام عليكم ورحمة الله وبركاته
بعد التحية
اخي فالله

يمكن تجربة هذا الكود

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



والرجاء اخباري اذا وجدت ضالتك فيه وفقك الله الى ما تحب وترضي لاتنسانا من صالح الدعاء

بتاريخ:
  • كاتب الموضوع

السلام عليكم ورحمة الله وبركاته

ألف ألف ألف شكر أخي العزيز

طبقت هذا الكود على ال Data Base وكل شي تمام

بس المشكلة هي التنفيذ على الفورم لم أستطع تفيذه ((( عند شاشة استعلام يوجد فيها تاريخ أستقبال الطلب وتاريخ الرد على الطلب ويوجد حقل خاص لطرح تاريخ الرد من تاريخ الاستقبال واسمه Time Gap ))

طبعا هنالك طلبات قد قام بالرد عليها وطلبات لم يتم الرد

كتابة هذا الكود مت تغير اسماء الحقول طبعا كتابة هذا الكود داخل فور لووب لكن دون فائدة لا ادري هل مكان كتابة الكود خطأ او هل اختيار التجرير خطا

هل حقل ال Time Gap المفروض ان يكون داتا بيز او هل يجب ان لا يكون داتا بيز

هذه صورة مرفقة لشكل الشاشة

بتاريخ:
  • كاتب الموضوع

هذه هي الصورة

time_gap.doc

بتاريخ:

أخى الفاضل جرب تحول الـ time gap الى formula culomn واجعل الفورميولا نفس الجمله ولكن بدون select وغير التواريخ باسماء الحقلين على الفورم وبالطبع لن تضع from dual

بتاريخ:

السلام عليكم ورحمة الله وبركاته
بعد التحية
اخي فالله
اعتقد ان مشكلة تكمن فال data type الخاص بال items التي تتعامل معها
او لو امكن ارسال الى fmb و dump للجدول الذي تتعامل معه ببيانات تجريبة

بتاريخ:
  • كاتب الموضوع

شكر للأخ Ahmed Zain على محاولة مساعدتي ولكن هذا الكود يخرج نتيجة خطا :D :rolleyes: :lol: في حالة كانت الايام اكبر من الايام والدقائق اقل من الدقائق وبعد عدة محاولات والحمدالله كتبة الكود الصح واخرج النتيجة الصحيحة . :P :P :P

وهذا هو الحل

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;



وانا اكر ر شكري للأخ احمد

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.