لدي نموذج في ديفلوبر ولدي استعلام معين باتي بالبيانات من جدولين ولنقل الموظفين واجازتهم المهم واريد ان ابني تقرير لذلك الاستعلام على ان ياخذ رقم الموظف من حقل نصي في نفس النموذج
انا بحاجه له بسرعه وضروري
لدي نموذج في ديفلوبر ولدي استعلام معين باتي بالبيانات من جدولين ولنقل الموظفين واجازتهم المهم واريد ان ابني تقرير لذلك الاستعلام على ان ياخذ رقم الموظف من حقل نصي في نفس النموذج
انا بحاجه له بسرعه وضروري
لدي نموذج في ديفلوبر ولدي استعلام معين باتي بالبيانات من جدولين ولنقل الموظفين واجازتهم المهم واريد ان ابني تقرير لذلك الاستعلام على ان ياخذ رقم الموظف من حقل نصي في نفس النموذج
------------------------
أولا تقوم بوضع زر(button) في هذا النموذج و تكتب له (trigger) يقوم بتعريف parameter list و من ثم تضيف للباراميتر رقم الموظف .
قم بكتابة الكود التالي :
declare
plid paramlist;
begin
plid := get_parameter_list('tmpdata');
if not id_null(plid) then
destroy_parameter_list(plid);
end if;
plid := create_parameter_list('tmpdata');
add_parameter(plid,'empno_p', TEXT_PARAMETER, to_char(:emp_no));
run_product(REPORTS,'report_name.rdf',ASYNCHRONOUS,RUNTIME,FILESYSTEM,plid);
end;
لاحظ ان 'empno_p' هو اسم الباراميتر في الريبورت اما :emp_no هو اسم المتغير في الفورم
أرجو ان اكون قد افدتك و مستعد للأجابة على اي سؤال
أخي اشكر لك اجابتك ولكني لم استطع ذلك مع العم اني مبتديء جدا في أوراكل واود لو تقوم بخدمتي خدمة العمر وتقوم بارسال مثال يبين ذلك
على بريدي
blueman@naseej.com
أو تضع وصلة لكي اقوم بسحبها وانا احاول حاليا وعسى ان استطيع حلها قبلا ولكن الامر ضروري ويجب تسليمه غدا والا سوف ارسب وشكرا لك
اخي تستطيع عمل نسخ للكود الذي كتبته لك .. قد يكون غير واضح و لأن حدث تغيير في الاتجاه ...المهم ممكن ترسل لي الفورم و الريبورت على الميل و انا اكمله لك .. و الله لا يجيب رسوب ابدااااا
البريد هو : oracle_vb@usa.net
أخي اشكرك على شعورك لق قمت بتاجيل تسليم المشروع الى يوم الاربعاء وإن شاء الله اقدر اسويها واذا ماقدرت ابكلمك
أخي انا لا اعرف كيف اقوم بعمل تقرير فهلا قمت بارسال مثال لي على بريد
blueman@naseej.com يجب تسليم المشروع يوم الاربعاء او اي احد ممكن يرسل لي مثال بسيط جدا علشان افهمه
تقرير يحتوي على حقول ولكن البيانات تاتي عن طريق شرط في مربع نص داخل نموذج مثل رقم الموظف واريد معلوماته فقط في التقرير
ياشباب الدعوه فيها رسوب
بسم الله الرحمن الرحيم
الطريقة كما ذكرها لك oracle_vb وبانسبة للبرامتر في التقرير فيمكن أن تضعه في الاستعلام الذي في التقرير كما يلي
select empno,ename
from emp
where empno=:eno
eno هو البرامتر الذي سيتم التعامل معه من الفورم كما ذكره لك أخونا سابقا
جرب وبإذن الله تنجح
الأخ مسائل لقد شرح لك الأخ omar_s طريقة عمل الريبورت و هو بكتابة الكويري التالي و اريد ان اوضح التغييرات التي ستطرأ على الكود الذي وضعته :-
بشكل أوضح قم باتباع الخطوات التالية:
1- باستخدام الريبورت بيلدر قم بعمل الريبورت المطلوب (انصحك ان تبدأ بمثال بسيط مثل هذا)
select empno,ename
from emp
where empno=:eno_p
لو جربت تعمل تنفيذ لهذا الريبورت لا يظهر لك النتائج مباشرة و انما يطلب منك رقم الموظف الذي تريد طباعة البيانات له((هذا هو منطق الباراميتر)).
2- قم بحفظ الريبورت في مجلد باسم emp_rep.rdfو يشترط ان تعرف هذا المجلد في الريجستري للويندوز.مثلا قم بعمل المجلد التالي: c:Report
وفي الويندوز اختر
start-->run--> regedit -->
HKEY_LOCAL_MACHINE-->software -->ORACLE -->REPORTS30_PATH-->
و هنا قم باضافة التالي في نهاية السلسلة:
;c:report
(ترى الفاصلة المنقوطة في البدايةو من ثم الباقي )
3- و في داخل الفورم بيلدر قم بعمل الفورم الخاص بالموظفين و قم باضافة زر بداخله:button و اكتب له الترجر التالي (WHEN_BUTTON_PRESSED)
----------------------
declare
plid paramlist;
begin
plid := get_parameter_list('tmpdata');
if not id_null(plid) then
destroy_parameter_list(plid);
end if;
plid := create_parameter_list('tmpdata');
add_parameter(plid,'eno_p', TEXT_PARAMETER, to_char(:emp_no));
run_product(REPORTS,emp_rep.rdf,ASYNCHRONOUS,RUNTIME,FILESYSTEM,plid);
end;
هذا كل مافي الأمر
مع خالص تمنياتي لك بالتوفيق.....
هذا الموضوع مغلق.
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…