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

بتاريخ:

انا بشتل على فورم 6i

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

عشان ابحت عن الطالب فى الشاشه بتاعتى

المشكله انى اول ما بدخل على الشاشه بيطلب منى انى اكمل الحقول الفارغه ومش بعرف ادوس على الزرار اللى عملامه للاستعلام عن رقم النتيفون

اذى  اخلى الشاشه فى وضع استعلام اول ما اضغط على الزار

مرفق برنت

 

بتاريخ:

علي فكرة كلامك مش واضح خالص , يا ريت تحاولي تنظميه اكتر من كده عموما يعني -- الكود اللي يخليكي تخلي الشاشة في حالة استعلام هو enter_query ;-- الزرار عشان يفتحلك شاشة تانية يبقي يا اما هتفتحي فيه فورمه جديدة عن طريق call_form('path or your form') ; يا اما هتفتحي فيه window عن طريق show_window built-in حكاية انك مش بتعرفي تدوسي علي الزرار دي , ممكن تدخلي علي الخصائص بتاعت الفورم وتخلي الـ validation unit = form مثلا , بس مش عارف هتعوقك في الشغل بعد كده ولا لا , عشان مش عارف بالظبط الصورة كاملة شكلها ايه حل مؤقت يعني علي قد ما فهمت منك , حاولي تدبري حالك بقى

بتاريخ:

الى انا فهمته انه مش بيسمح انك تضغطى على زر الاستعلام

 

وحلها

 

اادخلى على خصائص الزرار وخلى mouse navigate خليها بـــ no

علشان تقدرى تدوسلى على الزرار

 

واذا كان كود الاستعلام صح هيظهر البيانات

***********************************************

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

والخطوات كالتالى :

 

اولا

اعملى زر في الفورم الاساسى

وتحت الزرار نستخدمى go_block او go_form على حسب مانت عايزة للذهاب الى الشاشة الجديدة

 

ثانيا

اعملى شاشة البحث ودى في ترجر when_new_form_instance تستخدمى enter_quarry 
وهيكون فيها زر البحث وتحت الزرار دة كود execute_quarry

 

ده بأختصار

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

اولا : شكرا ليكوا جداااا على المساعده وجزاكم الله خيراااا

واسفه انى موضحتش كويس

انا جربت اقتراحتكوا للحل جزء منها اتحل معايا

بس بردوا مش بقدر اعمل سيرش

هلخص المشكله تانى

انا عندى شاشه عملت فيها زرار اول مبدوس عليه بيفتح window( مبنيه على فورم تانيه)

فيها text_itme عايزه اول ما ادخل فيه رقم التليفون يجبلى البيانات الموجوده فى الشاشه الاولى

 

انا بعت برنتين  للتوضيح

والشاشات اللى انا شغله عليهم

post-127273-0-15837200-1380757556_thumb.jpg

post-127273-0-95651700-1380757587_thumb.jpg

الشاشات.rar

بتاريخ:

العفو يا ست الكل

 

فكرتك وصلت وان شاء الله الحل بسيط

الخطوات

1- عند فتح شاشة البحث في تريجر when_new_form_instance هنعمل global var علشان نضع فية رقم التليفون المراد البحث عنه

2- هنضيف في تريجر when_button_pressed  زرار (رجوع) الموجود في شاشة البحث الكود التالى :

set_block_property ('block name' , default_where , 'phon number = :global.global var name');
execute_querry;

مع العلم ان :

block name دة اسم البلوك الى موجود فية البيانات التى هتظهر

phone number دة العمود الخاص برقم التليفون في الجدول

:global.global var name' دة اسم المتغير الى فية رقم التليفون

 

 

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

واى استفساار اانا في الخدمة

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

 

 

بس ملحوظة انا في راى ان فتح شاشة تانية ملوش لزمة ممكن تعملى الايتم بتاع رقم التليفون جنب زرار البحث افضل

 

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

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

شكرا جدااا ليك

اللى خلانى اعمل  شاشه اخرى للاستعلام انى شفتها فى business  شغال فعلا فا كنت عايزه اعملها

وجربت الجلوبل ومشتغلتش بردوا

فأنا اخذت بنصحت ولغيت الشاشه وعملت text.itemt فى نفس الشاشه للاستعلام 

واشتغل فعلا

بس عندى فيها 3 مشاكل 

اولا انا عندى 3 item للتليفون(tel,  mobil1 , mobil2 ) وعايزه لما اكتب رقم تليفون فى  item الاستعلام  يستعلم فى 3 item الخاصين بالتليفون

طبعا كود السيرش مشتغلش غير فى  item 1 فقط

 

المشكله الثانيه

انى لما بعمل سيرش وتظهر البيانات بيفضل رقم التيفون فى item  السيرش عايزه يختفى اول ما تظهر البيانات

 

المشكله الثالثه

خلاص عملت سيرش وظهرت البيانات وعايزه استخدم الشاشه بشكل عادى

بحث اقدر

اسجل ريكورد جديد

او استعلم عن كل البيانات المسجله على الشاشه من خلال زر الاستعلام فى اعلى الشاشه enter_query

 

الشاشه وظفتها (شاشه لتسجيل بيانات الطلبه فقط

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

مرفق

الشاشه

 

اسفه على الاطاله

 

students.form.rar

بتاريخ:

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

بالنسبة للمشاكل
اول مشكلة

ممكن تستخدمة حاجتين
1- ممكن الكود دة في زرار البحث كما هو

if :BLOCK23.TEXT_ITEM24 is null

then
	message('this namber is not found');
	message('this namber is not found');
else
	set_block_property('STUDENTS' ,default_where ,'TEL = ' || :BLOCK23.TEXT_ITEM24 
	|| ' or ' || 'MOBIL1 = ' || :BLOCK23.TEXT_ITEM24 
	|| ' or ' || 'MOBIL2 = ' || :BLOCK23.TEXT_ITEM24); 
	go_block('STUDENTS');
	execute_query;
end if;

او الكود دة لو الاول مش اشتغل

declare
	v_tel  number;
	v_mob1 number;
	v_mob2 number;
begin

----------------- If Null --------------------------
	if 
		:BLOCK23.TEXT_ITEM24 is null
	then
		message('this namber is not found');
		message('this namber is not found');
----------------- If Not Null --------------------------
	else
		select count(TEL)    into v_tel  from STUDENTS where tel    = :BLOCK23.TEXT_ITEM24 ;
		select count(MOBIL1) into v_mob1 from STUDENTS where MOBIL1 = :BLOCK23.TEXT_ITEM24 ;
		select count(MOBIL2) into v_mob2 from STUDENTS where MOBIL2 = :BLOCK23.TEXT_ITEM24 ;
		------------------ If Number in Tel ----------------
		if
			v_tel > 0
		then 
			go_block('STUDENTS');
			set_block_property('STUDENTS' ,default_where ,'TEL='||:BLOCK23.TEXT_ITEM24);   
			execute_query;
		------------------ If Number in Mob1 ----------------
		elsif
			v_mob1 > 0
		then
			go_block('STUDENTS');
			set_block_property('STUDENTS' ,default_where ,'MOBIL1='||:BLOCK23.TEXT_ITEM24);   
			execute_query;
		------------------ If Number in Mob2 ----------------
		elsif
			v_mob2 > 0
		then
			go_block('STUDENTS');
			set_block_property('STUDENTS' ,default_where ,'MOBIL2='||:BLOCK23.TEXT_ITEM24);   
			execute_query;
		end if ;
	end if;
end;

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

 

 

المشكلة الثانية

دى ممكن تستخدمى بعد execute_query الكود

clear_item;

او

او تستخدمى بعد execute_query ألكود دة

item name = '' 

المشكلة الثالثة

مش فاهم ؟؟؟ :D 



بالتوفيق ان شاء الله

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

جزاء الله خيرا على الشرح الجامد ده

انا فعلا جربت طريقه or قبل ما ابعت المشكله اخر مره بس كنت كتباها غلط فامشتغلتش

فالما جربت اللى حضرتك بعتها اشتغلت الحمد لله

 

اولا ده كود الجدول students

------------------------create table students-----------------------
create table students
(student_id  number(5)constraint student_id_pk primary key,
first_name   varchar2(50)not null,
last_name    varchar2(50)not null,
st_name_en   varchar2(60) not null,
tel          varchar2(8) not null,
mobil1       varchar2(12)not null,
mobil2       varchar2(12),
email        varchar2(50)constraint email_un unique,
pic_pass     varchar2(100));

 

 

دلوقتى الكود شغال

بس فى مشكله صغيره

انا ضفت شرط وانا بعمل بحث عن التليفون انه لوالرقم اللى بعمل بيه سرش لا يساوى الارقام الموجوده فى خانات اتليفون

تظهر رساله الرقم غير موجود

 

المشكله بقى

ان الرساله يتظهر فى الحالتين سواء الرقم موجود فعلا له بيانات متسجله وبيتظهر بيناته  او مش موجود

مش عارفه اظهرها مع الحاله المظبوطه

وده الكود اللى انا استخدمته

     if:BLOCK23.TEXT_ITEM24 is not null
         then
     set_block_property('STUDENTS' ,default_where ,'TEL = ' || :BLOCK23.TEXT_ITEM24
    || ' or ' || 'MOBIL1 = ' || :BLOCK23.TEXT_ITEM24
    || ' or ' || 'MOBIL2 = ' || :BLOCK23.TEXT_ITEM24);
    go_block('STUDENTS');
    execute_query;
     end if;
     
 --------------------------------
 
     if :BLOCK23.TEXT_ITEM24 <> 'tel'
     ||'or' || 'MOBIL1 <>'|| :BLOCK23.TEXT_ITEM24
     ||'or'|| 'MOBIL2 <>' ||:BLOCK23.TEXT_ITEM24
     
then
    message('this namber is not found');
    message('this namber is not found');
    :BLOCK23.TEXT_ITEM24 :='';
    end if;

 

 

 

المشكله اللى مكنتش فاهم قصدى فيها

انى بعد ما بعمل سيرش على رقم التليفون وفعلا يطلع موجود وتظهر البيانات

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

عشان اظهر كل البيانات اللى عندى

مبقدرش اعمل استعلام  بالاسم  مثلا لازم عشان اقدر اعمل اى استلام عن طريق اى حاجه غير item السيرش 

لازم اخرج من الشاشه وادخل تانى

 

 

 

 

 

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

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

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

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

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

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.