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

مشكلة في الـ Combo Box

Featured Replies

بتاريخ:

عندى كومبو بوكس فى الفورم
ولقد عملت Record Group لملئها
و هى تعمل و لكن هناك سؤال
عندما اعمل Run للفورم تظهر الكومبو فارغة
انا اريد ان اجعل لها
Defult Value
كيف ؟؟؟؟؟
عندما اغير فى الــ Initial value
لا يقبل البرنامج القيمة و يقول انها ليست موجودة فى البيانات المدخلة
و شكرا ً :)

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

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

ولدى مشاكل كثير فى الكومبو ....

بتاريخ:

I assue your list name is 'lst';
1-Set the required property for this list to yes.
2-Before populate list type this command:
clear_list('lst');
and my hope that will be helpful for you

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

شكرا MODY

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

للاسف نفس المشكلةموجودة و هى ان الكومبو فارغ عند بداية تشغيل الفورم

بتاريخ:

السلام عليكم ورحمة الله وبركاته

اخي John , ممكن ترسل الفورم وياريت يكون معمول على أحد جداول SCOTT

علشان نشوف المشكله أماما ونحاول حلها معك ان شاء الله .

عمر باعقيل
كندا - مونتريال
[email protected]

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

حاضر
سارسلها لكم
ياريت اجد الحل عندكم ز شكرا على الرد

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

هاهى الفورم

Combo_Box.fmb

بتاريخ:

John لقد فتحت الفورم الذي فيه المشكله ولاحظت ان سبب المشكله ليس برمجي فالعمل البرمجي سليم من حيث الـSyntax.
ولكن المشكله تكمن في عده نقاط
1- مشكله منطقية
من الخطى ان تقوم بعمل list في جدول الـ Dept لكونه coding table فانته لا تحتاج لعمل list له ولكن تحتاج ان تعمل list لحقل الـDeptno
الموجود في جدول الموظفين emp حتى يظهر اسماء الاقسام (Accounting,RESEARCH.... لخ ) بدلاً من الاكواد (10,20,30...لخ).
2- الـ Query الذي عملته في الـ Record group هو {select dname,to_char(deptno) from dept} وهذا معناه ان يظهر اسماء
الاقسام في الـ list وعندما تختار اي اسم سوف يقوم بخزن الـCode الخاص به (10,20,30,40 ) وهذا خطى لان سوف يخزن الرقم بدل الاسم في حقل
الـDname الخاص باخزن اسماء الاقسام وليس الارقام .

ولكن اذا ارد ان يعمل المثال الخاص بك فقم والتخلص من رسالة الخطى :
بالنسبة لرسالة الخطى {البرنامج لا يقبل القيمة و يقول انها ليست موجودة فى البيانات المدخلة } سببها انه عندما تعمل Run للفورم تكون
الـ list فارغة في البداية وذلك لان الـ list يتم تعبئتها من خلال ال trigger when-new-form-instanc في ما بعد, فهو في البداية يبحث عن
القيمة التي وضعتها في الـ inital value يبحث عنها في الElements in list ولا يجدها فيعطيك رسالة الخطى .
ولحل هذه المشكله لا تعمل قيمة في الخاصية inital value ولكن اعملها في الtrigger الخاص بتعبئة الـ list كالاتي

	declare
 v_group number;
begin
 v_group := populate_group('rec_dept');
 clear_list('dname');
 populate_list('dname','rec_dept');
 :dname:='RESEARCH';
end;



كرر الكود

:dname:='RESEARCH'; 


في الـTrigger when-create-record

اتمنا ان تكون وصلت الفكره
وشكراً

بتاريخ:

السلام عليكم ورحمة الله وبركاته

اخي john

1- قم بالانتقال الى خصائص الCombo box وقم بالضغط بالماوس أمام الخاصية Elements in list

ستظهر لك شاشه صغيره اسمها List Elements , قم بكتابة القيمه الأفتراضيه التى تريدها

ان تظهر لك عند تشغيل الفورم مرتين , في خانه List Elements وفي خانة List Item Value .

2- إذهب الى خاصية Initial Value واكتب فيها القيمه الافتراضيه نفسها .

شغل الفورم وان شاء الله ستظهر لك القيمة الافتراضيه في الCombo box.

عمر باعقيل
كندا - مونتريال
[email protected]

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

أولا : أستاذ خالد شكراً
ثانيا : بالنسبة الى المشكلة الاولى ( المنطقية ) انا اعلمها انا اضع هذا الكومبوفى فورم الموظفين و ليس فى فورم الأقسام ليختار المستخدم اسم القسم الذى يعمل فية الموظف و يسجل البرنامج الكود الخاص بهذا الأسم ...
- بالنسبة لرسالة الخطأ و الحل بالكود فهى فكرة جميلة و عاملة ( انا جربتها الان ) و لكن سوف افترض انى جعلت قسم الــ Research هو الافتراضى و لا سبب من الاسباب تم تغير اسمه او حذفة ... فسيعطى البرنامج خطأ ... هلى توجد طريقة لجعل مثلا First Recored هو الافتراضى ؟؟؟ ... أظن أن هذه المشكلة و اجهت العديد من المبرمجين و ننتظر المشاركات ..... :)

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

شكرا أخى عمر باعقيل
انا جرب هذه الطريقة فى الأول و لم تفلح لان الكومبو يكون فارغ فى الاول كما هو موضح فى الفورم
شكرا ..

بتاريخ:

السلام عليكم

اخي John , بالنسبه للحل الى وضعته لك وبناء على الفورم الى وضعته انت , لقد اشتغل

عندي بالتمام واول مااعمل رن للفورم تكون هناك قيمه إفتراضيه في الكومبو بوكس

طبعا كما ذكر الاخ خالد مشكورا فانه يجب ان تكون القيمه التى ستخزن في قاعدة البيانات

هي رقم الدائره وليس اسمها الذي سيظهر في الكومبو بوكس والا لن يتم تخزين السجل الجديد

عمر باعقيل
كندا - مونتريال
[email protected]

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

اخ عمر ممكن ارسال الفورم
و هل يمكن ان احدد رقم الاختيار من القائمة ان يكون هو القيمة الافتراضية
مثل الــ INDEX فى الفيجول بيسك ؟؟؟

بتاريخ:

السلام عليكم ورحمة الله وبركاته

اخ John , هذا الفورم بعد التعديل

للمعلوميه انا استخدم Oracle Developer 10g ويمكن مايشتغل هذا الفورم في الاصدارات الاقدم

طبعا التعديل الى عملته في الفورم هو ماذكرته لك في الاعلى وظهر الكمبو بوكس وبه القيمه

التى حددتها له وهي SALES .


عمر باعقيل
كندا - مونتريال
[email protected]

Combo_Box.fmb

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

فعلا انها لا تعمل عندى
لكن شكرا للمتابعه أخ عمر و ننتظر من حضرتك المتابعه لنستفيد من خبرتك بالاوراكل
شكراً

بتاريخ:

عزيزي john
بالنسبة لطريقة ان تجعل First record هو القيمة الافتراضية فهي ممكنه كالتي

:dname:=get_list_element_label('dname',1);


وسيصبح الكود كاملاً كالتي

	declare
 v_group number;
 First_element varchar2(200);
begin
 v_group := populate_group('rec_dept');
 Clear_list('dname');
 populate_list('dname','rec_dept');
 :dname:=get_list_element_label('dname',1);
 
end;


وشكراً

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

شكككككككككككككككككككككككككككككككككككككككككككككككككككككككككككككككككككككككككككككككراااااااااااااااااااااااااااااااااااااااا جدا جدا جدا جدا جدا جدا جداجدا يأستاذ خالد لقد وصلت للمطلوب
و الفضل لك
و انا سوف اضح الفورم كاملة للأعضاء لكى تعم الفائدة
شكراً

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

ها هى الفورم
مشكورين أعضاء المنتدى


:)

Combo_Box.fmb

  • بعد 7 شهور...
بتاريخ:

u must insert vlues in ur combox
and chose any value ur inserted in combox
go to ur initia value to insert ur number chose

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

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

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

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

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

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.