الانتقال إلى المحتوى
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

بتاريخ:

الأخوة في المنتدى انا اشتي استدعي تقرير بين تاريخين (التاريخين عبرة عن باراميتران ارسلهما من الفورم) لكن المشكلة التاريخ المرسل من الفورم عبارة عن تاريخ الماسك حقة بهذا الشكل 2008/01/21 (dd/mm/yyyy) عند ارسال التاريخ الى الريبورت يقوم الريبورت بتحويل التاريخ الى المسك التالي dd/mon/yyyy في هذة الحالة لن تظهر البيانات من قاعدة البيانات نظراُ لختلاف شكل البيانات المرسلة والمستقبلة علماً اني قمت بتغير نوع المسك في الريبورت الى الشكل (dd/mm/yyyy) وكذلك مسك البارامترات في الريبورت من نوع تاريخ ال نفس المسك لكن المشكلة لازالت قائمة
وقد استشرت بعض المبرمجين الأصدقاء فقال لي الحل ان تقوم بتحويل نوع المسك من الريجيستري للريبورت والفورم بنفس المسك
فياريت من الذي عندة فكرة عن عملية التحويل للتارخ من الريجيستري بالنسبة للففورم والريبورت ان يساعدني وجزاة الله خيراً

بتاريخ:

دي بسيطة ان شاء الله بس يا رب تمشي حالك وتشتغل العملية تمام
اذهب الي ال regedit
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME
وتعمل كليك يمين في الشاشة المقابلة new_strin_value
وتسمية NLS_DATE_FORMAT
وتعمل عليه كليك يمين وMODIFY
وفي الداخل تكتب DD-MM-YYYY
وربنا يوفق ان شاء الل

بتاريخ:

الاخ الكريم
انت لو مش عايز تعمل الكلام ده
ممكن تحول التاريخ TO_NUMBER(To_CHAR(SYSDATE,'YYYYMMDD'))
وتبعته علي انه رقم وبرده تحول التاريخ التاني كده
ده طبعا لو مش عايز تغير حاجه في الريجستري
شكرا

  • بعد 4 أسابيع...
بتاريخ:

أخى يمكنك استخدام الطريقة التالية:-
بفرض ان العمود المستخدم للمقارنه هو Cust_date
فيمكنك استخدام

كـود SQL
WHERE TO_DATE(CUST_DATE,'DD/MM/YYYY') BETWEEN TO_DATE(DATE_FROM,'DD/MM/YYYY') AND TO_DATE(DATE_TO,'DD/MM/YYYY')
و بذلك تكون قد وحدت ماسك التاريخ و تكون البيانات صحيحة باذن الله.
  • بعد 1 شهر...
بتاريخ:
  • كاتب الموضوع

اشكركم على اجاباتكم ياخوة
يااخ soreed انا جربت فكرتك كمان
لكن المشكلة لاتزال قائمة انا جربت الطريقة من الريجستري وطريقة توحيد الكاسك لكنةما في فائدة
المشكلة ان عند عرض البارانترات المرسلة من الفورم بتطلع معي بالشل 12-feb-08
مع اني مرسلهم بالشكل DD/MM/YYYY
ولكي ينفذ التقرير يجب تحويل من الريبورت
ارجوا من الي تواجهة نفس المشكلة ان يفيدني
ولكم جزيل الشكر

بتاريخ:

فى الشاشة اللى بتنادى التقرير و فى الكود الخاص بال Parameter List:
البارامترز الخاصة بالتاريخ فى جملة الAdd_parameter:
ابعت التاريخ فى شكل Character: to_char(:date_from,'dd-mm-yyyy') واستقبل التاريخ فى بارامتر حرف
وفى جملة السليكت بتاعة التقرير اعد تحويل البارمتر فى صورة Date:to_date(:date_from,'dd-mm-yyyy')

اذا لم تفلح هذه الجملة فارسل التقرير او جملة SQL الخاصة به

بتاريخ:

جزاك الله كل خير

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

جزاك الله خير اخي ان شاء الله اجربها وردلك خبر
شكرا ً

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

هذه هي جملة الsql الخاصة بالتقرير بين تاريخين

SELECT ALL CUST_INVO_TYPE.INVO_NO, CUST_INVO_TYPE.INVO_DATE,
CUST_INVO_TYPE.INVO_DOLLAR, CUST_INVO_TYPE.INVO_EURO, CUST_INVO_TYPE.INVO_GBP, 
CUST_INVO_TYPE.INVO_RY, CUST_INVO_TYPE.INVO_DH, CUSTOMER.CUST_NAME, 
TYPE.TYPE_NAME, CUST_INVO_TYPE.INVO_DATA, CUST_INVO_TYPE.CUST_NO
FROM CUST_INVO_TYPE, CUSTOMER, TYPE
 

WHERE ((CUST_INVO_TYPE.CUST_NO = CUSTOMER.CUST_NO) AND (CUST_INVO_TYPE.TYPE_NO = TYPE.TYPE_NO) AND (CUST_INVO_TYPE.CUST_NO=_1) AND (CUST_INVO_TYPE.TYPE_NO=_2) AND (TO_DATE(CUST_INVO_TYPE.INVO_DATE,'DD/MM/YYYY')  
               BETWEEN TO_DATE(_3,'DD/MM/YYYY') AND TO_DATE          (_4,'DD/MM/YYYY')  ))

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

والله كان المسالة مانحلت بيرسل البارامترات بصيغه DD-MON-YY ومشراضي يتغير
لوفي اي ملا حظات على الجملة ارجوا منكم سرعة الرد

بتاريخ:

الجزئية الخاصة بالbetween and لازم تحول التاريخ لحرف و بعديت لتاريخ تاني علشان تقدر تقارن بالماسك اللى انت عايزه

SELECT ALL CUST_INVO_TYPE.INVO_NO, CUST_INVO_TYPE.INVO_DATE,
CUST_INVO_TYPE.INVO_DOLLAR, CUST_INVO_TYPE.INVO_EURO, CUST_INVO_TYPE.INVO_GBP, 
CUST_INVO_TYPE.INVO_RY, CUST_INVO_TYPE.INVO_DH, CUSTOMER.CUST_NAME, 
TYPE.TYPE_NAME, CUST_INVO_TYPE.INVO_DATA, CUST_INVO_TYPE.CUST_NO
FROM CUST_INVO_TYPE, CUSTOMER, TYPE
WHERE ((CUST_INVO_TYPE.CUST_NO = CUSTOMER.CUST_NO) AND (CUST_INVO_TYPE.TYPE_NO = TYPE.TYPE_NO) AND (CUST_INVO_TYPE.CUST_NO=_1) AND (CUST_INVO_TYPE.TYPE_NO=_2) AND (TO_DATE(to_char(CUST_INVO_TYPE.INVO_DATE,'DD/MM/YYYY'),'dd\mm\yyyy') 
BETWEEN TO_DATE(_3,'DD/MM/YYYY') AND TO_DATE (_4,'DD/MM/YYYY') ))

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

جزاك الله الف خير على هذا التوضيح ان شاء الله اجرب هذا الكود وارد خبر
جزاك الله خير

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

جزاك الله الف خير اختي ام مريم بالفعل انحلت المشكلة
اسال الله العظيم ان يرزقكي الأخلاص

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

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

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

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

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

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.