بتاريخ: 30 نوفمبر 200916 سنة comment_177837 عملت فورمة للبحث في جدول 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 تم تعديل 27 أكتوبر 201312 سنة بواسطة Ahmad.Hasan تقديم بلاغ
بتاريخ: 30 نوفمبر 200916 سنة comment_177865 السلام عليكمراجع هذا الرابط:http://www.araboug.org/ib/index.php?showto...mp;#entry175177موفق تقديم بلاغ
بتاريخ: 1 ديسمبر 200916 سنة comment_177927 اخي جرب وضع الكود على when-mouse-click triggerاو when-mouse-double-click تقديم بلاغ
بتاريخ: 4 ديسمبر 200916 سنة كاتب الموضوع comment_178273 اخي الكريم مفيش فايدة نفس المشكلةجربت هذا الكود 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 تقديم بلاغ
بتاريخ: 5 ديسمبر 200916 سنة comment_178303 اخي الكريم ممكن تعدل في الكود تضع اولاًgo_block('PRODUCT'ثمset_block_property('PRODUCT',default_where,'CAT_NAME ='||:control.list_cat);execute_query; تقديم بلاغ
بتاريخ: 6 ديسمبر 200916 سنة كاتب الموضوع comment_178412 المشكلة يا اخي عندما اقوم بالبحث عن طريق حقل نصي يظهر لي هذا الخطأFRM-40505 غير قادر على تنفيذ الاستعلاممثلافي WHERE CLAUSEPRODUCT.CAT_NAME = CONTROL.TEXT_ITEM36 مثلايظهر هذا الخطأ وهذا في جميع الحقول النصية او عندما ابحث عن طريق حقلين واحد رقمي والآخر نصي تقديم بلاغ
بتاريخ: 26 أكتوبر 201312 سنة comment_241597 رغم إن الموضوع قديم ولاكن لدي حل لهذه المشكلة وحبيت اطرحة لعل وعسى أن ينتفع به غيري من اخواني المبتدئين مثلي وإن شاء الله يكون شغال عندكم لأنه شغال عندي والحمد لله . اولاً طبعاً عندما يكون البحث بإستخدام نوعين من البيانات أي رقم و اسم ففي هذه الحالة يجب عمل حقل من نوع راديو بوتون يحتوي على اثنان من الازرار لتحديد نوع البحث فيما اذا كان بالرقم او بالأسم . وسوف يكون اسم حقل الراديو بوتون على سبيل المثال 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) والله اعلم؛؛؛ تم تعديل 26 أكتوبر 201312 سنة بواسطة Saddam.cs تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.