بتاريخ: 23 يوليو 200718 سنة comment_105466 عندي عدة سجلات في فورم وأريد أن أعمل أرقام تسلسلية لكل سجلفمثلا123456 تقديم بلاغ
بتاريخ: 23 يوليو 200718 سنة comment_105469 السلام عليكم حلك عندي يغاليتعمل حقل وتمسيه esrial او اي مسمي وتكتب في الفورم في when-validate-item تكتب اسم الحقل ويكون عامل ليه تكست serial :=:system.cursor_record;انشاء الله يكون هو دة اللى انت عايزةحسين غلال[email protected] تقديم بلاغ
بتاريخ: 23 يوليو 200718 سنة comment_105470 الحل كالتالي : - تعكل حقل و تسميه SEQ وما يكون DATA BASE FIELD- في ال BLOCK في الـ BOST CHANG اكتب :seq := get_block_property('PUT THE bLOCK',Current_record); تقديم بلاغ
بتاريخ: 23 يوليو 200718 سنة comment_105473 العضو a5hhk : يريد اظهاررقم متسلسل بجانب كل حقل من الحقول في فورم tabular مثلا تعمل حقل و تسميه SEQ وما يكون DATA BASE FIELDيعني الخاصية database تعملها NO - في ال BLOCK اللي حقل فيه تضيف تريجر BOST CHANG اكتب فيه السطر هذا:seq := get_block_property('PUT THE bLOCK',Current_record); تقديم بلاغ
بتاريخ: 23 يوليو 200718 سنة كاتب الموضوع comment_105479 شكرا جزيلاهذا ما أريده بالظبطشكرا لكم جميعا تقديم بلاغ
بتاريخ: 23 يوليو 200718 سنة comment_105486 هذا الحل ليس عمليا بدرجة كبيرة فمن الممكن أن يحدث تضارب فى القيمة لو كانت uniqueفبافتراض وجود اكثر من مستخدم على الفورم وأثناء الإدخال فى نفس الوقت تتضح الصورة اكثر.فقط كل ما عليك فعله هو انت تكتب الكود فى pre-insert triggerبحيث يأتى بأعلى قيمة لهذا الحقل ويضيف عليها 1 مع العلم ان هذا الزناد يتم تنفيذه عند عملية الحفظ مع كل سجل يتم إضافته .بفرض ان الحقل اسمه seq فى قاعدة البيانات والفورم select nvl(max(seq))+1 into :SEQ from table_name; مع التأكد من خاصية enabled, required أن تكونا ب NOحتى لا يتمكن المستخدم من التغيير بالقيمة وحتى لا يتم عمل validation على ال itemآسف يوجد خطأ صغير بالكودالكود مرة أخرى select nvl( max(seq) ,0) + 1 into :SEQ from table_name; تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.