تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مشكلة في تعديل او حذف سجلات جدول مرتبط بعلاقة مع جدول آخر
#1
السلام عليكم ورحمة الله
عندي قاعدة بيانات جداولها مرتبطه مع بعضها .
-مثلاً جدول المخازن مرتبط مع جدول الاصناف لما اريد ان اعدل او احذف سجل في جدول المخازن يعطيني خطاء ويقول انه في علاقه مع جدول الاصناف
المطلوب كيف اتجنب هذا الخطأ بكود يعدل لي البيانات مع وجود العلاقه ولكم جزيل الشكر
الرد }}}}
تم الشكر بواسطة:
#2
المشكلة عندك و انا ملاحظ ان ناس كتير مش بتذكر النقطة دى المشكلة عندك فى انشاء العلاقة
لازمها امر بسيط بيتعمل يدوى ازاى انا معرفش بيتعمل بالكود دى انا اعرفها .
الحل هوا عبارة عن امر لازم يتعمل تخليه يأجل عملية التأكد بالعلاقة بين الجدول لحين عملية الحفظ النهائية . وهقولك على الامر بالكود فى نهاية الكلام.
الحل الثانى ان انت تنشئ العلاقات بتاعت الجداول عن طريق البرنامج وليس الداتا
وعند التعديل فى جدول الاصناف لاسم صنف ما هتضيف كود التعديل فى جدول المخازن لاسم الصنف اللى انت عدلته فى جدول الاصناف وانا انصحك بعدم جعل الاسماء مفاتيح اساسية واجنبية فى الجداول وانصحك باستخدام الرقم بتاع كل صنف هوا اللى يكون مفتاح اساسى واجنبى فى الجداول وبالتالى مش هيأثر عليك فى عملية التعديل انما فى عملية الحذف مش هيوافق انك تحفظ صنف وهوا مسجل فى جدول المخازن الا لو انت حضرتك لغيت العلاقة ما بين الجدولين .
نيجى بقى للامر اللى قولتلك عليه فى الاول وده هدية ومحدش هيقلهولك . الامر بالكود هيكون كالتالى بس هذا الامر لو كانت العلاقة على الداتا وليست من داخل البرنامج نفسه .
constraint item_name_fk foreign key (item_name) references item(item_name)DEFERRABLE INITIALLY DEFERRED)
الشرح : 1 / constraint item_name_fk ده معناه ان ده مفتاح اجنبى اسمه item_name
2/ foreign key (item_name) ده اسم الحقل الىل هيتعمل عليه العلاقة
3/ references item(item_name) ده معناه ان الحقل فى جدول المخازن الىل اتعمل عليه مفتاح اجنبى الجدول الاساسى الىل المفتاح الاجنبى بيستمد منه العلاقة جدول الاصناف واسم الحقل .
4/ DEFERRABLE INITIALLY DEFERRED) وهى دى الهدية امر ديفرابول وده معناه انه ياجل عملية التاكد من العلاقة بين الجدولين لحين الانتهاء من عملية الحفظ النهائية للبيانات .
بصراحة انا مجربتهاش مع الفيجوال بيسك لان انا بستعمل العلاقات من داخل البرنامج
لكن انا جربتها مع الاوراكل .
لو حبيت الكود كامل للتعديل يدوى قولى وانا اجيبهولك وهوا سهل استخدام امر alter table
الرد }}}}
تم الشكر بواسطة:
#3
مشكوووووور جداً
انت تكلمت هنا على انه لو كانت قاعدة البيانات معموله بالاوراكل ولكنها عندي معموله بالآكسس والانتر فيس vb6
اظن انها ما حتزبط معي في الآكسس رجاء لوكان حل هذه المشكله بالمعطيات السابقه اما الحذف مافيش مشكله حنجعل البرنامج يعطيني رساله ( على ان العنصر مرتبط بعناصر اخرى في جدول آخر ولا يمكنك حذفه ) .
ولكن التعديل ضروري من حل ؟؟؟؟ تذكروا 1 قاعدة البيانات اكسس 2 الانتر فيس vb6
الرد }}}}
تم الشكر بواسطة:
#4
يا سيدى الفاضل جربها كده ولو مش اشتغلت قولى وانا احاول اجربها عندى واجيبهالك ومعلومة ليك انا لما جربت اعمل قيود على الجداول جربتها بالكود وانا بنشئ الداتا بالكود وكلها من ضمن لغة sql ودى انا درستها فى الاوراكل وكل شئ انا درسته فى الاوراكل من اللغة دى انا جربته مع الفيجوال بيسك 6 واشتغل ما عدا بعض الاختلافات فى دوال اخرى بعيد عن كلامنا هنا جرب الامر ده وشوف كده ايه اللى هيحصل انا لو كان جهازى يساعد انا انا اجرب اعملك مثال بسيط كنت عملت جرب انت لحد ما اظبط جهازى ولو مش اتحلت حاول تستخدم الطريقة الاخرى من داخل البرنامج وانا بردوا هحاول اشوفلك ليها حل من خلال التعامل مع الداتا نفسها
الرد }}}}
تم الشكر بواسطة:
#5
اولا اشكرك على تفاعلك معي
ثانياً : هل اروح الاكسس واحذف كل المفاتيح الاساسية والثانويه ومن ثم اروح واعمل هذه المفاتيح بواسطة الفجوال من خلال الكود ؟
اذاكان الجواب نعم فين اعمل هذا الكود اي في اي مكان هل مثلا في لاود الفورم ام ين ؟
اخيراً اعتذر لك كثيراَ لانني لم افهمك جيداً
الرد }}}}
تم الشكر بواسطة:
#6
أولا انا جربت الكود اللى اعطيتهولك ومش اشتغل مع الاكسس وانا بعتذر .
ثانيا استخدم الحل الثانى اللى قولتلك عليه البرمجه من داخل البرنامج .
هتعمل الاتى هتروح وتمسح المفتاح الاجنبى اللى انت عامله
ثالثا هتبرمج المفتاح الاجنبى من داخل البرنامج وهذا مثال من عندى لكيفية التعامل مع هذا الشكل مع العلم ان حقل الرقم فى جدول الاصناف مفتاح اساسى وهتلاقى عندك تحت مفتاح الحذف انا عامل استعلام ليتأكد اذا كان الرقم ده مسجل فى الجدول الاخر ولا لا المهم انا لغيت exit sub عنداكتشافه لانه موجود ابقى خليها تشتغل لانى كنت بجرب عملية الحذف
اللينك : http://www.mediafire.com/?nam9w8v7c9m0s
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مساعدة فى حل مشكلة البرنامج abosara 7 161 20-09-16, 10:30 PM
آخر رد: Amir_alzubidy
  كيفية نسخ جدول من قاعدة بيانات الى قاعدة أخرى علما بأن القاعدتين لهم باسورد abosara 3 190 23-08-16, 01:02 AM
آخر رد: Ahmed_Mansoor
  تعديل بعض السجلات اسلام الكبابى 8 204 18-08-16, 12:50 AM
آخر رد: اسلام الكبابى
  اكواد انشاء ستعلامات مكونه من جدول اساسي وجدول فرعي في الفيجوال بيسك 6 mhm 0 596 10-09-14, 01:27 AM
آخر رد: mhm
  مساعده في كود نقل السجلات من جدول الى اخر Adodc allayl 2 1,017 24-08-13, 05:06 PM
آخر رد: allayl
  كيف انشي متصفح سجلات لنتايج البحث فقط في برنامجي مرفق ؟؟ softmail8 11 1,170 27-07-13, 07:54 PM
آخر رد: benomar
  طلب تعديل على كود السحب والالقاء AEDC 2 492 07-07-13, 04:10 AM
آخر رد: AEDC
  اضافة حذف تعديل باستخدام طريقة ado abulayth 2 781 21-06-13, 06:39 PM
آخر رد: abulayth
  كيف استعرض سجلات برنامجي المرفق بدون وضع امر في حدث الفورم ؟؟ softmail8 3 554 20-06-13, 10:18 PM
آخر رد: ناجي إبراهيم
  تعديل علي هذا الكود Ahmed Abdulla 9 1,281 22-05-13, 10:00 AM
آخر رد: Ahmed Abdulla

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم