بتاريخ: 17 أغسطس 201312 سنة comment_239240 انا عامل ال primary key بتاعي ارقام تسلسلية و عاملها مسلسل و شغال و كلة تمام بس لما باجب ادخل من الفورم بيقولي ان فية العمود دة مينفعش يكون فاضي ... اخلي الفورم ازاي تاخد من ارقام ال sequence ؟؟؟ تقديم بلاغ
بتاريخ: 17 أغسطس 201312 سنة comment_239244 عدل في هذا الكود Go_Block('ms'); select max(no+1)into :sno from ms; تقديم بلاغ
بتاريخ: 17 أغسطس 201312 سنة comment_239245 اللى الاخ رؤوف كتبه على فكره احلى بكتير من التسلسل اللى انت عايز تعمله لانه بيحافظ على التسلسل اكتر ومش هيوقع ارقام منك لاى سبب تعمله وقت الحفظ مثلا او لما تفتح الفورم او بعد الحفظ لو فيه معلومات تانيه هتتعمل بعد الحفظ select max(اسم العمود) + 1 into :اسم الحقل عندك from اسم الجدول ; تقديم بلاغ
بتاريخ: 17 أغسطس 201312 سنة comment_239246 create new trigger(when_create_record) on the form level and then edit this code (change table names and sequence name ) and put it into the trigger declare x number;begin select count(*) into x from INVENTORY ; if x>0 thenselect (max(INVENTORY_ID )+1) into :INVENTORY_ID from INVENTORY; else select 1 into :INVENTORY_ID from dual; end if;end;IF :INVENTORY_ID IS NOT NULL THEN SET_ITEM_PROPERTY('INVENTORY_ID',ENABLED,PROPERTY_FALSE); END IF; تقديم بلاغ
بتاريخ: 1 نوفمبر 201312 سنة comment_241809 اين اكتب الكود موضح في اعلاه اين تكتب الكود عند الtrigger الذي هو when_create_record ويكون على مستوى الفورم اذهب الى نافذة object Navigator كما موضح في مرفقات الصورة تقديم بلاغ
بتاريخ: 1 نوفمبر 201312 سنة comment_241811 في نوعين من Sequence 1- من DB 2 - Coding شان تستخدم الاول لازم تعرف Sequence في DB و تستخدم جوا الفورم في trigger pre-insert على مستوى datablock و يكون كالتالي : select Sequencename.nextval into textname from dual; اما الطريقة الثانية هي كالاتي و نفس محل trigger : 1+ (0,(select nvl(max(column_name into textname from tablename تقديم بلاغ
بتاريخ: 1 نوفمبر 201312 سنة comment_241816 اسحب من الـ sequence عادي بس جوه pre-insert trigger تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.