brave_fox بتاريخ: 16 مايو 2011 تقديم بلاغ مشاركة بتاريخ: 16 مايو 2011 السلامُ عليكم ورحمة الله وبركاتهالسادة الفضلاء : أرجو أن تكونوا بخير حال ... اللهُم آمينلي سؤال أرجو جوابه من حضرتكم , واعتذر على تكرار سؤالى , ولكن حقيقة ً لم أفهم الجواب فى المرة السابقة , أو أني لم استطيع أن افهم حضراتكم سؤالىالسؤال باختصار : إذا كان عندى عمود فى الداتا بيز من النوع ( list of item ) وليكن مثلاً اسمه : محافظاتوعندى عمود آخر من نوع ( List of Item ) أيضا ً , وليكن اسمه : القريأريد مثلاً إذا ضغطت فى العمود الأولى على ( محافظة الشرقية ) يقوم العمود الثانى تلقائيا ً : بإظهار القرى فى محافظات الشرقية ....فما الخطوات بارك الله فيكم , وأرجو الإجابة ضرورى جداً حتى يكتمل مشروعىوهل اقوم أولاً بكتابة ال List Of Item داخل الاعمدة , ثم كتابة الكود .... أم العكس اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
eslam elbyaly بتاريخ: 16 مايو 2011 تقديم بلاغ مشاركة بتاريخ: 16 مايو 2011 السلام عليكم ورحمة الله وبركاته trigger when list changed مثلا وتكتب فيه if (list_name) = (value) then (list2) := value2 end ; اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
brave_fox بتاريخ: 16 مايو 2011 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 16 مايو 2011 جزاكم الله خيراً اخىلكن حضرتك كاتبtrigger when list changed مثلا وتكتب فيه if (list_name) = (value) then (list2) := value2 end ; لكن انا مش عاوز قيمة واحدة بسانا مثلاً لو عندى list_name = كذاهعوز اطلع منها اكثر من قيمة , والمستخدم هو ال يختارزى مثلا : اذا المحافظة = الشرقيةيكون القيمة = الزقازيق , منيا القمح , كذا , كذا , كذافايه الكود بتاع كتابة اكثر من قيمة اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
aboushaheen بتاريخ: 16 مايو 2011 تقديم بلاغ مشاركة بتاريخ: 16 مايو 2011 اخي الحبيب شوف المثال ده هو اللي انت عايزه LIST_ADDTO_LIST.rar اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
ahmedbb بتاريخ: 17 مايو 2011 تقديم بلاغ مشاركة بتاريخ: 17 مايو 2011 السلام عليكماليك الحل وارجو ان تقوم بتطبيقه بطريقة صحيحةاولا يتم انشاء جدول للمحافظات به كود المحافظة(مفتاح اساسى) - اسم المحافظةثانيا جدول للمناطق مربط بجدول المحافظات به كود المحافظة - كود المنطقة - اسم المنطقةعمل الشاشة وبناء List of Item خاصة بالمحافظاتثم عمل List of Item اخرى خاصة بالمناطق بحيث ان كود المحافظة فى جدول المناطق يساوى كود المحافظة فى جدول المحافظاتوبسبب هذا الشرط سوف يتم اظهار المناطق فقط الخاصة بالمحافظة المختارة فى List of Item الاولىارجة التطبيق و مراسلتىمعكم ولكم نتواصلم احمد اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
brave_fox بتاريخ: 17 مايو 2011 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 17 مايو 2011 الأخوة الكرام أنا بشكر حضرتكم ., لكن حقيقى مش عارف انفذها ازاىومثالى ال قلته : على المحافظات واسماء مدنها كان للتوضيح فقط , لكن مش دى ال فى مشروعىانا المثال بتاعى : انا عامل فورمة اسمها شؤن العاملينوالفورمة دى فيها اشياء كثيرة : اسم الموظف , ال p.k بتاع كل موظف , وتاريخ الالتحاق , ... وهكذامن ضمن الاشياء دىفى عمود عندى اسمه ( القسم ) وهو عبارة عن List of Item ويحوى بداخله اسماء اقسام معينة فى الشركةوعمود آخر بجانبه اسمه ( الوظيفة ) وهو عبارة عن list of item ايضاً , وهو يحوى بداخله مجموعة من الوظائف طريقة الربط ال اريدها ( ان القسم بيشمل مجموعة من الوظائف )فمثلاً لو اختار : قسم الإدارة , فأريد بالتبعية أن تتحول القائمة بتاعة ال Jobs إلى ( مدير , وكيل , أمين , ..... )لو مثلاً اخترت ( قسم التعليم ) , فأريد بالتبعية أن تتحول القائمة بتاعة ال jobs إلى ( مدرس , مدرسة , .....)وهكذابالله عليكم حد يقولى الخطوات بالترتيبوأنا لحد الآن عملت عمود ( الاقسام ) كــ list of value وو ضعت بداخله اسماء الاقسام ؟وعمود الـ ( jobs ) كــ list of value اعمل ايه بعد كده ؟؟ارجو الجواب ...بارك الله فيكم اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
smah_dba بتاريخ: 17 مايو 2011 تقديم بلاغ مشاركة بتاريخ: 17 مايو 2011 اخي الفاضل كما قال لك الاخوة من قبلسوف تقوم بعمل CURSOR تملأ بها الليست الاولى حيث ارتجاع الداتا من جدول الاقساموعلى هذه الليست على التريجر WHEN_LIST_CHANGED سوف تقوم بعمل CURSOR يسترجع الداتا من جدول الوظائف بشرط القسمحيث الشرط يكون الاستعلام كالتاليSELECT * FROM JOBS_TABLEWHERE DEPARTMENT_ID =:FORM_BLOCK.DEPARTMENT_ID;حيث :FORM_BLOCK.DEPARTMENT_ID: يمثل ايتم ليست الاقسام بعد الاختيار اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
حماده سعد بتاريخ: 17 مايو 2011 تقديم بلاغ مشاركة بتاريخ: 17 مايو 2011 والله ياجماعه انا بحاول أرفع الملف بس مش عارف فى أى أيه 1 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
حماده سعد بتاريخ: 17 مايو 2011 تقديم بلاغ مشاركة بتاريخ: 17 مايو 2011 يارب يترفع المره دىGOVS.rar اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Sireen بتاريخ: 18 مايو 2011 تقديم بلاغ مشاركة بتاريخ: 18 مايو 2011 brave_fox إنت زبط الجدول بتاع الموظفين بالأول 1- بدل ما يدخل اسم القسم يدخل رقم القسم 2- بدل ما يدخل اسم الوظيفة ,يدخل رقم الوظيفه3-اعمل جدول جديد للأقسام فيه رقم القسم و اسم القسم 4- اعمل جدول للوظائف فيه ( رقم الوظيفة + رقم القسم)برايمري كي أو حتى لو ما عملتهم برايمري كي ما في مشكله , بالاضافة إلى عامود اسم الوظيفة اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
brave_fox بتاريخ: 18 مايو 2011 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 18 مايو 2011 الأخوة الكرام اشكركم لحسن التفاعل , لكن حقيقة أنا مش عامل رقم لكل قسم عشان اعمل حكاية ال primary keyلكن الأعمدة ال عندى هي :-1- اسم الموظف2- تاريخ الميلاد3- تاريخ الالتحاق4- المؤهل 5- الديانة6- التليفون7- العنوان6- القسم (list of value) : تحوى بداخلها اسماء الاقسام7- الوظيفة (list of value ) : تحوى بداخلها مجموعة من الوظائففمعنديش (primary key ) لكل قسم , بل فقط اريد ربط القسم بالوظيفةبحيث مثلاً اذا اختار ( القسم = التدريس ) --- فالبتبعية يظهر فى ( الوظيفة ) : مدرس , مدرسة , ..اعتذر عن تكرار السؤال يا اخوة , ولكن ( القسم ) , والوظيفة , ملهمش p.k , بل عمودين عاديين خالص فى الجدول ..هل وصلت الفكرة ... واكرر اعتذارى الشديد اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
emad_jad بتاريخ: 18 مايو 2011 تقديم بلاغ مشاركة بتاريخ: 18 مايو 2011 اخي بريف .. احييك لاجتهادك في بداية مشواركلكن ارى انك يجب ان تضع رقم كود لكل قسم وكل وظيفة , وهذا شئ هام جدا يفيدك كثيرا على مستوى النظام ككل وخاصة التقاريرثانيا موضوع list ستكون سهلة جدا بإذن الله نفترض انك قمت بعمل ما اشرت به عليكالخطوة التاليةعمل record group لتعبئة القائمة الاولى وليكن اسمها main_bank مثال لجملة الاستعلام select bank_name,to_char(bank_cd) bankcd from main_bankعمل record group اخرى لفروع البنوك ولتكن جملتها كالتالي:select branch_name,to_char(branch_cd) brcd where main_bank_cd = :bank_listلاحظ ان الشرط الموجود في الجملة الثانية مبني على القيمة الموجودة على الفورم والتي تمثل البنك الرئيسيالخطوة الأخيرة هي كتابة تريجر when-list-changed لاعادة تعبئة القائمة الخاصة بالفروع من جديد ، حتى تتغير في كل مرة تتغير فيها قائمة البنوك الرئيسيةودمتم سالمينلا تنسانا من دعائك اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Sireen بتاريخ: 18 مايو 2011 تقديم بلاغ مشاركة بتاريخ: 18 مايو 2011 الأخوة الكرام اشكركم لحسن التفاعل , لكن حقيقة أنا مش عامل رقم لكل قسم عشان اعمل حكاية ال primary keyلكن الأعمدة ال عندى هي :-1- اسم الموظف2- تاريخ الميلاد3- تاريخ الالتحاق4- المؤهل 5- الديانة6- التليفون7- العنوان6- القسم (list of value) : تحوى بداخلها اسماء الاقسام7- الوظيفة (list of value ) : تحوى بداخلها مجموعة من الوظائففمعنديش (primary key ) لكل قسم , بل فقط اريد ربط القسم بالوظيفةبحيث مثلاً اذا اختار ( القسم = التدريس ) --- فالبتبعية يظهر فى ( الوظيفة ) : مدرس , مدرسة , ..اعتذر عن تكرار السؤال يا اخوة , ولكن ( القسم ) , والوظيفة , ملهمش p.k , بل عمودين عاديين خالص فى الجدول ..هل وصلت الفكرة ... واكرر اعتذارى الشديد مهو انت لازم تعمل جدول للأقسام و الوظائف عشان تعرف تربطهم ولو مش عايز تعمل كده ,,, في طريقه ملتوية ممكن أقولك تعملها بس ده لو كانت الاقسام و الوظائف عددها قليل هي قليله ولا لأ؟ اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
smah_dba بتاريخ: 18 مايو 2011 تقديم بلاغ مشاركة بتاريخ: 18 مايو 2011 اخي الفاضلمن الافضل على الاطلاق بالتأكيد لاسباب عدة عمل PRIMARY KEY لكلا الجدولينحيث يتم الربط من خلالهماوستجد الموضوع بعد ذلك سهل للغاية اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
smah_dba بتاريخ: 18 مايو 2011 تقديم بلاغ مشاركة بتاريخ: 18 مايو 2011 اخي الفاضلهناك علاقة بين كلا من الجدولين الاقسام والوظائففلا بد ان يحتوي جدول الوظائف على عمود لللاقسام يحدد اي قسم تنتمي اليه تلك الوظيفةيمكنك تعديل جدول الاقسام بإضافة عمود رقم القسم بحيث يكون PRIMARY KEYوكذلك اضافة عمودين للوظائف احدهما رقم الوظيفة PRIMARY KEY والاخر رقم القسمFOREIGN KEY [left][left]ALTER TABLE (DEPT TABLE ) ADD (DEPT_NO NUMBER PRIMARY KEY; ALTER TABLE (JOBS TABLE) ADD (JOB_NO NUMBER PRIMARY KEY,DEPT_NO NUMBER REFERENCES DEPT_NAME(DEPT_NO)); [/left] [/left] يتم اختيار الوظيفة طبقا لتساوي ارقام الاقسام اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
brave_fox بتاريخ: 18 مايو 2011 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 18 مايو 2011 (معدل) الأخوة الكرام مُمتن جداً لتفاعلكم معى , وعاجز عن شكر حضرتكم اخي الفاضلمن الافضل على الاطلاق بالتأكيد لاسباب عدة عمل PRIMARY KEY لكلا الجدولينحيث يتم الربط من خلالهماوستجد الموضوع بعد ذلك سهل للغاية هو جدول واحد أختنا الكريمة , وليسوا بجدولين ... ولو مش عايز تعمل كده ,,, في طريقه ملتوية ممكن أقولك تعملها بس ده لو كانت الاقسام و الوظائف عددها قليل هي قليله ولا لأ؟ الجدول ال انا عامله , فيه Primary Key وهو فقط الرقم القومى للموظف Social_Noوبعد كده اعمدة كالآتىEmp_nameBirthdayhirdateGenderQuaalificationDept_name ( وده عبارة عن List of item ) فيه حوالى أسماء خمسة أقسام JOB : ( ودى برضو عبارة عن LIST OF ITEM ) ومن خلال لما اعمل اختيار لاسم قسم , أريد أن يندرج منه تقريباً على الأكثر ( خمسة وظائف ) , وهكذا لكل اختيارودى فعلاً انا عملتها فورمة , مش لسه هكريت من اول وجديد ...يعنى الخلاصة :ده جدول واحدوP.K هو رقم الموظفوال List OF Items داخل كل جدول من ال بسأل فيه مش هتكون كتيرة اوى يعنى .شكراً للاخوة الكرام تم تعديل 18 مايو 2011 بواسطة brave_fox اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
smah_dba بتاريخ: 18 مايو 2011 تقديم بلاغ مشاركة بتاريخ: 18 مايو 2011 اخي الفاضل .. معذرة انا شاب لو انك اردت ادخال اكثر من وظيفة لنفس القسم وذلك في جدول الموظفين فستسبب في حدوث تكراراتوأحد مزايا تقسيم البيانات على اكثر من جدول هو تجنب التكرارات والربط بينهايفضل يا اخي فصل الاعمدة في جداول والربط بينها باستخدام ال PK AND FK اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
smah_dba بتاريخ: 19 مايو 2011 تقديم بلاغ مشاركة بتاريخ: 19 مايو 2011 اخي قد تفهمت المطلوب على ما اظنانت تملك جدول كما ذكرت يحوي بيانات الموظف وتريد اضافة بيانات الوظيفة والقسم للموظفمن خلال list of items وانت لست مضطرا في هذه الحالة لتعديلات في الجدول الخاص بالموظفين ولكنك ستقوم بعمل جدول للاقسام create table department (dept_no number primary key,dept_name varchar2(100)); ثم جدول لوظائف create table jobs (job_no number primary key,job_name varchar2(100),dept_no references department(dept_no)); وفي الفورمة الخاصة بالموظفين سيتم ادخال بيانات القسم والوظيفة من خلال الليست ايتم حيث :يتم ملء الليست من خلال استرجاع البيانات من الجداول تضع الكيرسور التالي في لتريجر when_new_item_instance DECLARE CURSOR CUR_DEPT IS SELECT DEPT_NAME FROM DEPARTMENT ORDER BY DEPT_NO; BEGIN FOR I IN CUR_DEPT LOOP ADD_LIST_ELEMENT('Dept_name',1,I.DEPT_NAME,I.DEPT_NAME); EXIT WHEN SQL%NOTFOUND ; END LOOP; END; وكذلك ملء ليست الوظائف بوضع الكيرسور التالي في التريجر WHEN_LIST_CHANGED على الليست الخاص بالاقسام : DECLARE CURSOR CUR_JOBS IS SELECT JOB_NAME FROM JOBS WHERE DEPT_NO=(SELECT DEPT_NO FROM DEPARTMENTS WHERE DEPT_NAME=:DEPT_NAME) ORDER BY JOBS_NO; BEGIN FOR I IN CUR_JOBS LOOP ADD_LIST_ELEMENT('JOB',1,I.JOB_NAME,I.JOB_NAME); EXIT WHEN SQL%NOTFOUND ; END LOOP; END; اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
brave_fox بتاريخ: 20 مايو 2011 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 20 مايو 2011 جزاكم الله خيراً , ولكن هل من طريقة أخرى ؟؟وهل يمكن ربط اكثر من جدولين فى فورم ؟؟ شكراً جزيلاً اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
عزيز القادري بتاريخ: 22 مايو 2011 تقديم بلاغ مشاركة بتاريخ: 22 مايو 2011 لقد قمت باظافة موضوع جديد في شرح اعتماد قائمة على قائمة اخرى اتمنى الاطلاع عليه وان شاء الله يفي بالغرض اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
loveall2006 بتاريخ: 25 فبراير 2020 تقديم بلاغ مشاركة بتاريخ: 25 فبراير 2020 في ٢٢/٥/٢٠١١ at 09:53, عزيز القادري said: اعتماد قائمة على قائمة اخرى اتمنى الاطلاع عليه وان شاء الله يفي بالغرض ممكن الرابط اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.