الانتقال إلى المحتوى
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.

عند ادخال رقم مكرر في هذا الحقل اريد اظهار لة رسالة تنبيه بان هذا الرقم مكرر

Featured Replies

بتاريخ:

السلام عليكم و رحمة الله و بركاته
اخواني و اخواتي
لدي فورم فيها عده حقول احدهما PRIMARY KEY
اذا ادخل المستخدم رقم مكرر في هذا الحقل اريد اظهار لة رسالة تنبيه بان هذا الرقم مكرر
فكيف يمكنني فعل ذلك
و رحم الله والديكم دنيا و اخرة

بتاريخ:

بسم الله الرحمن الرحيم

جرب هذا الكود
when-validate-item

declare
a emp.empno%type;
begin select empno into a from scott.emp where empno=:emp.empno;
if a is not null then 
 message('this number is founded');
:emp.empno:=:system.current_item;
else
 :emp.empno:=:system.current_value;
end if;

exception
 when too_many_rows then
  message('this number is founded');
 message('this number is founded');
:emp.empno:=:system.current_item;

when no_data_found then
:emp.empno:=:system.current_value;
end;

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

رحم الله والديك على الاستجابة

بوركت يا اخي
لكن اذا كان لدي فورم details فيه الحقول التالية
id,item_type_qty_price
و انا اريد ان لا يتكرر الitem_type في الوصل الواحد
علما ان الid يتكرر لانه foreign key
فكيف استطيع ان اظهر سالة تبلغ المستخدم بان الitem_code مكرر في الوصل الواحد (يعني id l مكرر لكنitem_code لا يمكن ان يكرر)

و رحم الله والديكم دنيا و اخرة

بتاريخ:

السلام عليكم ورحمة الله وبركاته
أخي العزيز اولاً ال Primary Key يجب ان يصرف تلقائياً وليس ان يدخل عن طريق المستخدم يدويا خوفاً من أدخال ارقام غير صحيحة فيمكن ان يكون اخر رقم صرف هو 28 وقام مدخل البيانات بأدخال الرقم 30 فأنه لن يعترض ويأخذ الرقم 30 وهذا الرقم خطا لانه لم يكتب الرقم 29 وهكذا .....
فلذلك نقوم بصرف الرقم تلقائيا وذلك بتحديد بعض الخصائص لل Primary Key عن طريق F4 وهي
Enabled No وهذه الخاصية تمنع الكتابة داخل ال Primary Key
Required No وهذه ا لخاصية هي عبارة Not Null لكي لا يعترض لانه ممنوع الكتابة داخل ال Primary Key
وبعد ذلك نكتب هذا ال Trigger على مستوى البلوك (على فرض نريد تحديد PK لجدول الموظفين )
وهذا ال Trigger هو Pre_insert
وهذا هو الكود

   SELECT NVL(MAX(EMP_NO),0)+1
INTO :EMP.EMP_NO
FROM EMP;


أما أخي العزيز بالنسبة لعدم تكرار الitem_type الموضوع بسيط
تنشاء Trigger لل الitem_type وهو when_validate_item
وتكتب هذا الكود

				   Declare
v_found number;
begin
select count(item_type)
into v_found
from items
where item_type =:items.item_type;
if v_found > 0 then
message('This Is Item Type Is Found ...');
message(' ');
Raise Form_Trigger_Failure;  
end;



أرجوا ان اكون اوصلت المعلومة
:rolleyes: :blink: :(

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

اخوية شكرا على الرد لكن اريد ان اوضح مشكلتي اكثر
لدي جدول details فيه الحقول التالية
id
item_code
qty
id,item_code are combined key
id سوف يتكرر مع كل قيد لانه في الفورم details و كمثال على ذلك
id item_code qty
1 1 1
1 2 1
1 3 1
50 1 1 يعترض و اريد ان يظهر لي رسالة ينبه المستخدم بان الرقم قد ادخل من قبل في هذا الوصل
يا ريت المساعدة
و رحم الله والديكم دنيا و اخرة

بتاريخ:

هتعدل بس الكود وتخليه كده

declare
a number;
b number;
begin select id,item_code into a,b from detailes where item_code=:item_code and id=:id;
if a is not null and b is not null then 
message('this number is founded');
:detailes.item_code:=:system.current_item;
else
:detailes.id:=:system.current_value;
:detailes.item_code:=:system.current_value;
end if;

when no_data_found then
:detailes.id:=:system.current_value;
:detailes.item_code:=:system.current_value;
end;

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

السلام عليكم و رحمة الله و بركاته
اخواني اعرف اني قد اطلت عليكم
لكن سارفق صورة للمشكلة الحاصلة لي و يا ريت تساعدوني فيها

post-47518-1202903983_thumb.jpg

بتاريخ:

الأخ / اشرف

يمكنك استخدام فكرة الloop للمرور على جميع السجلات فى ال tabular block لاجراء المقارنه على العمود الذى تريده
اليك مشاركة سابقة بالمنتدى

إضغط هنا : أريد عمل Check علي عدم تكرار كود الموظف مثلا ؟؟

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

شكرا على الاهتمام لكن اللنك لا يعمل

بتاريخ:

بسم الله الرحمن الرحيم

هتعمل when-validate-item على الitem_code
وتكتب فيه هذا الكود

declare
a number;
b number;
begin select no1,item_code into a,b from detailes where item_code=:item_code and no1=:no1;
if a is not null and b is not null then 
message('this number is founded');
:detailes.item_code:=null;
:detailes.item_code:=:system.current_item;
a:=null;
b:=null;
else
:detailes.item_code:=:system.current_value;
end if;

exception
when no_data_found then
:detailes.item_code:=:system.current_value;
end;

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

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

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

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

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

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.