الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تبديل قيمة حقل في جدول إلى البديل

مغلق
بدأه فتى الوادي في 1 ديسمبر 2006 · 6 رد · 623 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ....

أنا لدي جدول فيه بيانات كثيرة العدد بالآلف .... مثل هذه الصورة :

http://www.9q9q.org/index.php?image=8ou50y3yXrtp

وقيمة حقل المركز مأخوذة من جدول آخر مرتبط ..... واريد استبدال قيم الحقل ( رمز المركز ) بـــ الحقل اثاني ID2 الموجود في الجدول :

http://www.9q9q.org/index.php?image=2lrA61a21FiD

طبعاً هذا كمثال ..... يعني أريد أستبدال رمز المركز =1 بـــ = 5

وتطبيق ذلك على كامل البيانات .... مع ملاحظة أن لدي رموز كثيرة ID والبديل لها id2

فهل هذا ممكن ؟!

غفر الله لي ولكم ... وزادكم الله علماً ونفع الله بكم العباد والبلاد .

mk17481_26bccea871.gif
#2

اخي الفاضل فتى الوادي

من خلال الصور المرفقه نلاحظ التالي :

1. حقل رقم المركز في الصوره الاولى هو ترقيم تلقائي ومفهرس ولا يمكن تعديله

2. حقل رقم المركز في الصوره الثانية هو حقل مرتبط بعلاقه واحد الى متعدد من خلال الربط مع رقم المركز في الجدول الاول

وهذا الحقل ايضا لا تستطيع التعديل عليه لان العلاقة سوف تمنعك من ذلك

الخلاصة : في اعتقادي من خلال الصور ( طبعا انت لم تضع برنامجك لنراه بشكل اشمل ) انه لا يمكن التعديل او استبدال رقم المركز برقم اخر لان الحقول مرتبطة بعلاقه واحد الى متعدد

#3

السلام عليكم ..... صباح الخير وجمعة مباركة مقدماً ....

أشكر لك سرعة الرد .... هذا هو الملف مرفق .... أنظر إلى النموذج .

mot7.rar

mk17481_26bccea871.gif
#4

اخي الفاضل فتى الوادي

تم تعديل الملف الخاص بك

1. تم تعديل حقل ID في جدول Center Table بدلا من ترقيم تلقائي الى رقم مفهرس بدون تكرار

2. تم تعديل النموذج ليشمل الجدولين ويكون نموذج رئيسي ونموذج فرعي

طريقة استبدال رقم المركز في الجدولين

طبعا لو قمت بتغيير رقم المركز من الجدول Center Table سيتم تغير رقم المركز ايضا في الجدول Personal Table لهذا احببت ان تكون العملية برمجيا

من خلال النموذج ادخل في خانة رقم المركز القديم رقم المركز المطلوب وفي حقل رقم المركز الجديد ادخل الرقم الجديد للمركز ثم اضغط زر الاستبدال

ستظهر لك اول معلمه وهي خاصة بالجدول الاخر للتأكد ادخل الرقم القديم للمركز ثم موافق وستظهر ايضا معلمة ثانية ادخل بها رقم المركز الجديد ثم موافق وسيتم تحديث البيانات بسرعة في النموذج والجدول وبإمكانك مشاهدتها .

ReplaceID.rar

#5

الله يعطيك العافية يا أستاذة زهرة .... لكن

أريد تطبيق ذلك على عدة سجلات كثيرة تقريباً 100.000 سجل ... فهل يوجد كود يحوس السجلات كلها ويغيرها ... أحسن من اغير على سجل سجل ....

mk17481_26bccea871.gif
#6

اخي الفاضل فتى الوادي

السلام عليكم ورحمة الله وبركاته

كما تعلم في قواعد البيانات العلائقية وخاصة الاكسيس عندما يتم ربط جدولين بعلاقة واحد الى متعدد فلا يمكن التحكم في حقل الربط وعادة يكون في الجدول الفرعي لانه مربوط مع الجدول الرئيسي ومفروض علية التكامل المرجعي سواء في الحذف او التحديث .

لهذا لا تستطيع ان تحوس السجلات بكود معين كي يلبي رغباتك لأنك محكوم بعلاقه تمنع التعديل على السجل الفرعي .

ولذا اوجدنا لك حل بديل لا يؤثر على السجلات ولا على العلاقة ويعمل بشكل سليم وقد يكون انك لم تعرف طريقة او آلية عمل هذا الكود

هذا الكود يقوم بعمل استبدال من خلال الدالة Replace لرقم المركز الاساسي ID في الجدول Center Table وبما انه يوجد علاقة واحد الى متعدد بين رقم المركز ID وبين حقل الربط CenterID في جدول Personal Table فإن اي تغيير يطرأ على حقل الـ ID سيشمل بقية السجلات المرتبطه به حتى لو كانت مليون سجل .

فعندما تقوم بالتجربة من خلال النموذج الرئيسي وتغير اي رقم ID ستلاحظ ان بقية السجلات الفرعية اخذت نفس الرقم .

ومن المعلوم انه عندما يكون حقل ID مفهرس فلا يمكن ان يتكرر الرقم مرتين لهذا انت تغير فقط في رقم الـ ID فهل يوجد في برنامجك ارقام متشايهه في الـ ID بالطبع لا ولكن ستجد ان رقم المركز CenterID في النموذج الفرعي مكرر او الجدول الثاني Personal Table لانه مسموح بالتكرار .

اتمنى ان تكون الفكره اتضحت لديك الآن .

#7

الفكرة واضحة .. جداً ...

جزاك الله خيراً .... وغفر الله لنا ولك ولوالدينا .... وزادك الله علماً ونفع الله بك العباد والبلاد ...

mk17481_26bccea871.gif

هذا الموضوع مغلق.

مواضيع مشابهة