بتاريخ: 16 مايو 201114 سنة comment_212026 السلامُ عليكم ورحمة الله وبركاتهالسادة الفضلاء : أرجو أن تكونوا بخير حال ... اللهُم آمينلي سؤال أرجو جوابه من حضرتكم , واعتذر على تكرار سؤالى , ولكن حقيقة ً لم أفهم الجواب فى المرة السابقة , أو أني لم استطيع أن افهم حضراتكم سؤالىالسؤال باختصار : إذا كان عندى عمود فى الداتا بيز من النوع ( list of item ) وليكن مثلاً اسمه : محافظاتوعندى عمود آخر من نوع ( List of Item ) أيضا ً , وليكن اسمه : القريأريد مثلاً إذا ضغطت فى العمود الأولى على ( محافظة الشرقية ) يقوم العمود الثانى تلقائيا ً : بإظهار القرى فى محافظات الشرقية ....فما الخطوات بارك الله فيكم , وأرجو الإجابة ضرورى جداً حتى يكتمل مشروعىوهل اقوم أولاً بكتابة ال List Of Item داخل الاعمدة , ثم كتابة الكود .... أم العكس تقديم بلاغ
بتاريخ: 16 مايو 201114 سنة comment_212027 السلام عليكم ورحمة الله وبركاته trigger when list changed مثلا وتكتب فيه if (list_name) = (value) then (list2) := value2 end ; تقديم بلاغ
بتاريخ: 16 مايو 201114 سنة كاتب الموضوع comment_212028 جزاكم الله خيراً اخىلكن حضرتك كاتبtrigger when list changed مثلا وتكتب فيه if (list_name) = (value) then (list2) := value2 end ; لكن انا مش عاوز قيمة واحدة بسانا مثلاً لو عندى list_name = كذاهعوز اطلع منها اكثر من قيمة , والمستخدم هو ال يختارزى مثلا : اذا المحافظة = الشرقيةيكون القيمة = الزقازيق , منيا القمح , كذا , كذا , كذافايه الكود بتاع كتابة اكثر من قيمة تقديم بلاغ
بتاريخ: 16 مايو 201114 سنة comment_212034 اخي الحبيب شوف المثال ده هو اللي انت عايزه LIST_ADDTO_LIST.rar تقديم بلاغ
بتاريخ: 17 مايو 201114 سنة comment_212041 السلام عليكماليك الحل وارجو ان تقوم بتطبيقه بطريقة صحيحةاولا يتم انشاء جدول للمحافظات به كود المحافظة(مفتاح اساسى) - اسم المحافظةثانيا جدول للمناطق مربط بجدول المحافظات به كود المحافظة - كود المنطقة - اسم المنطقةعمل الشاشة وبناء List of Item خاصة بالمحافظاتثم عمل List of Item اخرى خاصة بالمناطق بحيث ان كود المحافظة فى جدول المناطق يساوى كود المحافظة فى جدول المحافظاتوبسبب هذا الشرط سوف يتم اظهار المناطق فقط الخاصة بالمحافظة المختارة فى List of Item الاولىارجة التطبيق و مراسلتىمعكم ولكم نتواصلم احمد تقديم بلاغ
بتاريخ: 17 مايو 201114 سنة كاتب الموضوع comment_212057 الأخوة الكرام أنا بشكر حضرتكم ., لكن حقيقى مش عارف انفذها ازاىومثالى ال قلته : على المحافظات واسماء مدنها كان للتوضيح فقط , لكن مش دى ال فى مشروعىانا المثال بتاعى : انا عامل فورمة اسمها شؤن العاملينوالفورمة دى فيها اشياء كثيرة : اسم الموظف , ال p.k بتاع كل موظف , وتاريخ الالتحاق , ... وهكذامن ضمن الاشياء دىفى عمود عندى اسمه ( القسم ) وهو عبارة عن List of Item ويحوى بداخله اسماء اقسام معينة فى الشركةوعمود آخر بجانبه اسمه ( الوظيفة ) وهو عبارة عن list of item ايضاً , وهو يحوى بداخله مجموعة من الوظائف طريقة الربط ال اريدها ( ان القسم بيشمل مجموعة من الوظائف )فمثلاً لو اختار : قسم الإدارة , فأريد بالتبعية أن تتحول القائمة بتاعة ال Jobs إلى ( مدير , وكيل , أمين , ..... )لو مثلاً اخترت ( قسم التعليم ) , فأريد بالتبعية أن تتحول القائمة بتاعة ال jobs إلى ( مدرس , مدرسة , .....)وهكذابالله عليكم حد يقولى الخطوات بالترتيبوأنا لحد الآن عملت عمود ( الاقسام ) كــ list of value وو ضعت بداخله اسماء الاقسام ؟وعمود الـ ( jobs ) كــ list of value اعمل ايه بعد كده ؟؟ارجو الجواب ...بارك الله فيكم تقديم بلاغ
بتاريخ: 17 مايو 201114 سنة comment_212064 اخي الفاضل كما قال لك الاخوة من قبلسوف تقوم بعمل CURSOR تملأ بها الليست الاولى حيث ارتجاع الداتا من جدول الاقساموعلى هذه الليست على التريجر WHEN_LIST_CHANGED سوف تقوم بعمل CURSOR يسترجع الداتا من جدول الوظائف بشرط القسمحيث الشرط يكون الاستعلام كالتاليSELECT * FROM JOBS_TABLEWHERE DEPARTMENT_ID =:FORM_BLOCK.DEPARTMENT_ID;حيث :FORM_BLOCK.DEPARTMENT_ID: يمثل ايتم ليست الاقسام بعد الاختيار تقديم بلاغ
بتاريخ: 17 مايو 201114 سنة comment_212074 والله ياجماعه انا بحاول أرفع الملف بس مش عارف فى أى أيه تقديم بلاغ
بتاريخ: 18 مايو 201114 سنة comment_212083 brave_fox إنت زبط الجدول بتاع الموظفين بالأول 1- بدل ما يدخل اسم القسم يدخل رقم القسم 2- بدل ما يدخل اسم الوظيفة ,يدخل رقم الوظيفه3-اعمل جدول جديد للأقسام فيه رقم القسم و اسم القسم 4- اعمل جدول للوظائف فيه ( رقم الوظيفة + رقم القسم)برايمري كي أو حتى لو ما عملتهم برايمري كي ما في مشكله , بالاضافة إلى عامود اسم الوظيفة تقديم بلاغ
بتاريخ: 18 مايو 201114 سنة كاتب الموضوع comment_212091 الأخوة الكرام اشكركم لحسن التفاعل , لكن حقيقة أنا مش عامل رقم لكل قسم عشان اعمل حكاية ال primary keyلكن الأعمدة ال عندى هي :-1- اسم الموظف2- تاريخ الميلاد3- تاريخ الالتحاق4- المؤهل 5- الديانة6- التليفون7- العنوان6- القسم (list of value) : تحوى بداخلها اسماء الاقسام7- الوظيفة (list of value ) : تحوى بداخلها مجموعة من الوظائففمعنديش (primary key ) لكل قسم , بل فقط اريد ربط القسم بالوظيفةبحيث مثلاً اذا اختار ( القسم = التدريس ) --- فالبتبعية يظهر فى ( الوظيفة ) : مدرس , مدرسة , ..اعتذر عن تكرار السؤال يا اخوة , ولكن ( القسم ) , والوظيفة , ملهمش p.k , بل عمودين عاديين خالص فى الجدول ..هل وصلت الفكرة ... واكرر اعتذارى الشديد تقديم بلاغ
بتاريخ: 18 مايو 201114 سنة comment_212100 اخي بريف .. احييك لاجتهادك في بداية مشواركلكن ارى انك يجب ان تضع رقم كود لكل قسم وكل وظيفة , وهذا شئ هام جدا يفيدك كثيرا على مستوى النظام ككل وخاصة التقاريرثانيا موضوع 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 لاعادة تعبئة القائمة الخاصة بالفروع من جديد ، حتى تتغير في كل مرة تتغير فيها قائمة البنوك الرئيسيةودمتم سالمينلا تنسانا من دعائك تقديم بلاغ
بتاريخ: 18 مايو 201114 سنة comment_212103 الأخوة الكرام اشكركم لحسن التفاعل , لكن حقيقة أنا مش عامل رقم لكل قسم عشان اعمل حكاية ال primary keyلكن الأعمدة ال عندى هي :-1- اسم الموظف2- تاريخ الميلاد3- تاريخ الالتحاق4- المؤهل 5- الديانة6- التليفون7- العنوان6- القسم (list of value) : تحوى بداخلها اسماء الاقسام7- الوظيفة (list of value ) : تحوى بداخلها مجموعة من الوظائففمعنديش (primary key ) لكل قسم , بل فقط اريد ربط القسم بالوظيفةبحيث مثلاً اذا اختار ( القسم = التدريس ) --- فالبتبعية يظهر فى ( الوظيفة ) : مدرس , مدرسة , ..اعتذر عن تكرار السؤال يا اخوة , ولكن ( القسم ) , والوظيفة , ملهمش p.k , بل عمودين عاديين خالص فى الجدول ..هل وصلت الفكرة ... واكرر اعتذارى الشديد مهو انت لازم تعمل جدول للأقسام و الوظائف عشان تعرف تربطهم ولو مش عايز تعمل كده ,,, في طريقه ملتوية ممكن أقولك تعملها بس ده لو كانت الاقسام و الوظائف عددها قليل هي قليله ولا لأ؟ تقديم بلاغ
بتاريخ: 18 مايو 201114 سنة comment_212113 اخي الفاضلمن الافضل على الاطلاق بالتأكيد لاسباب عدة عمل PRIMARY KEY لكلا الجدولينحيث يتم الربط من خلالهماوستجد الموضوع بعد ذلك سهل للغاية تقديم بلاغ
بتاريخ: 18 مايو 201114 سنة comment_212114 اخي الفاضلهناك علاقة بين كلا من الجدولين الاقسام والوظائففلا بد ان يحتوي جدول الوظائف على عمود لللاقسام يحدد اي قسم تنتمي اليه تلك الوظيفةيمكنك تعديل جدول الاقسام بإضافة عمود رقم القسم بحيث يكون 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] يتم اختيار الوظيفة طبقا لتساوي ارقام الاقسام تقديم بلاغ
بتاريخ: 18 مايو 201114 سنة كاتب الموضوع comment_212117 الأخوة الكرام مُمتن جداً لتفاعلكم معى , وعاجز عن شكر حضرتكم اخي الفاضلمن الافضل على الاطلاق بالتأكيد لاسباب عدة عمل PRIMARY KEY لكلا الجدولينحيث يتم الربط من خلالهماوستجد الموضوع بعد ذلك سهل للغاية هو جدول واحد أختنا الكريمة , وليسوا بجدولين ... ولو مش عايز تعمل كده ,,, في طريقه ملتوية ممكن أقولك تعملها بس ده لو كانت الاقسام و الوظائف عددها قليل هي قليله ولا لأ؟ الجدول ال انا عامله , فيه Primary Key وهو فقط الرقم القومى للموظف Social_Noوبعد كده اعمدة كالآتىEmp_nameBirthdayhirdateGenderQuaalificationDept_name ( وده عبارة عن List of item ) فيه حوالى أسماء خمسة أقسام JOB : ( ودى برضو عبارة عن LIST OF ITEM ) ومن خلال لما اعمل اختيار لاسم قسم , أريد أن يندرج منه تقريباً على الأكثر ( خمسة وظائف ) , وهكذا لكل اختيارودى فعلاً انا عملتها فورمة , مش لسه هكريت من اول وجديد ...يعنى الخلاصة :ده جدول واحدوP.K هو رقم الموظفوال List OF Items داخل كل جدول من ال بسأل فيه مش هتكون كتيرة اوى يعنى .شكراً للاخوة الكرام تم تعديل 18 مايو 201114 سنة بواسطة brave_fox تقديم بلاغ
بتاريخ: 18 مايو 201114 سنة comment_212119 اخي الفاضل .. معذرة انا شاب لو انك اردت ادخال اكثر من وظيفة لنفس القسم وذلك في جدول الموظفين فستسبب في حدوث تكراراتوأحد مزايا تقسيم البيانات على اكثر من جدول هو تجنب التكرارات والربط بينهايفضل يا اخي فصل الاعمدة في جداول والربط بينها باستخدام ال PK AND FK تقديم بلاغ
بتاريخ: 19 مايو 201114 سنة comment_212133 اخي قد تفهمت المطلوب على ما اظنانت تملك جدول كما ذكرت يحوي بيانات الموظف وتريد اضافة بيانات الوظيفة والقسم للموظفمن خلال 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; تقديم بلاغ
بتاريخ: 20 مايو 201114 سنة كاتب الموضوع comment_212207 جزاكم الله خيراً , ولكن هل من طريقة أخرى ؟؟وهل يمكن ربط اكثر من جدولين فى فورم ؟؟ شكراً جزيلاً تقديم بلاغ
بتاريخ: 22 مايو 201114 سنة comment_212262 لقد قمت باظافة موضوع جديد في شرح اعتماد قائمة على قائمة اخرى اتمنى الاطلاع عليه وان شاء الله يفي بالغرض تقديم بلاغ
بتاريخ: 25 فبراير 20206 سنة comment_300178 في ٢٢/٥/٢٠١١ at 09:53, عزيز القادري said: اعتماد قائمة على قائمة اخرى اتمنى الاطلاع عليه وان شاء الله يفي بالغرض ممكن الرابط تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.