تقييم الموضوع :
  • 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
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  طلب طريقة نقل البيانات من جدول الي جدول اخر في قاعدة بيانات اخر ahmed201 2 2,345 01-03-21, 12:14 AM
آخر رد: ahmed201
  فورم vb6 لنقل بيانات من جدول لآخر بنفس قاعدة بيانات اكسيس محمد تريكه 5 3,718 24-02-21, 08:10 PM
آخر رد: ahmed201
  تعديل بعض السجلات اسلام الكبابى 9 4,189 29-05-19, 10:32 PM
آخر رد: egbest2
  مشكلة فى ترتيب السجلات اسلام الكبابى 4 2,766 05-09-18, 12:45 AM
آخر رد: اسلام الكبابى
  [سؤال] مشكلة في جلب الصورة من قاعدة البيانات اكسس عزف الرياح 1 2,178 30-01-18, 11:15 PM
آخر رد: Amir_Alzubidy
  ادخال مجموعة سجلات مرة واحدة اسلام الكبابى 9 3,274 03-07-17, 09:53 PM
آخر رد: اسلام الكبابى
  انشاء داتا بيز + انشاء جدول بالكود بمكتبة ado اشروفا 5 5,094 13-05-17, 06:35 AM
آخر رد: ثابت واصل
  مشكلة في البحث والتعديل في البرنامج thams 1 2,220 29-01-17, 10:04 PM
آخر رد: عبد العزيز البسكري
  مساعدة فى حل مشكلة البرنامج abosara 7 4,284 20-09-16, 10:30 PM
آخر رد: Amir_Alzubidy
  كيفية نسخ جدول من قاعدة بيانات الى قاعدة أخرى علما بأن القاعدتين لهم باسورد abosara 3 5,563 23-08-16, 01:02 AM
آخر رد: Ahmed_Mansoor

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


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