بتاريخ: 12 يونيو 201412 سنة comment_251899 السلام عليكم مشرفين واعضا منتدنا المبدع لدي استفسار وهي كالتالي قمت بعمل نافذه تحتوي على بلوك مستر وبلوك ديتل البلوك المستر يحتوي على بيانات مكونه من سجل واحد البلوج الديتل يحتوي على بيانات في اكثر من سجل قمت بعمل برسجر لحذف المستر حذف من غير اي مشالك لانه يحتوي على سجل واح قمت بعمل بروسجر اخر لحذف بيانات الديتل حذف احد السجلات فقط والسجلات الاخرى لم يحذفها فما هو الحل اصدقائى الاعزا جزاكم الله خير تقديم بلاغ
بتاريخ: 13 يونيو 201412 سنة comment_251920 السلام عليكم بما انه افورم ماستر - ديتيل اكيد يوجد بينهم relation. لماذا تعمل بروسيجر للحذف؟ غير فقط نوع الـ relation لكي يتم حذف الديتيل عند حذف الماستر. تقديم بلاغ
بتاريخ: 14 يونيو 201412 سنة كاتب الموضوع comment_251953 السلام عليكم بما انه افورم ماستر - ديتيل اكيد يوجد بينهم relation. لماذا تعمل بروسيجر للحذف؟ غير فقط نوع الـ relation لكي يتم حذف الديتيل عند حذف الماستر. وعليكم السلام اخي الفاضل احمد حسن لدي ملاحظتين وهيا كالتالي : 1- لقد قمنت بعمل بروسيجر بعملية INSERT الي جدول اخرى وعند اضافه عملية تتم اضافه البيانات الي تلك الجدول فقمت بعمل بروسيجر لعملية DELDTE الي تلك الجدول التي تمت اضافة البيانات اليها فحذف سجل واحد فقط ولم يحذف باقي السجلات المدخلة في نفس عملية الادخال 2- ارجو توضيح الطريقة التي ذكرتها بتغير نوع الـ relation لكي يتم حذف الديتيل عند حذف الماستر. جزاك الله خير جزاء اخي الفاضل احمد حسن تقديم بلاغ
بتاريخ: 14 يونيو 201412 سنة كاتب الموضوع comment_251957 بتخلى العلاقة cascading بين الجدوليين السلام عيكم اخي الفاضل احمد عمر انا مسوي cascading في العلاقة بين البلوكين ولكن كما وضحت لقد قمنت بعمل بروسيجر بعملية INSERT الي جدول اخرى وعند اضافه عملية تتم اضافه البيانات الي تلك الجدول اي انا هناك تاثيرات على جدول اخرى اريد عند الحذف يتم حذف كل التاثيرات التي تمت اثنا العملية ولك خالص الشكر والتقدير اخي الفاضل احمد عمر تم تعديل 14 يونيو 201412 سنة بواسطة anas.soft تقديم بلاغ
بتاريخ: 15 يونيو 201412 سنة comment_251983 الحذف فى الديتيل حسيكون على الركورد اللى المؤشر عليه فقط وده الصح افضل من انه يحذف كل البيانات بالخطا ويفضل عدم استخدام cascade delete لو يريد حذف سجل رئيسى له فروع اذا يحذف الفروع اولا ثم يقوم بحذفه منعا لاخطاء المستخدميين تقديم بلاغ
بتاريخ: 15 يونيو 201412 سنة كاتب الموضوع comment_251991 السلام عليكم اخواني الاعزا كي اوضح لكم ما اريده بالضبط هو كالتالي قمت بعمل شاشه مكونه من مسترو وديتل المستر يحتوي على بيانات مدخلة مكونه من سجل واحد والديتل البيانات المدخلة له مكونه من عده سجلات قمت بعمل زر حذف ولكن عند الحذف يتم حذف بيانات المستر وسجل واحد فقط من الديتل اريد عند الحذف ان يحذف كل سجلات الديتل المرتبطة بالمستر ارجو المساعده وجزاكم الله خير الجزا تم تعديل 15 يونيو 201412 سنة بواسطة anas.soft تقديم بلاغ
بتاريخ: 15 يونيو 201412 سنة comment_251992 السلام عليكم اخي انسمن الواضح من كلامك انك لا تريد فقط الحذف من الماستر والديتيل اللى على الشاشةبل تريد حذف داتا اخري فى جداول اخرى متعلقة بالشاشة الحاليةمن الافضل ان توضح لنا نبذة بسيطة عن هيكل الجداول والكود الذي قمت بكتابتهاذا كانت الداتا المراد حذفها مربوطة كلها باحد اعمدة الماستر ، فاذا وضعت هذا العمود فى شرط الحذف سيحذف كل السجلات طالما انها كلها لها نفس القيمةاما اذا اردت حذف بعض السجلات على كل سجل من سجلات الديتيل فعليك بعمل post-delete trigger ثم الحذف من الجداول الأخرة التى تريدها المرتبطة بنفس قيمة الديتيل تقديم بلاغ
بتاريخ: 15 يونيو 201412 سنة كاتب الموضوع comment_251999 السلام عليكم اخي انس من الواضح من كلامك انك لا تريد فقط الحذف من الماستر والديتيل اللى على الشاشة بل تريد حذف داتا اخري فى جداول اخرى متعلقة بالشاشة الحالية من الافضل ان توضح لنا نبذة بسيطة عن هيكل الجداول والكود الذي قمت بكتابته اذا كانت الداتا المراد حذفها مربوطة كلها باحد اعمدة الماستر ، فاذا وضعت هذا العمود فى شرط الحذف سيحذف كل السجلات طالما انها كلها لها نفس القيمة اما اذا اردت حذف بعض السجلات على كل سجل من سجلات الديتيل فعليك بعمل post-delete trigger ثم الحذف من الجداول الأخرة التى تريدها المرتبطة بنفس قيمة الديتيل وعليكم السلام اخي الكريم محمد ساوضح لك بنبذه بسيطة اخي العزيز م. محمد لدي جدول مرتبط بالمستر ولدي جدول مرتبط بالديتل ولدي جدول حركات يتم تغذيتة عن طريق عملية INSERT من المستر ولدي جدو اخر اسمه جدو حركات الاعمال يتم تغذيتة من المستر والديتل معاء الان قمت بعمل زر حذف يستدعي عده بروسجرات للحذف البيانا من الجدول المذكروه كل شي تمام ولكن وجهتني مشكله في بروسجر الحذف من جدول الاعمل حيث انه يقوم بحذف احد السجلات الذي الموشر يكون علية اما بقي السجلات فلا تحذف من الجدول هذ ولك خالص الشكر والتقدير وجزاك الله خير تم تعديل 15 يونيو 201412 سنة بواسطة anas.soft تقديم بلاغ
بتاريخ: 15 يونيو 201412 سنة كاتب الموضوع comment_252007 يرجى ارفاق الكود الموجود في البروسيجر ؟ السلام عليكم استاذي القدير احمد حسن هذا هو الكود PROCEDURE DELETE_CFL_TRANSACTIONS_WORKS IS BEGIN BEGIN DELETE FROM CFL_TRANSACTIONS_WORKS WHERE ACCOUNT_TYPE=:B1.PAYMENT_LOC AND COMP#=:B1.LOC_COMP# AND REGION_CODE=:B1.LOC_REGION_CODE AND BRANCH# =:B1.LOC_BRANCH# AND ACCOUNT_NO=:B1.LOC_ACCT_NO AND TRANS_TYPE=DECODE(:B1.PAYMENT_TYPE , '01','51','02','52','53') AND TRANS_NO=:B1.PAYMENT_TYPE||:B1.COMP#||:B1.REGION_CODE||:B1.BRANCH#||:B1.DEPT#||:B1.MAIN_PERIOD_NO||:B1.PAYMENT_NO ||:B4.BUSINESS_SER_NO ; EXCEPTION WHEN OTHERS THEN ALERT_MSG('MSG','Unable To Delete From CFL_transActions....!'||SQLERRM) ; Raise Form_trigger_Failure ; END ; IF :B1.BENEFICIARY_TYPE IN ('01' ,'02') THEN BEGIN DELETE FROM CFL_TRANSACTIONS_WORKS WHERE ACCOUNT_TYPE=DECODE(:B1.BENEFICIARY_TYPE,'01','1','02','2') AND COMP#=SUBSTR(:B1.BENEFICIARY_NO,1,2) AND REGION_CODE=SUBSTR(:B1.BENEFICIARY_NO,3,2) AND BRANCH#=SUBSTR(:B1.BENEFICIARY_NO,5,2) AND ACCOUNT_NO=SUBSTR(:B1.BENEFICIARY_NO,7,4) AND TRANS_TYPE=DECODE( :B1.PAYMENT_TYPE , '01','24','02','25','26') AND TRANS_NO=:B1.PAYMENT_TYPE||:B1.COMP#||:B1.REGION_CODE||:B1.BRANCH#||:B1.DEPT#||:B1.MAIN_PERIOD_NO||:B1.PAYMENT_NO ||:B4.BUSINESS_SER_NO ; EXCEPTION WHEN OTHERS THEN ALERT_MSG('MSG','Unable To Delete From CFL_transActions....!') ; Raise Form_trigger_Failure ; END ; END IF ; END ; اشكرك على حسن المتابعة وجزاك الله خير اخي الفاضل تقديم بلاغ
بتاريخ: 15 يونيو 201412 سنة comment_252012 السلام عليكم لو نفذت الجملة التالية: SELECT * FROM cfl_transactions_works WHERE account_type = :b1.payment_loc AND comp# = :b1.loc_comp# AND region_code = :b1.loc_region_code AND branch# = :b1.loc_branch# AND account_no = :b1.loc_acct_no AND trans_type = DECODE (:b1.payment_type, '01', '51', '02', '52', '53') AND trans_no = :b1.payment_type || :b1.comp# || :b1.region_code || :b1.branch# || :b1.dept# || :b1.main_period_no || :b1.payment_no || :b4.business_ser_no; كم ريكورد بترجع ؟ تقديم بلاغ
بتاريخ: 16 يونيو 201412 سنة كاتب الموضوع comment_252054 السلام عليكم لو نفذت الجملة التالية: SELECT * FROM cfl_transactions_works WHERE account_type = :b1.payment_loc AND comp# = :b1.loc_comp# AND region_code = :b1.loc_region_code AND branch# = :b1.loc_branch# AND account_no = :b1.loc_acct_no AND trans_type = DECODE (:b1.payment_type, '01', '51', '02', '52', '53') AND trans_no = :b1.payment_type || :b1.comp# || :b1.region_code || :b1.branch# || :b1.dept# || :b1.main_period_no || :b1.payment_no || :b4.business_ser_no; كم ريكورد بترجع ؟ السلام عليكم استاذي القدير احمد يعيد لي ريكورد واحد فقط وانا اعتقد ان المشكلة انه عمود trans_no عند اضافة اكثر من ريكورد في الديتل يقوم باضافة رقم جديد وعملية الحذف تتم على الريكورد الذي يكون علية الموشر فقط انا اريد ان احذف جميع الريكوردات التي تظهر في بلوك الديتل اشكر حسن تعوننكم وارجو ان تحل هذه المشكلة تقديم بلاغ
بتاريخ: 16 يونيو 201412 سنة comment_252055 السلام عليكم بما انها بترجع ريكورد واحد يعني لازم تعدل في جملة الـ Delete بحيث يتم حذف جميع الصفوف في الديتيل اعتمادا على العلاقة مع الماستر. سأعطيك مثال: لو كان بلوك الماستر يحتوي على بيانات القسم. والديتيل يحتوي على الموظفين التابعين لهذا القسم. سيكون بين البلوكين علاقة وهي رقم القسم. في هذه الحالة جملة الـ Delete ستقوم بحذف جميع الموظفين التابعين لهذا القسم بدون وجود أي شروط في الـ Where تتعلق ببلوك الموظفين. بالتوفيق. تقديم بلاغ
بتاريخ: 16 يونيو 201412 سنة كاتب الموضوع comment_252058 السلام عليكم بما انها بترجع ريكورد واحد يعني لازم تعدل في جملة الـ Delete بحيث يتم حذف جميع الصفوف في الديتيل اعتمادا على العلاقة مع الماستر. سأعطيك مثال: لو كان بلوك الماستر يحتوي على بيانات القسم. والديتيل يحتوي على الموظفين التابعين لهذا القسم. سيكون بين البلوكين علاقة وهي رقم القسم. في هذه الحالة جملة الـ Delete ستقوم بحذف جميع الموظفين التابعين لهذا القسم بدون وجود أي شروط في الـ Where تتعلق ببلوك الموظفين. بالتوفيق. وعليكم السلام استاذ احمد مثلا اذا قمت بعمل العلاقة بنا على رقم سند الصرف النقدي فقد يتركر هذا الرقم في حاله الادخال من سند صرف شيك او سند صرف حوالة وفي حاله عملت جملة DELETE بنا على رقم السند الصرف وكان هناك رقم متكرر من سند صرف شيك سيقوم بحذف العملياتين معا لان هذا الجدول يمرر اليه البيانات من خلال اربع نوافذ ولك خالص الشكرو التقدير تقديم بلاغ
بتاريخ: 16 يونيو 201412 سنة comment_252063 اوكي اضف نوع السند في جملة الـ Where. او الافضل رفع بيانات توضيحية للداتا الموجودة في الجدول وحدد البيانات المراد حذفها ؟ تقديم بلاغ
بتاريخ: 16 يونيو 201412 سنة كاتب الموضوع comment_252077 اوكي اضف نوع السند في جملة الـ Where. او الافضل رفع بيانات توضيحية للداتا الموجودة في الجدول وحدد البيانات المراد حذفها ؟ الاستاذ العزيز احمد حسن تم حل المشكلة جزاك الله خير الجزاء ولا انساء ان اشكر جميع من ساعدني في هذا الموضوع تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.