الانتقال إلى المحتوى

إدراج تسلسل تلقائي


Fara7

Recommended Posts

مرحبا جميعاً .. كيف الحال :D


بصراحه عندي مشكلتين أو بالأحرى سؤالين :D

أول سؤال إني أنا عامله Sequence علشان يعطيني رقم تسلسلي
بس المشكله إنه بيكون هكذا 1 بعدين 2 بعدين 3 بعدين 4 لما إلغي الـ 2 بتصير
1 3 4 ، اللي اريده هنا ان لما احذف سجل يعيد الترتيب من الأول أي ويعيد ترتيبها تلقائياً ويحفظ بنفسه ذلك .

كيف ممكن أحقق هالشي ؟!



وبالنسبه لثاني سؤال

إذا عندي حقلين أريد بمجرد إني اكتب بالحقل الأول يكون الحقل الثاني locked
يعني إذا كتبت بالحقل الاول الثاني يصير disabel وما اقدر اكتب فيه

كيف ممكن احقق هالشي ؟!

رابط هذا التعليق
شارك

أمل أن يكون جوابي صحيحاً


عند الحقل الأول EMPNUM و الحقل الثاني ENAME

1- نذهب إلى الحقل EMPNUM ثم نختار الحدث WHEN_NEW_FORM_INSTATNCE
ثم نكتب
SET_ITEM_PROPERTY('BLOCKNAME,ENAME',ENABLED,PROPERTY_OFF);

أن شاء الله أن يكون الحل صحيح.

رابط هذا التعليق
شارك

Dear:
Your question has 2 parts:
1-Regarding to sequence section ,I would like to know where and when you use it (In form level or database level).
2-
I will assume that you have two text item A and B,What you need is when you change value in Item(A) ,Item(B) will be disabled :
1-add trigger "WHEN-VALIDATE-ITEM"on item(A).
2-Write below code in trigger:

if :A is not null then
set_item_property('B',enabled,property_false);
else
set_item_property('B',enabled,property_true);
set_item_property('B',navigable,property_true);

end if;


Regards,
Mohamed

رابط هذا التعليق
شارك

السلام عليكم اعضاء المنتدى الكرام
مشكورين على التفاعل الجميل المثمر
لى مداخلة لو سمحتم بالنسبة لموضوع ال Sequence
بالنسبة للاخ mahmoud20107 اعتقد ان الاخت فرح تسئل عن طريقة
معالجة الارقام المفقودة فى Sequence على ما أعتقد (repair sequence gap)
وليس طريقة عمل Sequence
وكنت قد قمت بعرض المشكلة من قبل ولم نصل فيها الى حل
وهذا رابط الموضوع وبه طريقة عمل sequence ومرفق بها فورم
http://www.araboug.org/ib/index.php?sho...hl=sequence+gap

رابط هذا التعليق
شارك

اخي لا بد من بقاء الحال كما عليه
يعني حتى يتم معرفة الرقم المحذوف

والا عليها الاخت الفاضلة
اولا الفرق دائما ثابت وهو 1
عند ضغط زر الحفظ لا بد من عمل جملة تعديل من السجل التالي الى اخر سجل
داخل loop
يقوم بعمل التالي
الرقم = الرقم -1

ومن ثم حفظ


ارجوا ان تستفيدوا من هذه الفكرة

وان لم تستطيعوا التنفيذ انا بالخدمة

اخوكم
محمود

تم تعديل بواسطة mahmoud20107
رابط هذا التعليق
شارك

اخي لا بد من بقاء الحال كما عليه
يعني حتى يتم معرفة الرقم المحذوف

والا عليها الاخت الفاضلة
اولا الفرق دائما ثابت وهو 1
عند ضغط زر الحفظ لا بد من عمل جملة تعديل من السجل التالي الى اخر  سجل
داخل loop
يقوم بعمل التالي
الرقم = الرقم -1

ومن ثم حفظ


ارجوا ان تستفيدوا من هذه الفكرة

وان لم تستطيعوا التنفيذ انا بالخدمة

اخوكم
محمود

هلا أخوي محمود وأعتقد هذي الطريقه اللي تنفع
بس ممكن توضيح أو مثال بسيط

بعرف عذبتك معي بس لإني بالفعل محتاجته :D

وتسلم ويعطيك العافيه

وبانتظار ردك ...
رابط هذا التعليق
شارك

الأصدقاء الأعزاء ...
أستطيع أن أقول بأن الطريقة التالية هي الأكفاء والأحسن ..
ولكنها لا تعتمد على sequence
select nvl(max(deptno)+1,1)
into :dept.deptno
from dept
وبهذا يختار من الجدول أعلى قيمة ويضاف لها واحد دائما ً ......
وإذا لم يتم الحفظ ستبقى أعلى قيمة موجودة هي القيمة القديمة حتى لو كان المستخدم قد أختار الأمر : جديد .
نتمنى الدعوات الخيرة ...
سلام
Amir :D

رابط هذا التعليق
شارك

السلام عليكم :
بالنسبة لموضوع اعادة فهرسة السيكونس ليس هناك حاجة لا عادة فهرسته خاصة لو كان الحقل مرتبط بجدول اخر و هذا بالتالي يؤدي الى حدوث مشكلة بالربط مع الجدول الاخر بحيث لابد من تحديث الرقم في الحقل و الحقول المرتبطة ..

رابط هذا التعليق
شارك

تحياتي للجميع
بالنسبه لمشكلة السيكوينس معلوماتي هي أنه لا يمكن عرض تفادي مشكلة الرقم المفقود لان الارقام متسلسله حتى انك ان استخدمت السيكوينس في اماكن عدة سيكون متسلسل
اما بالنسبه للمشكلة الثانيه فأعتقد انه تم الرد عليها هنا

رابط هذا التعليق
شارك

  • بعد 5 شهور...

يجب عدم استخدام المتسلسلة ويجب ان يكون عدد السجلات التي تظاف في الجدول قليل نسبياً ويجب ان لا يرتبط هذا الجدول مع جدول اخر عن طريق الرقم المتسلسل هذا
تستخدم التالي من اجل الرقم المتسلسل
when-create_record
:t:=:system.trigger_record;

في زر الحفظ اعمل loop على ال block
first_record;

loop

:t:=:system.trigger_record;
exit when :system.last_record=TRUE;
next_record;

end loop;
commit;

رابط هذا التعليق
شارك

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية