بتاريخ: 7 فبراير 200818 سنة comment_122040 السلام عليكم و رحمة الله و بركاتهاخواني و اخواتيلدي فورم فيها عده حقول احدهما PRIMARY KEY اذا ادخل المستخدم رقم مكرر في هذا الحقل اريد اظهار لة رسالة تنبيه بان هذا الرقم مكررفكيف يمكنني فعل ذلك و رحم الله والديكم دنيا و اخرة تقديم بلاغ
بتاريخ: 10 فبراير 200818 سنة comment_122144 بسم الله الرحمن الرحيمجرب هذا الكود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; تقديم بلاغ
بتاريخ: 10 فبراير 200818 سنة كاتب الموضوع comment_122162 رحم الله والديك على الاستجابةبوركت يا اخيلكن اذا كان لدي فورم details فيه الحقول التاليةid,item_type_qty_priceو انا اريد ان لا يتكرر الitem_type في الوصل الواحد علما ان الid يتكرر لانه foreign key فكيف استطيع ان اظهر سالة تبلغ المستخدم بان الitem_code مكرر في الوصل الواحد (يعني id l مكرر لكنitem_code لا يمكن ان يكرر)و رحم الله والديكم دنيا و اخرة تقديم بلاغ
بتاريخ: 10 فبراير 200818 سنة comment_122179 السلام عليكم ورحمة الله وبركاتهأخي العزيز اولاً ال Primary Key يجب ان يصرف تلقائياً وليس ان يدخل عن طريق المستخدم يدويا خوفاً من أدخال ارقام غير صحيحة فيمكن ان يكون اخر رقم صرف هو 28 وقام مدخل البيانات بأدخال الرقم 30 فأنه لن يعترض ويأخذ الرقم 30 وهذا الرقم خطا لانه لم يكتب الرقم 29 وهكذا .....فلذلك نقوم بصرف الرقم تلقائيا وذلك بتحديد بعض الخصائص لل Primary Key عن طريق F4 وهي Enabled No وهذه الخاصية تمنع الكتابة داخل ال Primary KeyRequired 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; أرجوا ان اكون اوصلت المعلومة تقديم بلاغ
بتاريخ: 11 فبراير 200818 سنة كاتب الموضوع comment_122240 اخوية شكرا على الرد لكن اريد ان اوضح مشكلتي اكثرلدي جدول details فيه الحقول التاليةiditem_codeqtyid,item_code are combined keyid سوف يتكرر مع كل قيد لانه في الفورم details و كمثال على ذلكid item_code qty1 1 11 2 11 3 1 50 1 1 يعترض و اريد ان يظهر لي رسالة ينبه المستخدم بان الرقم قد ادخل من قبل في هذا الوصليا ريت المساعدة و رحم الله والديكم دنيا و اخرة تقديم بلاغ
بتاريخ: 11 فبراير 200818 سنة comment_122255 هتعدل بس الكود وتخليه كده 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; تقديم بلاغ
بتاريخ: 13 فبراير 200818 سنة كاتب الموضوع comment_122381 السلام عليكم و رحمة الله و بركاتهاخواني اعرف اني قد اطلت عليكم لكن سارفق صورة للمشكلة الحاصلة لي و يا ريت تساعدوني فيها تقديم بلاغ
بتاريخ: 13 فبراير 200818 سنة comment_122409 الأخ / اشرفيمكنك استخدام فكرة الloop للمرور على جميع السجلات فى ال tabular block لاجراء المقارنه على العمود الذى تريده اليك مشاركة سابقة بالمنتدى إضغط هنا : أريد عمل Check علي عدم تكرار كود الموظف مثلا ؟؟ تقديم بلاغ
بتاريخ: 14 فبراير 200818 سنة كاتب الموضوع comment_122420 شكرا على الاهتمام لكن اللنك لا يعمل تقديم بلاغ
بتاريخ: 14 فبراير 200818 سنة comment_122457 بسم الله الرحمن الرحيمهتعمل 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; تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.