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

الإستعلامات الإلحاقيه عند إعادة ربط الجداول

مغلق
بدأه Abu Mesh3L في 14 مايو 2005 · 8 رد · 1,152 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

وضع الأخ رضا عقيل مشكوراً قاعدة بيانات تحتوي على عدة نقاط هامه من ضمنها إعادة ربط الجدوال

عندما تكون قاعدة البيانات مقسمه لكن عند تغيير مسار قاعدة البيانات يتم ربط الجدوال بشكلٍ سليم وفق ما أورده الأخ رضا عقيل لكن المشكــــــــــــــــــــله تأتي عند الإستعلامات الإلحاقيه فهي لا تعمل ... وللتوضيح أنظر المثال المرفق

ضع المجلد في /:C ستجد أن الإستعلامات الإلحاقيه تعمل بشكلٍ سليم ثم بعد ذلك قم بنقل الملف السمى Data إلى مكان آخر أو غير اسمه ثم إفتح الملف المسى AbuMesh3L وقم بإعادة ربط البيانات (الجداول ) ستجد أن الجداول ربطة بشكلٍ سليم

لكن الإستعلامات الإلحاقيه لا تعمل .. السؤال هو كيف أعيد مسار الإستعلامات الإلحاقيه تلقائياً بمجرد إعادة ربط الجداول ؟

AbuMesh3L.zip

#2

للـــــــــــــــــــــــــــــــــــــــــــــرفع

#3

يمكن تدارك الأمر عن طريق فتح الاستعلامين الالحاقيين و التي تظهر على شكل علامة + بلون أخضر , تفتحهما في وضع التصميم ومن شريط الأدوات تضغط على زر استعلام و من القائمة المنسدلة اختر استعلام الحاق سوف يظهر لك نموذج و منه يمكنك تحديد المسار الجديد للملف أو الجدول الذي تلحق به السجل

#4

الأستاذ أبو مشعل:

اسمح لي أن أرد بسؤال و نقطتين :

السؤال:- لماذا نعيد اختراع الساعة ؟ أقصد طالما أن هناك خدمة إدارة ربط الجداول الموجودة أصلاً في أدوات أكسس و تعمل بشكل جيد ، لماذا نكتب كود من مئات الأسطر لتنفيذ نفس المهمة ، هل من المقبول أن نعيد كتابة وظائف ( نسخ ، لصق ) ؟!

الأولى :- الاسم يدل على المسمى و هذا ينطبق على وظيفة ( إعادة ربط الجداول ) ، فهي تربط الجداول و ليس الاستعلامات أو التقارير ، إذ ليس هناك ضرورة منطقية لربط هؤلاء لأنهم عالة على الجداول ، بمعنى أن الجداول هي مصدر وجودهم و بقائهم ، ولهذا لا ترى أي كائنات غير الجداول في مربع حوار الربط ، أليس كذلك ؟

الثانية :- و هذا هو محل اهتمامك تحديداً ، وقع الخطأ حين أنشأت استعلامات الإلحاق ، فقمت بتوجيه أكسس لقاعدة بيانات خارجية "المرتبطة" ( مع أن الجداول في القاعدة الحالية هي المعنية بالاتصال و ليس الاستعلام )، لذلك يفقد إعادة الربط فعاليته مع الاستعلامات .

و ما ذكره الأستاذ العزيز Biskra صحيح 100% و لكن إذا قمت بتغيير مكان الملف أو تغيير اسمه مرة أخرى ستضطر لإعادة عملية التوجيه مرة أخرى ، و هكذا .

إذاً الحل هو : قم بإعادة توجيه أكسس لقاعدة البيانات الصحيحة ( القاعدة الحالية التي يتواجد فيها الاستعلام ).

و بذلك عندما تقوم بنقل الملف المرتبط من مكان لآخر أو تغير اسمه ثم تعيد الربط ، ستكون الاستعلامات في منأى عن هذه الإشكالية و لن تظهر لك رسالة فقدان المسار، و لن تتأثر وظائف الاستعلام ، و سيعمل تماماً كما صممته .

- افتح الاستعلام في عرض التصميم .

- ضع المؤشر في خانة اسم الجدول Append to

- اختر من شريط الأدوات نوع الاستعلام ( إلحاق )

- سيظهر مربع الحوار الخاص بتفاصيل الاستعلام ، اختر ( قاعدة البيانات الحالية Current Database ) مع الإبقاء على اسم الجدول كما هو .

مع تمنياتي لك بدوام التوفيق.

#5

أولاً اود أن اشكر كلا الأخوين biskra و Salah69 على مرورهما على موضوعي ...

وسوف أوضح خطأ كلٍ منكما :

أولاً الأخ الفاضل biskra (والذي بحق أفادني في كثير من تساؤلاتي في هذا المنتدى..فلك خالص شكري وإمتناني) البرنامج الذي أعمل عليه حالياً سوف يعمل في 138 مركزاً في منطقه واحده فقط ! فما بالك ببقية مناطق المملكه الأخرى ؟ فهل يعقل أن أذهب إلى كل مركز على حده وأعدل في ثمانية إستعلامات إلحاقيه.. طبعاً تتفق معي أن هذا غير معقول وليس بحل .

ثانياً الأخ الكريم Salah69 سوف أرد على جميع تسائلاتك كلٌ على حده :

تقــــــــــول: السؤال:- لماذا نعيد اختراع الساعة ؟ أقصد طالما أن هناك خدمة إدارة ربط الجداول الموجودة أصلاً في أدوات أكسس و تعمل بشكل جيد ، لماذا نكتب كود من مئات الأسطر لتنفيذ نفس المهمة ، هل من المقبول أن نعيد كتابة وظائف ( نسخ ، لصق ) ؟!

جوابــــــــــــــي لك : إذا كنت ستقدم برنامج لأكثر من 1000 مركز فهل ستقدم برنامجك مفتوح لكي تجعل كل من هب ودب يغير في برنامجك خاصة إذا علمت أن البرنامج يقدم أهداف محددة لا تريد أن يقوم مستخدم بالزيادة أو النقص أو التعديل أو التلاعب...

تقــــــــــول: الثانية :- و هذا هو محل اهتمامك تحديداً ، وقع الخطأ حين أنشأت استعلامات الإلحاق ، فقمت بتوجيه أكسس لقاعدة بيانات خارجية "المرتبطة" ( مع أن الجداول في القاعدة الحالية هي المعنية بالاتصال و ليس الاستعلام )، لذلك يفقد إعادة الربط فعاليته مع الاستعلامات

جوابـــــــــــــي لك : إذا كان لديك جدول بيانات أساسية وجدول آخر هو أرشيف البيانات الأساسية وأحياناً تنقل بعض من بياناتك إلى الأرشيف وقد تضطر في وقتٍ ما من إستعادة بعض بيانات الأرشيف إلى جدول البيانات الأساسية فماذا ستفعل في هذه الحاله؟ طبعاً أفضل وسيله هي الإستعلامات الإلحاقيه ..

------------------- نقطه هامه ----------> أخي الكريم عندما تريد عمل أي استعلام إلحاقي في قاعدة بيانات مقسمه فلا تجعل مسار الإستعلام يذهب إلى الجدول المرتبط فهذا خطأ فادح والصحيح أن تجعل مساره يذهب إلى الجدول الأصلي وليس المرتبط -- أنظر المثال المرفق بعد التعديل وفقاً لرؤيتك -- ستجد أنك عندما تقوم بنقل سجل من جدول1 إلى جدول2 ثم وبعد إستعادته من نموذج2 إلى جدول1 ستجد أن المفتاح الأساسي بدأ يأخذ قيماً مكرره بعد تكرار النقل والإستعادة ومن هنا تبدأ المشاكل ..وسوف تضهر لك مشاكل أخرى عديده إذا كان برنامجك يعمل على شبكه( إذا رغبت في معرفت تفاصيل هذه المشاكل فراسلني على بريدي لكي أوضح لك ماذا سيحدث لبرنامجك بطريقتك هذه).

تقــــــــــول: و ما ذكره الأستاذ العزيز Biskra صحيح 100% و لكن إذا قمت بتغيير مكان الملف أو تغيير اسمه مرة أخرى ستضطر لإعادة عملية التوجيه مرة أخرى ، و هكذا .

إذاً الحل هو : قم بإعادة توجيه أكسس لقاعدة البيانات الصحيحة ( القاعدة الحالية التي يتواجد فيها الاستعلام ).

و بذلك عندما تقوم بنقل الملف المرتبط من مكان لآخر أو تغير اسمه ثم تعيد الربط ، ستكون الاستعلامات في منأى عن هذه الإشكالية و لن تظهر لك رسالة فقدان المسار، و لن تتأثر وظائف الاستعلام ، و سيعمل تماماً كما صممته .

جوابــــــــــــــي لك : نفس جوابي على أخي biskra .

وأخيراً أرجو أن أكون قد وفقت في طرحي هذا وآمل ممن لديه حل أن يفيدني به مشكوراً .

(biskra حلال المشاكل دور لي على حل تراك عودتنا على حلولك)

AbuMesh3L 2.zip

#6

* على حدّ علمي بقراءة و كتابة اللغة العربية :

** في المشاركة الأصلية ، لم تذكر كلمة واحدة عن 1000 مركز أو توزيع البرنامج أو فتح و إغلاق البرنامج ، تحدثت عن جزئية محدودة تتعلق بإعادة ربط استعلام إلحاقي.

** تعدد المراكز و تعدد نسخ البرنامج يؤيد ما ذهبت إليه في الحل الذي قدمته لك.

** لم أعترض على جدوى الاستعلام الإلحاقي ، إنما اعترضت على توجيه الاستعلام لتحديث جدول خارج قاعدة البيانات الموجود فيها الاستعلام لأن القاعدة مرتبطة و ليست مستقلة .

** الجداول هي المعنية ((بالاتصال)) و ليس الاستعلامات ، حقيقة صحيحة و مثبتة ، و عدم تصويبها يحتاج لإثبات .

** مشكلة تكرار القيم في المفتاح الأساسي التي يسببها الاستعلام الإلحاقي لديها عشرات الحلول منها البسيط و منها المعقد ( حسب الحالة و حسب أسلوب تفكير المبرمج ) و لكن خاتمة رسالتك ألغت ما قبلها .

** الخاتمة أغلقت الباب بوجه الجميع إلى غير رجعة " إلا من أراد " ، و هي مشكلة حذّر منها جميع المشرفين بمن فيهم الأستاذ العزيز Biskra .

*** لا زلت عند رأيي في المشاركة السابقة جملة و تفصيلاً بما في ذلك تمنياتي لك بدوام التوفيق. (-:

#7

أرجو من أخي صالح عدم الزعل, و انا أؤيدك في جزئية غلق الباب و الفائدة في المناقشة الهتدئة و التي تحل المشكلة و التي نتعلم منها الكثير.

السؤال انطلق من جزئية ربط الجداول و اذا بنا أمام برنامج للنشر الواسع.

أخي أبو مشعل هل جربت الحل الذي قدمه الأخ صلاح فهو سهل الفريق العربي للبرمجةارة "قاعدة البيانات الحالية" هي المفتاح فهي تغني عن طريق الربط اليدوي أو البحث عن مسار الملف ربما المسألة تحتاج الى توضيح بالنسبة للطريقة فقط.

#8

أخي أبو مشعل بعد تنزيل الملف الذي أرفقته في مشاركتك رقم 5 و بعد تجربته فوجدته يعمل بصفة جيدة , اذ بعد عملية ربط الجدول بعد أن غيرت المسار قمت بتنفيذ استعلامات الالحاق بين الجدولين و العكس عمل بصفة عادية و هذا مطلبك حسب ما أعتقد.

قم بتجارب بسيطة للتأكد ووزع برنامجك و سوف يعمل عاديا ان شاء الله.

#9

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

افتح نموذج1----------> قم بنقل سجل أو أكثر منه إلى نموذج2-------> اغلق نموذج1 ثم افتح نموذج2 وقم بإستعادة سجل واحد إلى نموذج1------>اغلق نموذج2 وافتح نموذج1 حاول إضـــــــــــــافة سجل <-------- تبدأ المشكله هنا أي عند إضافة سجل جديد سوف يتم إنشاء قيمه مكرره في المفتاح الإساسي.

------------------------------

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

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…