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

بتاريخ:

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

بتاريخ:

declare


pl_id ParamList;
BEGIN

pl_id := Get_Parameter_List('tmpdata');

IF NOT Id_Null(pl_id) THEN
Destroy_Parameter_List( pl_id );
END IF;

pl_id := Create_Parameter_List('tmpdata');

Add_Parameter(pl_id, 'PARAMFORM', TEXT_PARAMETER, 'NO');
Add_Parameter(pl_id, 'COPIES', TEXT_PARAMETER, '1');
Add_Parameter(pl_id, 'start_date', TEXT_PARAMETER, to_char(<:start_date_in_form>,'DD/MM/YYYY'));
Add_Parameter(pl_id, 'end_edate', TEXT_PARAMETER, to_char(<:end_date_in_form>,'DD/MM/YYYY'));
Add_Parameter(pl_id, 'branch_code', TEXT_PARAMETER, :branches_list);
Add_Parameter(pl_id, 'ORACLE_SHUTDOWN', TEXT_PARAMETER, 'YES');
Run_Product(REPORTS, '<path\yourreportname>', SYNCHRONOUS, RUNTIME,
FILESYSTEM, pl_id, NULL);
end;

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

اخوي الفاضل Shibeika

اتمنى ان تشرح ماكتبت
خطوة خطوة
من بداية عمل التقرير وانتهاء بالفورم -------- اذا تكرمت
واشكرك جزيل الشكر

بتاريخ:

السلام عليكم
نشغل الريبورت ونفتح الكويري ونكتب الآتي :
1/ نفترض ان الكولمن الموجود في الداتا بيز هوAction_date ثم بعد جملة سليكت نكتب:
where action_date=nvl(:اي اسم برامتر للكولمن ده ,(:startdate,action_date)
action_date=nvl(:startdate,actiondate)
ولو اردنا نعمل اكتر من برامتر نعمل وبعد منخلص الكلام ده كله في الريبورت نروح للخطوة 2

-----------------------------------------------------------------------------------------------
نفتح فورمة جديدة
1/ نعمل تيكست ونسميه على نفس البرامتر اللي عملناه في الريبورت ومنعملش اي تغيير في الخصائص التابعة له نهائيا.
2/ نعمل كود الريبورت وكلنا عارفين ازاي ونيجي نضيف
set_report_object('paraform=no startdate='||:action_date)
وهكذا لأي برامتر تاني
وبالتوفيق ان شاء الله

بتاريخ:

where action_date=nvl(:startdate,action_date)
----------------------------------------------------------
set_report_object('paraform=no startdate='||:action_date)

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

اخوي malam_eldin
اشكرك على اهتمامك بالموضوع
ارجوك وضح لي اكثر ترى الامور ملخبطة معاي
ارجو ان يكون الشرح على الجدول emp حتى تصل الفكره افضل
وعفوا على الازعاج

بتاريخ:

يا اخوان
انا اواجه نفس المشاكل التي تواجهها الاخت ماجدولين
نرجو التوضيح بمثال على الـ EMP
لاني حاولت انفذ الشرح ولكن بدون فائدة

بتاريخ:

لضغط العمل معاي سوف ارسلها لكم غدا باذن الله بالصور والايضاح التفصيلي .
ودي نفس المشكله مريت بيها من فترة وتم حلها

بتاريخ:

وياريت يأختي ان توضحي برنامجك اكثر وماهو الذي تريدين عمله بالظبط

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

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

بتاريخ:

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

• كيفية عمل برامترات تقرأ من الداتا بيز في الريبورت؟.

Open Reports Builder

عند عمل تقرير نقوم يإضافة الكولمنز له سواء كانت بالطريقة الوزارد او المنوال وعند الانتهاء منه نفعل الاتي:
 نذهب الى :
Object navigatorQueriesQ_1 then press F4 then SQL QUERY STATEMANT .


 بعد جملة سيلكت نكتب
Where action_date BETWEEN nvl(:Start_date,action_date) AND
nvl(:End_date,action_date) AND
(وده عشان ادخل تاريخين )
last_name=nvl(:name,item_name)

action_date=nvl(:date,action_date)
(ده عشلن ادخل تاريخ واحد بسسسسسس)
ولازم يكون فيه كولمن اسمه Action_date في الداتا بيز
ونفس الطريقة لو عليز تعمل اي برامتر تاني يقرا اسم فاركار او نمبر او تاريخ
Column1=nvl(:any name, column1)and
Column2=nvl (any name, column2)and
.
.
.
.
.
.



كما في الصورة 1-1


مع الملف المرفق

وبعد كده اعمل رن للبرنامج على الريبورت .


















• كيفية عمل برامترات تقرأ الريبورت (البرامترات) في الفورمز ؟
ياريت نركز كويس جداااااااااااااااااااااااا في الخطوات اللي جاية
بعد عمل الريبورت والبرامترات نفتح الفورمز ونعمل الاتي:
1. نضيف لكل برامتر عملناه في الريبورت تيكست واحد . ونفتح البروبيرتي باليت لكل تيكست.
2. نغير اسم التيكست لأي اسم تاني Name : start_date
3. نغيراسم البرومبت بس . اسم المريض Prompt:
4. مثال توضيحي في الصورة 2-1

مع الملف المرفق







ياريت نركز جامد جدااااااااااااااااااااا في الخطوة اللي جايه






5.نكتب كود التقرير اللي هيشتغل ونعدل حاجة واحدة بس وهي:

SET_REPORT_OBJECT_PROPERTY(repid,REPORT_OTHER,'paramform=no

ID='||:ID||' date='||:s||' end_date='||:e||' START_DATE='||:s2||' CUSTom='''||:CUSTom||''''||

' item='''|| :item||'''')




ملاحظات :
• لما اجي اكتب اسم البرامتر اللي تعمل في الريبورت لازم يتكتب بالطريقة دي
||' مسافة واسم البرامتر و='|| مثال

||' date='||:s



*لو عندي برامتر وانا في الرن تايم عايز اكتب جواه فاركار كده كده مش هيجيب اي حاجة وعلاجها اهو كمثال :

||' CUSTom='''||:CUSTom||''''||' item='''|| :item||'''')

||' اسم البرامتر='"||: اسم التيكست التابع له||''''









انظر الصورة 3-1






مع الملف المرفق



ولو حبيت تعمل LOV لكل تيكست مش هتفرق

____________________________________________________________..doc

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

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

لديا مشاكل بسيطة :
اولا بالنسبة للشرح يلي في الريبورت كويس جدا وفاهمته من خلال شرحك
طيب بالنسبة للفورم لديا استفسار
ماذا تقصد بـ Repid ,Report_other
ثانيا S,E هل تقصد بهم اسماء التكست
ثالثا StartDate ,EndDate ماذا يعنوا هنا هل اسماء الحقول في الداتابيز ام في الريبورت
يمكنك فتح الملف المرفق وتشوف ماهي الاخطاء التي تواجهني

oracle_Rep.doc

بتاريخ:

اولا / بالنسبة ل
START_DATE , END_DATE
اسماء للبرامترات اللي عملناها في الريبورت
-------------------------------------------------------------------------------------------
ثانيا/ s,e
اسماء للتيكست فعلا على حسب الآسماء اللي عايزه تسميها عشان لما تيجي تربطيها في الكود بتاع الريبورت في الفورمه لازم يكون عارف ده بتاع ايه ومع مين
-------------------------------------------------------------------------------------------
ثالثا/الكود
SELECT Clinic.NO, CLINIC. NAME, CLINIC.DateVisit
FROM CLINIC
WHERE DATEVISIT BETWEEN NVL(:START_DATE,DATEVISIT AND NVL (:END_DATE,DATEVISIT)
)
** الكود ده صح جدا بالنسبة للتاريخين في الريبورت وبكده انت تكوني عملتي برامترين للتاريخين
--------------------------------------------------------------------------------------------------------
رابعا/ لما اجي الكود لاستدعاء الريبورت عن طريق زرار مثلا بيكون فيه محتوى من الاكواد من ضمنها اللي جاي ده
SET_REPORT_OBJECT_PROPERTY(repid,'paraform=no datevisit'||:a||'datevisit'||:s))
ده كده بالنسبالك صحيح ركزي كويس في اللي جاي
** اي برامتر عملتيه في الريبورت وهتسدعيه على الفورم ممكن يكون من الثلاثة الجايين:
1/ برامتر التاريخ او النمبر يتكتب عادي زي المثال اللي فوق لو تلاحظي عملت الديت فيزيت مع اسم التيكست ولازم تاخدي بالك كويس جدا من علامات التنصيص لانها مككن تعمل مشاكل ومتشغلش الريبورت في الرن تايم
**برامتر الفاركار (اللي هيتكتب جواه حروف زي اسم موظف بالكامل مثلا او اسم عميل ) لازم تاخدي بالك من علامات التنصيص كويس جداااا وهقول كده لحد السنة اللي جايه لانها مهمةةةةةةةةة جداااااااااااااااااااا وهقول مثال توضيحي على اسم الموظف نعملو زي من الأول:
-- هعمل برامتر لأسم الموظف(فار كار حروووووووففففف) في الكويري على الريبورت
emp_name=nvl(:name,emp_name)
وده بعد جمله هوير
--اجي على الفورم وبالتحديد جوه كود الريبورت هلاقي
SET_REPORT_OBJECT_PROPERTY(repid

وهكمل الباقي
SET_REPORT_OBJECT_PROPERTY(repid,'paraform=no name='''||:txt||'''')

ملاحظة مهمة جدا
لما اكتب اسم البرامتر(لاسم الموظف فار كار ) وبعد علامة يساوي هكتب ثلاث علامات تنصيص '''و||: واسم التيكست و|| اربع علامات تنصيص عشان تقفل الجملة '''' وبعدين اقفل الجمله بالقوس)

وبالتوفيق للجميع

الكود اللي كتباه اصلا ناقص كتير جدا بس انا مرفق ملف وورد فيه شرح ازاي تعمل كود ريبورت من الاول

Run_Report_from_Forms.doc

تم تعديل بواسطة malam_eldin

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

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

بتاريخ:

العفو العفو العفو
المهم تجربيه وتخبريني بالنتائج
ولو في اي شي تاني انا موجود ياجماعة

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

تسلم
الله يخليك --
اشكرك على هذه الاخلاق الرفيعة
ان شاء الله اجربه واكلمك -------

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

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

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

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

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

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.