بتاريخ: 1 يوليو 200718 سنة comment_103820 الأخوة الأعزاء و الكرام أرجو انكم تركزوا معي شوي ...لقد قمت بعمل برنامج باستخدام 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 الموجود في الداتا بلوك الأولى (الماستر) ... فكيف أقوم بهذا الأمر ؟؟؟أشك أن يجيبني أحد على سؤالي في الحقيقة ... أو دعوني أتفاءل قليلاً قد أجد منكم الإجابة و لكن ليست الإجابة الوافية ... و لكن لن يضرني شيء إن عرضت عليكم مشكلتي هذه ... ((أبو فلسطين)) تقديم بلاغ
بتاريخ: 2 يوليو 200718 سنة comment_103886 السلام عليكم الأخ الكريملا يمكن حل ذلك من الداتا بيس لأن قيم الحقلين غير مربوطةولكن يمكنك ان تقوم بذلك من خلال trigger when-list-changedبحيث تربط ذلك يدويا فعند تغيير عنصر يتم تحديد قيمة الlist الاولي بناء علي القيمة المختارةالمشكلة في ذلك لو ان عدد عناصر الlist كثيرة فاعتقد انك لن تستطيع ذلك------------------------وهناك حل اخر ان تجعل قيمة الlist الاوليتساوي قيمة الlist الثانيةوتضع trigger عند تغيير القيمة بالlist الثانية يغيرها لنفس القيمة بال list الاوليمشكلة ذلك الحل انه يجب ان يكون مقابل لكل قيمة في الlist الاولي قيمة وحيدة في الlist الثانيةتلك الحلول المتوفره حاليا علي ما اعتقدواتمني في حالة وجود حلول اخري عرضها عليناشكرا تقديم بلاغ
بتاريخ: 2 يوليو 200718 سنة كاتب الموضوع comment_103905 السلام عليكم الأخ الكريملا يمكن حل ذلك من الداتا بيس لأن قيم الحقلين غير مربوطة---------------------------------مشكلة ذلك الحل انه يجب ان يكون مقابل لكل قيمة في ال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 الموجود في الجدول أظن أن المسألة أصبحت أسهل بكثير أود أن أشكرك أخي تيمور على مشاركتك ... و أقدر لك مرورك فتحاوي((أبو فلسطين)) تقديم بلاغ
بتاريخ: 3 يوليو 200718 سنة كاتب الموضوع comment_103973 لقد قمت بحل جميع المشاكل التي واجهتني و الحمد لله بالرغم من أنني كنت أودّ الاستماع إلى آرائكم كنوع من الزيادة في الاستفادة مما لديكم و كنوع من التقرب منكم ...و لكن لا بأس ... الأيام آتية لأحتكّ بكم فتحاوي((أبو فلسطين)) تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.