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

بتاريخ:

عملت فورمة للبحث في جدول PRODUCT (منتجات كمبيوتر لاب توب) وعملت LIST بحيث لما اختار مثلا صنف معين مثل (Dell) يظهر لي كل منتجات هذا الصنف وكتبت فيها الكودالتالي في التريجر WHEN-LIS-CHANGED
 

set_block_property('PRODUCT',default_where,'CAT_NAME ='||:control.list_cat);
go_block('PRODUCT');
execute_query;

ولكن لما باختار الصنف بيظهر لي رسالة خطأ

غير قادر على تنفيذ الاستعلام FRM-40505

ارجو الافادة جزاكم الله خيرا

____.rar

تم تعديل بواسطة Ahmad.Hasan

بتاريخ:

السلام عليكم
راجع هذا الرابط:

http://www.araboug.org/ib/index.php?showto...mp;#entry175177

موفق

بتاريخ:

اخي جرب وضع الكود على when-mouse-click trigger
او when-mouse-double-click

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

اخي الكريم مفيش فايدة نفس المشكلة
جربت هذا الكود

declare
x varchar2(200) :='product.pro_price ='||:control.text_item36 ;
begin if (:control.list42 = 'E') then
x:='product.pro_price ='||nvl(:control.text_item36,1) ;	

else if (:control.list42 = 'M') then
x:='product.pro_price >'||nvl(:control.text_item36,1) ;

else if (:control.list42 = 'L') then
x:='product.pro_price <'||nvl(:control.text_item36,1);

else if (:control.list42 = 'ME') then
x:='product.pro_price >='||nvl(:control.text_item36,1); 

else if (:control.list42 = 'LE') then
x:='product.pro_price <='||nvl(:control.text_item36,1);

end if;
end if;
end if;
end if;
end if;

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

if (:control.list49 = 'E') then
x:=x||'and product.hard_capacity ='||NVL(:control.text_item48,1) ;	

else if (:control.list49 = 'M') then
x:=x||'and product.hard_capacity >'||NVL(:control.text_item48,1) ;

else if (:control.list49 = 'L') then
x:=x||'and product.hard_capacity <'||NVL(:control.text_item48,1);

else if (:control.list49 = 'ME') then
x:=x||'and product.hard_capacity >='||NVL(:control.text_item48,1); 

else if (:control.list49 = 'LE') then
x:=x||'and product.hard_capacity <='||NVL(:control.text_item48,1);

end if;
end if;
end if;
end if;
end if;

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

if (:control.list52 = 'E') then
x:= x||'and product.PROCESSOR_SPEED ='||nvl(:control.text_item51,1) ;	

else if (:control.list52 = 'M') then
x:= x||'and product.PROCESSOR_SPEED >'||nvl(:control.text_item51,1) ;

else if (:control.list52 = 'L') then
x:= x||'and PROCESSOR_SPEED <'||nvl(:control.text_item51,1);

else if (:control.list52 = 'ME') then
x:= x||'and PROCESSOR_SPEED >='||nvl(:control.text_item51,1); 

else if (:control.list52 = 'LE') then
x:= x||'and PROCESSOR_SPEED <='||nvl(:control.text_item51,1);

end if;
end if;
end if;
end if;
end if;

--x:= x||'and operating_system ='||:control.list55 ;


set_block_property('product',onetime_where,x);
go_block('product');
execute_query;
end;



مقيش مشكلة فيه ولكن المشكلة عندما ابحث عن شيء معين بواسطة حقل رقمي وحقل نصي يظهر نفس المشكلة اما لو حقل رقمي ورقمي مفيش مشكلة

يعني عندما ابحث عن مواصفات جهاز بدلالة سرعته(رقم) ونوعه(نص) يظهر هذا الخطأ بالاضافة الى ان list اللي انا عاملها اللي فيها انواع الاب توب لا تعمل عندما اختار منها

ارجو الافادة والفورمة مرفقة
جزاكم الله خيرا

PRODUCT_SEARCH3.rar

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

يا اخوة الرجاء الرد
لأن انا متعطل

بتاريخ:

اخي الكريم ممكن تعدل في الكود
تضع اولاً
go_block('PRODUCT'
ثم
set_block_property('PRODUCT',default_where,'CAT_NAME ='||:control.list_cat);
execute_query;

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

المشكلة يا اخي عندما اقوم بالبحث عن طريق حقل نصي يظهر لي هذا الخطأ
FRM-40505 غير قادر على تنفيذ الاستعلام

مثلا
في WHERE CLAUSE
PRODUCT.CAT_NAME = CONTROL.TEXT_ITEM36 مثلا

يظهر هذا الخطأ وهذا في جميع الحقول النصية او عندما ابحث عن طريق حقلين واحد رقمي والآخر نصي

  • بعد 3 سنة...
بتاريخ:

رغم إن الموضوع قديم ولاكن لدي حل لهذه المشكلة وحبيت اطرحة لعل وعسى أن ينتفع به غيري من اخواني المبتدئين مثلي وإن شاء الله يكون شغال عندكم لأنه شغال عندي والحمد لله .

اولاً طبعاً عندما يكون البحث بإستخدام نوعين من البيانات أي رقم و اسم ففي هذه الحالة يجب عمل حقل من نوع راديو بوتون يحتوي على اثنان من الازرار  لتحديد نوع البحث فيما اذا كان بالرقم او بالأسم .

وسوف يكون اسم حقل الراديو بوتون على سبيل المثال choos ولتكن القيمة الأبتدائية في الخاصية Initial Value , وبداخله اثنان من ازرار الاختيار, الأول n وهو الخاص بالبحث بالرقم وقيمتة الأبتدائية 1 وتكتب في الخاصية Radio Button Value, والآخر a وهو الزر الخاص بزر البحث بالأسم ولتكون قيمتة البدائية 2 وتكتب في الخاصية  Radio Button Value كما سبق ذكرة.

وكذلك يجب ان يكون هنالك حقل من نوع نصي TEXT_BOX والذي سوف يتم كتابة نص البحث فيه , وليكن اسمه على سبيل المثال p.
اعمل هذا الكود في زر البحث ('go_block('PRODUCT.

واعمل ترايجر WHEN-NEW-BLOCK-INSTANCE على مستوى البلك الذي سوف تظهر نتيجة البحث فيه واكتب بداخلة exequte_query.

ثم ادخل إلى خصائص البلك التي سوف تظهر فيه نتيجة البحث واكتب الكود التالي في الخاصية WHERE clause .

(CAT_NUMBER like : p ||'%'  and :choos=1) or (CAT_NAME like : p ||'%' and :choos=2) 

 

والله اعلم؛؛؛

تم تعديل بواسطة Saddam.cs

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

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

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

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

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

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.