بتاريخ: 7 مايو 200421 سنة comment_6502 السلام عليكم ورحمة الله وبركاتهعندي form فيه block عبارة عن tabular فيه item هوsereial (تسلسلي) اريد ان اعبئه تلقائيا بحيث انه عندما اكون على اول recored يعطي قيمة 1ثم علي ثاني recored تظهر قيمة 2علي اي trigger اكتب الكودوشكرا تقديم بلاغ
بتاريخ: 7 مايو 200421 سنة comment_6507 هلا اخي تستطيع اداء ما تريد عن طريقين اولا انشئ متغير عام علي زناد when_new_form_instans global.seial := 1 ; الطريتين اولا علي تريجير when_new_record_instance :seial := :global.seial; :global.seial := :global.serial + 1 ; او علي تريجر post_change علي العمود التالي ل serial و يكون عمود المسلسل ديسبلاي ايتم if get_record_property ('emp',statuse) = 'NEW' then :seial := :global.seial; :global.seial := :global.serial + 1 ; end if; الطريقة الثانيه هي الافضل الكود مش مظبوط اعتقد بس دي فكرته يعني مع تمنياتي بالتوفيق تقديم بلاغ
بتاريخ: 7 مايو 200421 سنة comment_6526 اخي nn_oracleالف شكر لمشرفنا وفكرة حلوةطريقة احلى استخدم طريقة الcount وضع الكود على مستوى الداتا بلوكبمستويين من التريجرات وهما pre_insert ويفيدك هذا التريجر في حالة العمل الجماعي لاشخاصيعني اكثر من شخص يضيف في نفس الوقتوالتريجر الاخر when_create_recordضع فيهم الكود التالي declare x number; begin select count(*) into x from emp ; if x>0 then select (max(emp.id )+1) into :emp.id from emp; else select 1 into :emp.id from dual; end if; end; IF :emp.id IS NOT NULL THEN SET_ITEM_PROPERTY('emp.id',ENABLED,PROPERTY_FALSE); END IF; مع تغير مسميات الحقول الي ما يناسبكاخوكمحمودلا تنسونا من دعاء صالح تقديم بلاغ
بتاريخ: 7 مايو 200421 سنة comment_6531 هذا كود لحل نفس المشكله IF :CASE.ID IS NULL THEN select nvl(max(CASE.ID),0)+1 into :CASE.ID from CASE; END IF; تقديم بلاغ
بتاريخ: 11 مايو 200421 سنة comment_6847 Dear :Try this code in when-create-record trigger: :serial_no:=:system.cursor_record; and you can disable key-clrec trigger تقديم بلاغ
بتاريخ: 15 مايو 200421 سنة comment_7031 أخي العزيز يمكن إضافة حقل ليس من الـ Databaseمثلا SMaxوجعله Sumrized ItemMaxللعنصر المراد عده مثلا Serialومن ثم في الـ Trigger When-Create-Record:Serial := NVL(SMax,0) + 1; تقديم بلاغ
بتاريخ: 11 أكتوبر 200421 سنة comment_14821 عزيزي الافضل ان تستخدم ال :t:=system.trigger_recordرعاك الله تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.