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

بتاريخ:

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

 

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

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

 

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

 

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

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

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


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

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

بصراحه مافهمت هذه الجزئية

 

كيف اسويها

بتاريخ:

unique constraint  فى الداتابيز.

بتاريخ:

اعمل select count() into     قبل  عمل ال select  اللى بتعمل الخطأ  وعن طريق قيمة اال count()     تعمل ال select  ام لا 

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

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

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

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

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

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.