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

بتاريخ:

الأخوة الأعزاء و الكرام

أرجو انكم تركزوا معي شوي ...

لقد قمت بعمل برنامج باستخدام ORACLE Developer 6i

و لكن في الحقيقة بقيت مسألة متوفقة على اكتمال البرنامج و هي أنه ...

عندي في إحدى الفورمز 2 Data Blocks واحد ماستر و الثاني ديتيل

الداتا بلوك الأول يحتوي على Table اسمه IT_Equipments و عناصره هي :

EQ_NO NOT NULL VARCHAR2(10)
EQ_NAME VARCHAR2(50)
EQ_MODEL VARCHAR2(20)
EQ_STATUS VARCHAR2(30)


الداتا بلوك الثاني يحتوي على Table اسمه IT_Transactions و عناصره هي :

EQ_NO VARCHAR2(10)
TRANS_NO NOT NULL VARCHAR2(10)
TRANS_TIME DATE
TRANS_TYPE VARCHAR2(50)

و تلاحظون أن الربط بين هاذين الجدولين هو من عنصر Eq_no

و لكن سنتناول عنصرين هما أساس المشكلة التي سأعرضها ...

Eq_Status من الداتا بلوك الأولى
Trans_Type من الداتا بلوك الثانية

قمت بعمل لكل منهما جدول خاص حتى أقوم بعمل LOV لكل منهما في الداتا بلوك الخاص به لأن كل عنصر منهما يحتوي على عدة قيم و على المستخدم اختيار قيمة معينة قمت بتحديدها له .

الآن المصيبة هي أنني أريد أن أجد طريقة بحيث إذا قمت بتغيير القيمة في Trans_Type الموجودة في الداتا بلوك الثانية (ديتيل) يقوم بتغيير تلقائي في عنصر Eq_Status الموجود في الداتا بلوك الأولى (الماستر) ... فكيف أقوم بهذا الأمر ؟؟؟


أشك أن يجيبني أحد على سؤالي في الحقيقة ... أو دعوني أتفاءل قليلاً قد أجد منكم الإجابة و لكن ليست الإجابة الوافية ... و لكن لن يضرني شيء إن عرضت عليكم مشكلتي هذه ...

:(



((أبو فلسطين))

بتاريخ:

السلام عليكم
الأخ الكريم
لا يمكن حل ذلك من الداتا بيس لأن قيم الحقلين غير مربوطة
ولكن يمكنك ان تقوم بذلك من خلال trigger when-list-changed
بحيث تربط ذلك يدويا فعند تغيير عنصر يتم تحديد قيمة الlist الاولي بناء علي القيمة المختارة
المشكلة في ذلك لو ان عدد عناصر الlist كثيرة فاعتقد انك لن تستطيع ذلك
------------------------
وهناك حل اخر ان تجعل قيمة الlist الاولي
تساوي قيمة الlist الثانية
وتضع trigger عند تغيير القيمة بالlist الثانية يغيرها لنفس القيمة بال list الاولي
مشكلة ذلك الحل انه يجب ان يكون مقابل لكل قيمة في الlist الاولي قيمة وحيدة في الlist الثانية
تلك الحلول المتوفره حاليا علي ما اعتقد
واتمني في حالة وجود حلول اخري عرضها علينا
شكرا

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


السلام عليكم
الأخ الكريم
لا يمكن حل ذلك من الداتا بيس لأن قيم الحقلين غير مربوطة

---------------------------------

مشكلة ذلك الحل انه يجب ان يكون مقابل لكل قيمة في الlist الاولي قيمة وحيدة في الlist الثانية


و عليكم السلام أخي الكريم

كلام صحيح ... سليم ... لا غبار عليه على الإطلاق ... و فعلاً أنت وجدت نصف الإجابة ...

و على العموم سأضع لكم الحل لمشكلتي هذه التي واجهتها ... و لكن عندما أنهي عملي ... فأنا للآن لم أتوصّل إلى حل ...
و لكن فكرة الحل الذي اتحدّث عنه (بشكل سطحي و عام) هو عبارة عن عمل تعديلات و تغييرات بسيطة تناسب الحل للمشكلة ...

و في الحقيقة لم يبقَ من المشكلة إلاّ القليل القليل بإذن الله

أمّا عن مشكلتي التي بقيت ... فهي ...

الآن يا أخوتي استطعت حل مشكلة اختيار عنصر من قائمة LOV في الداتا بلوك (ديتيل) ليغيّر القيمة في عنصر آخر في قائمة LOV في الداتا بلوك (الماستر) ... و لكن في الحقيقة يغيّر تلك القيمة في TABLE الـ IT_EQUIPMENTS أو الداتا بلوك الأولى (الماستر) في نفس الـTABLE ثم يظهرها على الـTEXT ITEM الخاص بعنصر الـ EQ_STATUS (العنصر المراد التغيير فيه) ...

و لكنني في الحقيقة أريد عند اختيار عنصر في LOV الموجودة في (ديتيل) يغير القيمة الموجودة في TEXT ITEM الموجودة في الماستر و بعدها تتم التخزين في الـTABLE

أقربها لكم ... ما يحدث في الماستر من تغيير هو ....

يحصل التغيير في هذا العنصر في الجدول ثم يظهر على الـTEXT ITEM
و لكن ما أريده هو العكس ...

أن يحصل التغيير في

:EQ_STATUS
الموجودة في الفورم و ليس الـTABLE

و من ثم يخزن القيمة التي ظهرت في :EQ_STATUS أو يعني الـTEXT ITEM

في العنصر EQ_STATUS الموجود في الجدول

أظن أن المسألة أصبحت أسهل بكثير


أود أن أشكرك أخي تيمور على مشاركتك ... و أقدر لك مرورك


فتحاوي
((أبو فلسطين))

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

لقد قمت بحل جميع المشاكل التي واجهتني و الحمد لله


بالرغم من أنني كنت أودّ الاستماع إلى آرائكم كنوع من الزيادة في الاستفادة مما لديكم و كنوع من التقرب منكم ...

و لكن لا بأس ... الأيام آتية لأحتكّ بكم


فتحاوي
((أبو فلسطين))

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

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

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

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

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

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.