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

مشكلة في Lov

Featured Replies

بتاريخ:

لدي شاشة فيها بلوكين من نوع |DATA_BASE فعندما اعيد قيمة من الLOV  واريد ان استعرض بموجب القيمة الراجعه لا يعمل الكود اما عندما استعرض بموجب قيمة من البلوك الثاني يستعرض بيانات واليكم الكوديين الموجودين كالتالي

هذا الكود يعمل بشكل صحيح في حدث WHEN MOUSE CLICK

SET_BLOCK_PROPERTY('ITEM',DEFAULT_WHERE,'ITEM_CODE=:ITEM1.ITEM_CODE');
GO_BLOCK('ITEM');
EXECUTE_QUERY
;

 

اما هذا الكود عند الضغط على الزر WHEN BUTTON BRESSED لا يعمل والكود كالتالي

 

DECLARE
    X  BOOLEAN;
    W VARCHAR2(20);

BEGIN
    ------------
GO_BLOCK('ITEM');
X:=SHOW_LOV('LOV_ITEM');
    W:=:ITEM.ITEM_CODE;

IF X THEN
 SET_BLOCK_PROPERTY('ITEM',DEFAULT_WHERE,'ITEM_CODE='||W);


EXECUTE_QUERY(NO_COMMIT);

END IF;
END
;

 

يطلعلي رقم الخطأ FRM-40505

 

افيدوني جزاكم الله خيرا

بتاريخ:

طيب سؤال الـــLOV   يتم استعراضها من جدول في الdata base

بتاريخ:

شيل no_commit كده

بتاريخ:

الدالة EXECUTE_QUERY  .  لا تاخد براميتر NO_COMMIT

بتاريخ:

كما قال اخواني 

بدون no commit 

خبرنا شو بصير 

بتاريخ:

أعتقد والله أعلم أن المشكلة في الكود W:=:ITEM.ITEM_CODE;

فهنا W لم تأخذ قيمة لأن المستخدم لسه لم يقم بالاختيار من LOV

وبالتالي فإن قيمتها ستكون NULL

 

يمكن ان تجرب طباعة قيمة w داخل جملة IF مثلا بكتابة الكود message(w); 

 

 

 

لذلك جرب الحل التالية :/

 

أكيد أنك قمت بربط استعلام الـ LOV بالعنصر ITEM1.ITEM_CODE

 إذاً 

1. عند الضغط على الزر في WHEN BUTTON BRESSED أكتب التالي

 

DECLARE
X BOOLEAN := true;
BEGIN
X:=SHOW_LOV('LOV_ITEM');
END;

 

الكود السابق لعرض الـ LOV  يمكن الاستعاضة عنه بالضغط على F9 لعرض الـ LOV

 

2. قم بعمل تريجر POST-CHANGE للعنصر ITEM1.ITEM_CODE 

أكتب فيه التالي :

 

SET_BLOCK_PROPERTY('ITEM',DEFAULT_WHERE,'ITEM_CODE=:ITEM1.ITEM_CODE');
GO_BLOCK('ITEM');
EXECUTE_QUERY;
وبهذا ستيم عرض جميع البيانات في البلوك ITEM بمجرد تغيير قيمة العنصر ITEM1.ITM_CODE وفقاً لما سيختاره المستخدم بعد عرض LOV ، 
 
أتمنى أكون أفدتك ، ومتشوق لسماع ردك

تم تعديل بواسطة Faisal Matari

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

سأحاول وانشاء الله خير

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

بالنسبة لأمر NO COMMIT لاخفاء الرساله اللي تطلع من الاوراكل هل تريد الحفظ او لا

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

اخي Faisal  Matari

جربت الكود اللي انت كاتبة ماضبط معي يوقف عند الtexet اللي كتبنا الكود فيه في حدث post_chang  ولا يخرج دون ان يعمل استعلام

 

 

اما بالنسبة لطباعة القيمة العائدة للتكست عندما اطبع قيمة  w يطبع قيمة بمعنى تعود القيمة الة الtext  من ال lov

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

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

اخ talal ezz

بالنسبة ل lov تاخذ البيانات من قاعدة البيانات

بتاريخ:

execute_query مش بتاخد باراميتر اسمه no_commit ابدا يا باشا .

لو مش عايز تشوف الرسالة اعمل

clear_block(no_validate) ;

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

  مع احترامي لك اخي العزيز ESLAM ELBYALY ولأفكارك التي نستفيد منها دائما

انا متأكد 100% واستخدمها دائما  هذه فائدتها تخفي الرساله اللي نطلع من الاوراكل الي تقول هل تريد حفظ التغيرات على الحقول

 

انشاء الله تضيفها الى افكارك

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

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

الحمد لله احتلت المشكلة معي والحل كان كالتالي

القيمة العائدة من الLOV  من نوع VARCHAR لذلك يجب ان تضيف اربع تنصيصات للقيمه العائدة من الLOV  عندما تكون من نوع DATE OR VARCHAR2

 DECLARE
    X  BOOLEAN;
    W VARCHAR2(100);
    N NUMBER;
BEGIN

X:=SHOW_LOV('LOV_ITEM',50,50);
      W:=''''||:ITEM.ITEM_CODE||'''';

IF X THEN
    
    
MESSAGE(W);MESSAGE(W);
GO_BLOCK('ITEM');
SET_BLOCK_PROPERTY('ITEM',DEFAULT_WHERE,'ITEM_CODE='||W);

EXECUTE_QUERY(NO_COMMIT);
END IF;
END;

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

بتاريخ:

انت شغال علي اصدار كام .

بص في الهيلب كده

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

ORACLE 11G و DEVLOPER 6I

بتاريخ:

طيب هى عموما مش موجودة في الهيلب , بس

شكرا ع المعلومة

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

لا شكر على واجب اخي العزيز ESLAM ELBAYALY  هنا تكمن الفائدة من المنتديات بتبادل الافكار والمعارف

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

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

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

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

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

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.