الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف نستخدم ال parameters ?

مغلق
بدأه Diligent في 28 فبراير 2003 · 5 رد · 1,335 مشاهدة · في قواعد بيانات Oracle
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم يا اخوان

عندي طلبين:

1-انا عندي شاشه العملاء ومن شاشه العملاء افتح شاشه الطلبيات

الخاصه بالعملاء يعني على حسب العميل تظهر الطلبيات

سويت GLOBAL variable من شاشه العملاء ومشي الحال

لكن كيف يمكن ان اعمل نفس الشي بس بـأستخدام parameter

اتمنى انكم تفيدوني.

2- نفس الفكره بس من شاشه لتقرير يعني امرر parameter من الشاشه لتقرير

بحيث يظهر بيانات العميل او الموظف الحالي الظاهر على الفورم فقط....

شكرااااااااااااااا

#2

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

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

1- بالنسبه من فورم الى فورم :

----أولا الفورم الذي سوف يرسل الباراميتر

نكتب الكودعلى الزرالذي يفتح الفورم الثاني WHEN-BUTTON-PRESSED

Declare	



	v_p_id paramlist;



	Begin



	if not id_null(get_parameter_list('cust_id')) then

 	 destroy_parameter_list('cust_id');

	end if;



   v_p_id := create_parameter_list('cust_id');

   add_parameter(v_p_id,'ord_p',text_parameter,to_char(:cust.id));



	call_form('d:ovpporder', hide,no_replace,

           no_query_only,no_share_library_data,'cust_id');

   



 	 End;

حيث أن :

cust_id هو اسم البراميتر في الفورم الاول الذي سوف نمرره

ord_p هو اسم الباراميتر في الفورم الثاني الذي يستقبل الاول

cust.id هو قيمه الحقل التي سوف يمررها البراميتر للفورم الثاني

d:ovpporder اسم الفورم الثاني وموقعه.

---ثانيا الفورم الذي سوف يستقبل الباراميتر

نكتب الكود التالي على الترجر اللي يناسبكم مثلا PRE-QUERY

:C_ORD.customer_id := :parameter.ord_p;

.

وبكذا نكون ارسلنا براميتر واستقبلنا قيمه البراميتير بالفورم الثاني.

*ملاحظه هامه يجب عمل براميترفي الفورم الثاني الذي سوف يستقبل البراميترالاول

انا سويت ord_p في الـ Desing_time

لونلاحظ بالنسبه للكود اللي بالفورم الاول سوينا البراميتر في الـ run_time

لكن بالنسبه للفورم الثاني لازم نسوي براميتر في الـ Desing_time بأسمord_p

------أتمنى أ ني اكون قدرت اوضح الفكره واذا في اي استفسار في هذا الموضوع

انا حاضر وموفقين إن شاء الله سلااااااااااااام..(clock)

#3

2- بالنسبه من فورم الى تقرير

نكتب الكود على الزر الذي سوف يفتح التقرير

declare

    pl_id ParamList;  

 BEGIN  



   pl_id := Get_Parameter_List('emp_p');  



   IF NOT Id_Null(pl_id) THEN  

     Destroy_Parameter_List( pl_id );  

   END IF;  



   pl_id := Create_Parameter_List('emp_p');        

   Add_Parameter(pl_id, 'emp_pa', TEXT_PARAMETER,to_char(:emp.empno));

   Run_Product(REPORTS, 'c:empa', SYNCHRONOUS, RUNTIME,  

            FILESYSTEM, pl_id, NULL);  

 END;

emp_p اسم الباراميتر

r_pa اسم الباراميتر بالتقرير

c:empa اسم التقرير وموقعه

**ملاحظه كل اللي راح نفذ معاي ومافي غير مشكله بسيطه وهي

ان التقرير بس يشتغل الاقي قيمه البراميتر موجوده ولكن لازم انا

اسوي run للتقرير فياريت احد يدلني على طريقه اقدر اخلي التقرير

يسوي run او مايفتح.

على العموم هذي نسخه لمثال التقرير نزلوها وشوفوا الحل والمشكله.

وشكرااااااا .......... سلاااااااااام

orc.zip

#4

شكرا لك اخي العزيز على المساعدة

لكن نفس المشكله اللي عندك وهي تشغيل الربوت في الرن

اقتباس
**ملاحظه كل اللي راح نفذ معاي ومافي غير مشكله بسيطه وهي

ان التقرير بس يشتغل الاقي قيمه البراميتر موجوده ولكن لازم انا

اسوي run للتقرير فياريت احد يدلني على طريقه

يليت احد يقولنا الحل

#5

اخواني

الحل بسيط جدا للمشكلة وهو اضافة البرامتر التالي

add_parameter(p1_id,'PARAMFORM',text_parameter,'NO');

ضمن البارمترات الممرة للتقرير وعمله هو ايقاف نافذه البرامترات عن العمل

شكر لكم

#6

الاخوة

السلام عليكم

لازالت المكشكلة لم تحل رغم اضافة السطر وهي عند استخدام النموذج مرة اخري يعطي خطا رقم frm47001

ارجو من لديه الحل ان يرسلة

ولكم تحياتي[/CO:oLOR]

هذا الموضوع مغلق.

مواضيع مشابهة