بتاريخ: 8 أكتوبر 200916 سنة comment_172181 قمت بعمل معيار للبحث عن عدة قيم تكون متطابقة كالتالي set_block_property('pers_tb',default_where,'AGE=:AGE AND CHILD_NO=:CHILD_NO AND GENDER_CD=:GENDER_CD AND EDU_CD=:EDU_CD'); اذا أردت أن أبحث عن عدد الأولاد والجنس والتخصص ولكن بشرط أن تكون أعمارهم أكبر من القيمة المدخلة في خانة العمر فما العمل ..؟وواجهتني مشكلة أخرى وهي أنه في حالة عدم ادخال التخصص على سبيل المثال لا ينفذ الاستعلام مع العلم أنني أدخلت العمر وعدد الأولاد والجنس , أنا أريده فقط أن يبحث في القيم التي يدخلها المستخدم ولا يلتزم بادخال كل القيم الموجودة في جملة الشرط WHERE ما العمل في ذلك أرجو المساعدة العاجلة .. :( :( تقديم بلاغ
بتاريخ: 8 أكتوبر 200916 سنة comment_172188 السلام عليكمجرب الطريقة التالية: set_block_property('pers_tb',default_where,'(AGE > :AGE) AND (CHILD_NO=:CHILD_NO OR :CHILD_NO IS NULL) AND (GENDER_CD=:GENDER_CD OR :GENDER_CD IS NULL) AND (EDU_CD=:EDU_CD OR EDU_CD IS NULL)'); وضيف اسماء البلوك قبل الايتم افضل...بالتوفيق تم تعديل 8 أكتوبر 200916 سنة بواسطة PALI.ORACLE تقديم بلاغ
بتاريخ: 8 أكتوبر 200916 سنة comment_172206 ممكن انه تجمع جملة الشرط في متغير و انتا بتكون فحصت كل حقل ازا فاضي او لا هذا الكود ان شاء الله يفيدك declare frm_where varchar2(500); begin frm_where := '1=1'; if :age is not null then frm_where := frm_where||' and age > :age'; end if; if :child_no is not null then frm_where := frm_where||' and child_no = :child_no'; end if; if :gender_cd is not null then frm_where := frm_where||' and gender_cd = :gender_cd'; end if; if :edu_cd is not null then frm_where := frm_where||' and edu_cd = :edu_cd'; end if; Set_Block_Property('block_name', ONETIME_WHERE, frm_where); Go_block('block_name'); Execute_Query(); end; تقديم بلاغ
بتاريخ: 10 أكتوبر 200916 سنة كاتب الموضوع comment_172343 أخي بال وأخي سوبرلم تفلح هذه الطرق معيشكرا جزيلا على المحاولة تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.