الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

مشكلة في الform

Featured Replies

بتاريخ:

السلام عليكم ورحمة الله وبركاته
عندي form فيه block عبارة عن tabular فيه item هوsereial (تسلسلي)
اريد ان اعبئه تلقائيا بحيث انه عندما اكون على اول recored يعطي قيمة 1
ثم علي ثاني recored تظهر قيمة 2
علي اي trigger اكتب الكود
وشكرا

بتاريخ:

هلا اخي تستطيع اداء ما تريد عن طريقين
اولا انشئ متغير عام علي زناد 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;


الطريقة الثانيه هي الافضل الكود مش مظبوط اعتقد بس دي فكرته يعني
مع تمنياتي بالتوفيق

بتاريخ:

اخي 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;



مع تغير مسميات الحقول الي ما يناسبك


اخوك
محمود

لا تنسونا من دعاء صالح

بتاريخ:

هذا كود لحل نفس المشكله

IF :CASE.ID IS NULL THEN
select nvl(max(CASE.ID),0)+1
into :CASE.ID from CASE; END IF;

بتاريخ:
  • كاتب الموضوع

مشكورين على الرد
وجزاكم الله كل خير

بتاريخ:
:D
بتاريخ:

Dear :
Try this code in when-create-record trigger:

:serial_no:=:system.cursor_record;


and you can disable key-clrec trigger

بتاريخ:

أخي العزيز يمكن إضافة حقل ليس من الـ Database
مثلا SMax
وجعله Sumrized Item
Max
للعنصر المراد عده مثلا Serial
ومن ثم في الـ Trigger When-Create-Record
:Serial := NVL(SMax,0) + 1;

  • بعد 4 شهور...
بتاريخ:

عزيزي الافضل ان تستخدم
ال
:t:=system.trigger_record
رعاك الله

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

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

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

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

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

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.