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

بتاريخ:

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

 

الاخوه الاعزاء حياكم الله

 

انا عندي في ثلاث شاشات

الشاشه الاولى هي شاشه الاطباء وبتم فيها اضافه الاطباء وبياناتهم وهي الشاشه رقم 1

 

الشاشه الثانيه هي شاشة الزيارات اليوميه وفيها يتم ادخال اسماء الاطباء الذين تمت زيارتهم وهي الشاشه رقم 2

 

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

وهي شاشه اريد ان يضهر لي فيها اسماء الاطباء الذين لم تتم زيارتهم ن المندوب المحدد

اي اني اريد ان تضهر لي جميع اسماء الاطباء الذين في الشاشه رقم 1 بشرط انهم غير موجودين في الشاشه رقم 2

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

for i in (select all doc_no from doctors where doctors.status = 0
and doctors.area_no = :dont_visit_up.area_no or doctors.area2_no = :dont_visit_up.area_no

and doctors.doc_no not in(select all doc_no from DAILY_DO where DAILY_DO.man_no = :dont_visit_up.man_no
and daily_do.date_ee between :dont_visit_up.from_date and :dont_visit_up.to_date) )

loop
    next_record;
:dont_visit_do.doc_no :=i.doc_no;

end loop;

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

فلا ادري ما الخطى

الرجاء المساعده

 

وجزاكم الله خير

post-15632-0-50387400-1441001957_thumb.jpg

post-15632-0-44441800-1441002041_thumb.jpg

post-15632-0-95745800-1441002176_thumb.jpg

تم تعديل بواسطة الحكيمي

بتاريخ:

السلام عليكم 

 

 يمكنك عمل ما تريده بطريقة اسهل 

 

1- طريق فلاج للزيارات وليكن الحاله      اذا كان حقل status = 0  لم تتم الزيارة واذا كان status=1 تم الزيارة 

2-  استخدام خاصية WHERE CLAUSE في بلوك التبلور في الشاشة الثالثه وضع الشرط  بهذه الطريقة (STATUS = :B1.STATUS OR :B1.STATUS IS NULL ) واضاف الشروط حسب احتياجك 

3- عمل زار في البلوك المستر واضافة الكود التالي له 


   GO_BLOCK('B5') ;
   EXECUTE_QUERY  (NO_VALIDATE) ; 

تحياتي

تم تعديل بواسطة anas.soft

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

اشكرك اخي انس على الرد

 

انا كاتب الحالة status في جدول الاطباء بحيث الطبيب مازال موجود ام انه غير موجود اي انه اذا كان غير موجود لا يطبعهم لي

لان الطبيب تتم زيارته اكثر من مره

وانا اريد ابحث عنهم بين التاريخين المحددين

 

اما بالنسبه للاكواد الي كتبتهم انت فما فهمتهم بصراحه اروجو التوضيح

 

وجزاك الله كل خير

بتاريخ:

السلام عليكم 

 

في هذه الحاله عليك بالتالي

 

1- استخدم خاصية WHERE CLAUSE من خصائص الــ block الديتيل  واكتب شروط البحث بين تاريخين (daily_do.date_ee between :dont_visit_up.from_date and :dont_visit_up.to_date) واي شروط اخرى

 

  

 

2- اعمل زار وضع فيه كود  استرجاع البيانات سيرجع لك البيانات حسب الشرط السابق في خاصية WHERE CLAUSE

GO_BLOCK('BLOCK') ;
   EXECUTE_QUERY  (NO_VALIDATE) ; 

post-121674-0-28309100-1441098936_thumb.jpg

تم تعديل بواسطة anas.soft

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

كل الشكر لك اخي

 

انا كاتب الكود السابق في WHEN-NEW-BLOCK-INSTANCE

 

فهل اقوم بكتابة نفس الكود في  WHERE CLAUSE

 

مع العلم اني كاتب go_block('DONT_VISIT_DO'); في في زر عرض البيانات

 

ام ان قصدك ان اكتب فقط شروط البحث في هذا المكان فقط

 

وهل تقصد ان يكون الكود بالشكل التالي

 

في WHEN-NEW-BLOCK-INSTANCE

for i in (select all doc_no from doctors where doctors.doc_no not in(select all doc_no from DAILY_DO ) )

loop
    next_record;
:dont_visit_do.doc_no :=i.doc_no;

end loop;

وفي WHERE CLAUS

doctors.status = 0
and doctors.area_no = :dont_visit_up.area_no or doctors.area2_no = :dont_visit_up.area_no

DAILY_DO.man_no = :dont_visit_up.man_no
and daily_do.date_ee between :dont_visit_up.from_date and :dont_visit_up.to_date

لاني اول مره اتعامل مع الخاصية WHERE CLAUS

 

اذا كان تقصد هذا فان النتيجه عند الضغط على زر عرض البيانات فانه لا تطلع اي بيانات ويضل الجدول فارغ

 

وشكرا

تم تعديل بواسطة الحكيمي

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

لا تنساني اخي انس

بتاريخ:

السلام عليكم اخي الحكيمي

 

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

اعمل نفس الطريقة على ما تحتاج واضف الشروط حسب الاحتياج

 

بالتوفيق 

EMP_SH.rar

تم تعديل بواسطة anas.soft

بتاريخ:

جزاك الله خير أخي انس على اهتماك وافادتك للاخرين

تحياتي لكم ...

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

اخي انس

 

انا متاسف على الازعاج لكن ارجو انك تتحملني

 

هذا الملف يحتوي على الشاشه والجداول

 

وجزاك الله كل خير

الحكيمي.rar

بتاريخ:

تم تعديل بواسطة anas.soft

بتاريخ:

جزاك الله خير أخي انس على اهتماك وافادتك للاخرين

تحياتي لكم ...

 

استاذنا ومشرفنا الفاضل ميهال في هذا المنتدى تعلمتنا الكثير منك ومن جميع المبدعين ولبدا ان نحذو حذوكم الف تحية لك وللجميع 

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

اخي انس المشاركه الرد رقم 10 طلع عندي فارغ فلا ادري ماكان ردك

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

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

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

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

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

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.