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

بتاريخ:

الأخوة الأفاضل
السلام عليكم ورحمة الله وبركاته
اريد منكم المساعدة في حل هذه المشكلة
1- عندي 2 فورم الأول في بيانات الموظف والفورم التاني لبيانات الابناء
2- عملت زر تحرير بيانات الابناء في فورم الموظف عند الضغط عليه ....
يقوم باستدعاء الفورم الخاص بالابناء وأخذ رقم الموظف كباراميتر
3- اريد من البرنامج عند استدعاء الفورم أن يقوم بعمل استعلام لأبناء الموظف صاحب الرقم المخزن في الباراميتر
وعرضهم في الفورم ..
من كان عنده الطريقة أرجو أن لايبخل علي بالشرح
وبارك الله فيكم

بتاريخ:

بص ياباشا
اول حاجه لازم تفهم ان البراميتر ده عامل زى الجواب و صندوق البسطه
يعنى انت بتكتب الجواب ( و احنا هانعمل كود للبراميتر فى الفورمه اللى انت هاتخد منها البرميتر ) و بعدين هاتروح عند الصندوق اللى بيستقبل الجواب ( واحنا هانروح على الفورمه اللى هانستقبل فيها البرميتر و ننشأ براميتر بنفس الاسم اللى اتكتب فى الكود )

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

declare
p_username paramlist;  انشاء ليست
begin
p_username := create_parameter_list('PAR_PER_ID'); اسم البراميتر الذى بين الاقواس
add_parameter(p_username,'PAR_PER_ID',text_parameter,:PER_ID); الper_id ده اسم الايتم اللى بياخد منه قيمة البراميتر
new_form  فتح الشاشه الاخرى ('f:\PROJECT\VODO_CREDIT.FMX',no_rollback,no_query_only,p_username);
end;


نذهب الى شاشة ال navigator =f3
و ننشأ براميتر من parameters
ولابد ان يكون نفس الاسم الذى انشأء فى الكود
بعد كتابة الكود نذهب الى الشاشة التى سوف تستقبل البراميتر و فى when_new_ince


:PER_ID := :parameter.PAR_PER_ID; اسم الايتم الذى يظهر فيه قيمة البراميتر


و الكود ده عشان يعرض اسماء الابناء


declare
 cursor ew is select w_name from wife 
 where emp_id=:PER_ID;
begin
 open ew;
 first_record;
 loop
fetch ew into :w_name;
exit when ew%notfound;
next_record;
 end loop;
close ew;
end;




ايهاب وجدى

بتاريخ:

السلام عليكم و رحمة الله و بركاته

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

فلا داعي لعمل خطوة الloop

يكفي فقط تنفيذ الاستعلام باستخدام execute_query
بعد عمل set لل default_where

ثانيا : يجب في التريجر when-new-form-instance
فحص البارمتر اذا كان يحتوي علي قيمة ام لا

if  :parameter_name  is  not  null then  
set_block_property('depnedant_block_name',default_where ,'emp_id='||:parameter_name);
go_block('depnedant_block_name');
if  form_success  then  
do_key('execute_query');
end  if;
end  if;


و هناك حل اخر يوفر كل ذلك ولا تحتاج ان تضع كود في تريجر when-new-form-instance

و هو ان تضع الاتي في خصائص البلوك في خاصية default_where
(emp_id=:parameter_name or :parameter_name is null )

و تقوم فقط بعمل execute_query
بعد نقل البامتر كما شرح الأخ ايهاب
و نصيحة اخيرة لك

ان تقوم بعمل الاثنان في فورم واحد مع الربط بينهم في علاقة
سيكون افضل و اسهل كثيرا

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

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

اشكرك يا اخ ايهاب على الرد
والشكر موصول إلى الأخ هاني على مشاركته الطيبة ...
جاري التجربة
وبارك الله فيكم

بتاريخ:

دائمآ متميز اخى هانى

ايهاب وجدى

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

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

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

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

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

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.