بتاريخ: 23 يونيو 201411 سنة comment_252278 السلام عليكم عندي فورم ويوجد بها داتا بلوك وعليها مجموعة من ال Columns , يوجد كولوم انا عامل عليه في الداتا بايز unique constraint , اذا ادخل اليوزر قيمة مكررة تظهر رسالة الايرور الخاصة بالداتا بايز عند الحفظ كيف يمكن تغيير هذة الرسالة الى رسالة مفهومة لليوزر تقديم بلاغ
بتاريخ: 23 يونيو 201411 سنة comment_252279 خذ رقم الـ Error الذي يظهر لدى حضرتك ثم على مستوى الفورم على الحدث on_error أكتب الكود التالي if error_code in(40508) then message ('تكرار بالقيد المدخل....'); message ('تكرار بالقيد المدخل....'); end if; يعني هذا على سبيل المثال أنا وضعت الرقم 40508 لكن حضرتك تضع رقم الخطأ الذي يظهر لديك إن كان هذا في Oracle Form تقديم بلاغ
بتاريخ: 23 يونيو 201411 سنة كاتب الموضوع comment_252285 جزاكي الله خيرا بس هل اقدر اجيب القيمة المتكررة عشان اعرضها لليوزر في الرسالة تقديم بلاغ
بتاريخ: 23 يونيو 201411 سنة comment_252289 السلام عليكم اخي الكريمبامكانك بالطبع عرض قيمة الريكورد الحالي كهذا المثال if dbms_error_code = '-00001' then message('This Value Already Exist. '||:emp.empno); else message(error_type||'-'||error_code||' '||error_text); end if; تم تعديل 23 يونيو 201411 سنة بواسطة mohamedali013 تقديم بلاغ
بتاريخ: 23 يونيو 201411 سنة كاتب الموضوع comment_252313 جزاك الله خيرا اخي الكريم ولكن في الداتا بلوك يوجد 3 كولوم عليهم unique constraint , كيف احدد الكولوم الذي حدت فية التكرار لقرائة القيمة التي به وعرضها لليوزر تقديم بلاغ
بتاريخ: 24 يونيو 201411 سنة comment_252338 ممك حضرتك بدل ما المستخدم يملى كل البيانات وتستنا يحفظ يجبله الخطاء ويرجع يغير كل البيانات الى ادخلها ممكن تعملحدث when_validate_item على كل ايتم لية الخاصية unique واكتب فية declare v varchar2(2);--0 begin select distinct ('a') into v from table_name where column_name = :item_name ; --0 if v is not null then message('هذا القيد تم ادخالة مسبقا ...');--0 message(' ');--0 raise form_trigger_failure;--0 end if;--0 exception when no_data_found then null;--0 end;--0 وبكدا قبل ما يجي يحفظ هيكون متاكد ان البيانات غير مكررة وكمان وقت الادخال هيكون عارف اية العمود المكرر ويغير بياناته على طول تم تعديل 24 يونيو 201411 سنة بواسطة ميسم الكرام تقديم بلاغ
بتاريخ: 29 يونيو 201510 سنة comment_263437 مش نافع الحل ده يا ج ممك حضرتك بدل ما المستخدم يملى كل البيانات وتستنا يحفظ يجبله الخطاء ويرجع يغير كل البيانات الى ادخلها ممكن تعملحدث when_validate_item على كل ايتم لية الخاصية unique واكتب فية declare v varchar2(2);--0 begin select distinct ('a') into v from table_name where column_name = :item_name ; --0 if v is not null then message('هذا القيد تم ادخالة مسبقا ...');--0 message(' ');--0 raise form_trigger_failure;--0 end if;--0 exception when no_data_found then null;--0 end;--0 وبكدا قبل ما يجي يحفظ هيكون متاكد ان البيانات غير مكررة وكمان وقت الادخال هيكون عارف اية العمود المكرر ويغير بياناته على طول الحل ده مش هينفع بالشكل ده ويحتاج ان تقوم الشاشة بحفظ كل سجل بعد ادخاله مباشرة حد عنده حل أخر تقديم بلاغ
بتاريخ: 29 يونيو 201510 سنة comment_263438 مش نافع الحل ده يا ج ممك حضرتك بدل ما المستخدم يملى كل البيانات وتستنا يحفظ يجبله الخطاء ويرجع يغير كل البيانات الى ادخلها ممكن تعمل حدث when_validate_item على كل ايتم لية الخاصية unique واكتب فية declare v varchar2(2);--0 begin select distinct ('a') into v from table_name where column_name = :item_name ; --0 if v is not null then message('هذا القيد تم ادخالة مسبقا ...');--0 message(' ');--0 raise form_trigger_failure;--0 end if;--0 exception when no_data_found then null;--0 end;--0 وبكدا قبل ما يجي يحفظ هيكون متاكد ان البيانات غير مكررة وكمان وقت الادخال هيكون عارف اية العمود المكرر ويغير بياناته على طول الحل ده مش هينفع بالشكل ده ويحتاج ان تقوم الشاشة بحفظ كل سجل بعد ادخاله مباشرة حد عنده حل أخر الناس بتتكلم علي الداتابيز يا بشمهندس , حضرتك عاوز حاجة علي البلوك نفسه . http://sheikyerbouti.developpez.com/duplicates/duplicates.htm تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.