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

اسئلة من مبتدئ

بدأه bodaman22 في 10 يونيو 2010 · 7 رد · 1,071 مشاهدة · في قسم Oracle Forms
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

اخوانى الأعزاء فى المنتدى

عندى اسئلة انا عارف انه اكيد سهلة بس انا لسه مبيتدى جديد خالص

السوال الأول عاوز اعرف القيمة اللى ادخلها المستخدم فى ال textitem

و ازاى اضع قيمة معينة فى ال textitem

يعنى مثلا عندنا فى الدوت نت

textbox1.text="boda"

, ; و كمان عاوز اخرج message box

ارجو الأفادة و شكرا

#2

بالنسبة لإعطاء قيمة لـــ TextBox هي كتابة هذا الأمر في أي تريجر تريده

لنفرض أنه يوجد TextBox أسمه A نكتب الامر التالي

:A="Welcome";

بهذه الحالة أنت أعطيت A قيمة عندما يتم تنفيذ التريجر سيشاهدها المستخدم

1
#3

بسم الله الرحمن الرحيم

اخى العزيز

شكرا جدا لك على الأجابة ا لجميلة دى و عندى سوال كمان

انا عملت فورم من غير datablock

يعنى صممت الفورمة بايدى و هى كانت عبارة عن ادخال Row جديد

و دى جملة ال insert

insert into cust (cusid,cusname  )values (:form1.cus_txt,:form1.name_txt))
commit(form);

message('saved')
message('saved')

و هو بيدخل صح بس بيجيب لى رسالة قبل ال 'saved' بتقول

ان مفيش تغير فى الفورم علشان يحفظها و بعد كده message('saved')

و بروح القيه دخل القيم صح

ارجو الأفادة

#4

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

و كانت تظهر لي بالفورمز اللي كنت أصممها

و كحل لإخفاء هذه الرساله

إختيار الحدث ON_ERROR على مستوى الفورم و كتابة

NULL:

كذلك إختيار الحدث ON_MESSAGE على مستوى الفورم وكتابة

NULL:

----

أتمنى أنه يفيدك

1
#5

بسم الله الرحمن الرحيم

أخى شكرا جدا لك على الأجابة

و معلشى لو كنت هتقل عليك

عندى سؤال تانى

begin

if 	:form1.num_txt =''then
	message('pls');
message('pls');
end if ;
	message('yes');
message('yes');
	end ;

الكود ده فيه جملة if

بتاكد ان ال form1.num_txt مش فاضية بس للأسف بيمشى و مش بيطلع الرسالة

ارجو اجد عندك الحل

و كمان سوال تانى

عندنا فى الدوت نت حاجة اسمها exit sub

معنها اخرج من ال sub من غير ما تكل باقية الكود

ممكن اجد مثيلها فى ال oracle

1
#6

هلا بك عزيزي

--------

جرب هذا الكود

begin

if :num_txt =''then

message('pls');

message('pls');

end if ;

message('yes');

message('yes');

end ;

ممكن تكتب مثال على

exit sub

و أنا بحاول إني أفهمها

تم تعديل هذه المشاركة بواسطة ثامر في 14 يونيو 2010 في 17:52

1
#7

بسم الله الرحمن الرحيم

اخى شكرا

على المتابعة

انا خلاص عرفت ايه هى EXIT SUB قى الأوراكل

بس عندى سوال تانى

هو ازاى انقل قيمة TEXTITEM من FORM الى FORM اخر

و شكرا على المساعدة

#8

في هذه الحالة تحتاج ما يسمى باراميتر يقوم بربط الشاشات مع بعض

------

سأقوم بإرفاق مشاركة لي تشرح هذا الموضوع و إن شاء الله يفيدك

-----------------------------------------------------------------

بسم الله الرحمن الرحيم

أقدم لكم في هذا الرد درس PASING PARAMETER BETWEEN FORMS

نريد أن نعمل شاشة للجدول DEPT بحيث أنه أذا عرضنا البيانات اللتي بالدائرة رقم 20 ونقرنا على زر ينتقل بنا إلى شاشة

EMPوبها أسماء لموظفين اللذين يعملون في هذه الدائرة

ننشئ شاشة للــDEPT ومن ثم نضع بها زر ومن ثم نظغط على F3ونذهب ألى PARAMETERSونعمل له أنشاء

ثم نغير أسم الباراميتر ألى NO ثم نغير PARAMETER DATA TYPE ألىNUMBER

لأن الباراميتر هنا هو الحقل DEPTNO وكما هو معروف فأن هذا الحقل نوعه رقم .نغلق الشاشة نحفظها بأسم DEPT

ثم ننشئ شاشة EMP ونعملها TABULAR بعد أن عملناها نحفظها بأسم EMP ..

نعود ألى الشاشة لأولى ثم نذهب ألى الزر ونختار الحدث WHEN_BUTTON_PREESED ونكتب الكود التالي

DECLARE

A PARAMLIST;

BEGIN

A:=CREATE_PARAMETER_LIST('THA');

ADD_PARAMETER(A,'NO',TEXT_ITEM,PARAMETER,:DEPTNO);

RUN_PRODUCT(FORMS,'EMP',ASYNCHRONOUS,RUNTIME,FILESYSTEM,A,'');

EXIT_FORM;

END;

ثم نغلق الشاشة

ونعود إلى الشاشة الأخرى ونذهب ألى TRIGEER على مستوى الفورم و نختار الحدث التالي WHEN_NEW_FORM_INSTANCE

ونكتب الكود التالي :

DECLARE

B BLOCK;

BEGIN

B:=FIND_BLOCK('EMP');

IF(:PARAMETER.NO IS NOT NULL)THEN

SET_BLOCK_PROPERTY(B,DEFAULT_WHERE,'DEPTNO='||:PARAMETER.NO);

GO_BLOCK('EMP');

EXECUTE_QUERY;

END IF;

END;

1

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