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

فين المشكله في هذا الكود


الحكيمي

Recommended Posts

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

 

اخواني الاعزاء

انا عندي في الشاشه المرفقه شاشة اعطاء الهدف البيعي للمندوب لكل ربع من السنه (ربع اول وثاني وثالث ورابع)

 

انا كنت شغال فيه بنظام ادخال التارجت وحفظ فقط وكان شغال تمام

 

الان قمت بتعديل للكود بحيث يتأكد ان المندوب المحدد والربع المحدد والعام المحدد لم يحدد له تارجت من قبل

لغرض عدم التكرار للهدف

كتب الكود التالي


declare
    y varchar(100);
    z number(8);
    begin
select TARGET_NAME,YEAR_NO into y,z from TARGET_UP where target_up.man_no = :target_up.man_no;

if :TARGET_UP.TARGET_NAME  in (y) and :TARGET_UP.YEAR_NO in (z) then
       messge ('تم عمل التارجت للمندوب المحدد ');
        message ('تم عمل تارجت للمندوب المحد');
else


if
        :TARGET_UP.man_NO is null  
        or :TARGET_UP.target_name is null
        or :TARGET_UP.year_no is null  
        then
  message('يجب ادخال جميع الحقول');
    message('يجب ادخال جميع الحقول');
    
    else
    

go_block('target_do');


for i in (SELECT MAN_DO2.ITEMS_NO FROM MAN_DO2
WHERE
man_do2.man_no = :target_up.man_no
and MAN_DO2.status=1)
loop
    next_record;
:target_do.items_no :=i.items_no;

end loop;


    end if;


end if;
    end;

ولكن ضهرت لي مشكله

الكود عند التفعيل ما يطلع اي خطى

 

ولكن

عندما اعمل تكرار لهدف تظهر الرساله بشكل جيد

وعندما اعمل تارجت جديد لمندوب قديم لعام اخر او ربع اخر يعمل بشكل جيد( ليس هناك تكرار)

 

المشكله الان هي التالي

اذا قمت بعمل تارجت لمندوب جديد رقمه ليس مسجل في جدول التارجت (لم يتم عمل تارجت له من قبل )

لا يعمل وتضهر لي رساله الخطى الموجوده في الصوره المرفقه الثانيه

 

فماهو السبب

 

post-15632-0-60403800-1552467133_thumb.jpg

post-15632-0-45131100-1552468051_thumb.jpg

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

انت ليه بتكتب كود والفورمز مديلك الوظيفة؟
الجزء بتاع يجب ادخال الحقل شيله واعمل الحقول الزامية.
اعمل composite unique index فى الداتابيز عانا الاعمدة الى مشعاوزها تتكرر.

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

بالنسبه للحقول الالزاميه ممكن عن طريق الفورم

 

لكن بالنسبه للتكرار مينفعش اسويه من الفورم لانه انا التكرار عندي مشروط

 

يعني انا مش عاوز الثلاثه الحقول في سجل واحد متتكررش

 

يعني رقم المندوب ممكن انه يتكرر لانه في السنه معه اربعه اهداف ( هدف الربع الاول وهدف الربع الثاني والثالث والرابع) وكل هذه الارباع تتكرر كل سنه ولكل والمندوبين

 

واسم الهدف ممكن انه يتكرر لانه كل المندوبين معاهم اهداف يعني اسم الهدف حيتكرر لكل المندوبين ( الربع الاول للمندوب1 والربع الاول للمندوب2 والربع الاول للمندوب3)

 

لكن انا مش عاوز التكرار في الحقول الثلاثه مره واحده يعني لو عملت المندوب رقم 1 والربع الاول والسنه 2019 وحفظت السجل

 

اجيب بعد شويه وعملت نفس السجل السابق للمندوب رقم 1 والربع الاول والسنه 2019 هنا  اريد تطلع لي الرساله الهدف مكرر

 

وشكرا

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

 

ضيف فى الـ composite unique index الاعمدة الى محتاج انها متتكررش.

تقدر تضيف السنة ورقم المندوب مع الـ 3 اعمدة.

 

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

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

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

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

×   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.

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

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

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