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

هل يمكن المقارنة بين كائنات قواعد البيانات؟ ..

رائج
بدأه Mohamed Nada في 19 أكتوبر 2009 · 87 رد · 7,683 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

إخوانى الأحباء ..مرحباً بكم فى سؤال جديد خطر على بالى اليوم بعد أن جلست أدقق بين إصدارين من قاعدة بيانات الموظفين لمعرفة أى الكائنات أحدث وأى التعديلات هى الأحدث:

عفواً للمقدمة الطويلة

نأتى للسؤال:هل من الممكن عمل مقارنة بين كائنات قاعدة البيانات كلها بما يقابلها من كائنات مماثلة فى قاعدة بيانات أخرى؟

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

post-29007-1255975826_thumb.jpg

هل من الممكن الوصول إلى كود يضع لنا فى جداول أسماء الكائنات فى القاعدتين المقارن بينهما .. وتاريخ آخر تعديل لكل كائن وساعة التعديل يكون كل طرف فيها كالصورة أدناه؟

post-29007-1255975850_thumb.jpg

ويكون الجانب الآخر مثله

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

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

تحياتى

محمد ندا

تم تعديل هذه المشاركة بواسطة Mohamed Nada في 19 أكتوبر 2009 في 21:13

... بقمة السعادة .. أعود بإذن الله لصحبتكم الرائعة قريباً ...

#2

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

مرحبا بالأخ محمد ندا ... ما أكثر الكائنات حين تعدهم لكنهم في النائبات قليل :lol:

طلبك الذي أوردته جميل

والأجمل أنه ممكن التحقيق عمليا وبرمجيا

أنا عملت مثال على السريع .. لكن اريد أمثلة منكم من الجميع بلا استثناء

والهدف هو الوصول لذات الحل بأكثر من طريقه .. مرفق صورة ماتوصلت

اليه حسب فهمي لطلبك

قائمة تحتوي على اسماء الكائنات في قاعدة البيانات ملحق بها وقت وتاريخ

انشاء ذلك الكائن ووقت وتاريخ أخر تحديث له :wub:

كل الكائنات المعروفه ( جدول استعلام تقرير ماكرو مودويل )

هذه صوره .. ثم سأضع المثال .. ثم سنحاول التطوير بأفكاركم وعملكم وفقكم الله

post-62347-1255980408_thumb.gif

المثال في المرفقات

والسلام عليكم ورحمة الله .. أخوكم : اكسيرالحياة

EK_DATA.rar

تم تعديل هذه المشاركة بواسطة اكسيرالحياة في 20 أكتوبر 2009 في 15:25

#3

أخى الحبيب إكسير

طبعاً

اقتباس
والأجمل أنه ممكن التحقيق عمليا وبرمجيا
بل والأجمل أن هناك من الأساتذة مثل إكسير الحياة من يقوم بكل ما هو ممكن .. بل وأحياناً ما بعد الممكن للوصول لهذه الإجابات الإبداعية.
اقتباس
كل الكائنات المعروفه ( جدول استعلام نموذج تقرير ماكرو مودويل )
حتى الآن رائع .. وفى انتظار المثال .. ثم نخطو الخطوة التالية وهى:

تحديد إثنين من قواعد البيانات لدينا وتطبيق هذا المثال الرائع عليهما معاً لنقارن بينهما بالعين البشرية أولاً .... ثم:

إذا استطعنا أن نجعل التطبيق يقوم بإبراز الأحدث من كل متقابلين بتلوين الإسم بلون معين أو تلوين خلفيته أو جعله بخط ثقيل Bold أو أى أشكال التمييز.

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

تم تعديل هذه المشاركة بواسطة Mohamed Nada في 19 أكتوبر 2009 في 22:57

... بقمة السعادة .. أعود بإذن الله لصحبتكم الرائعة قريباً ...

#4

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

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

تقبلوا تحياتي :D

dbcompare.rar

من مواضيعي

برنامج للكفالات والأقساط

برنامج لإدارة مؤسسة نقل الطالبات

بـــــرنامج الصراف الآلي

_______________________

سبحان الله وبحمده سبحان الله العظيم

#5

أخى الكريم dbprog

مرحباً بك وبمشاركتك الإيجابية.

ونحن معاً خطوة خطوة للوصول لأداة جيدة إن شاء الله بمشاركة الأساتذة.

تحياتى

محمد ندا

▲ 1

... بقمة السعادة .. أعود بإذن الله لصحبتكم الرائعة قريباً ...

#6

أخى إكسير

ننتظر مثالك .. حتى نتقدم للخطوات التالية.

محمد ندا

... بقمة السعادة .. أعود بإذن الله لصحبتكم الرائعة قريباً ...

#7
Mohamed Nada كتب:
أخى إكسير

ننتظر مثالك .. حتى نتقدم للخطوات التالية.

محمد ندا

:lol: مثالي مرفق من اول امس .. أنظر اعلاه

وهو لايختلف عن مثال الاخ الكريم dbprog نفس الفكره

لكن نحتاج الى افكار اخرى !

#8
اقتباس
مثالي مرفق من اول امس .. أنظر اعلاه

أعتذر أخى عن هذا الخطأ (العتب على النظر) كما نقول فى مصر :( :eek:

ولكنى أنظر للمشاركات الحديثة ولذلك لم أكتشف أنك أضفت المرفق فى المشاركة الأولى

دعنى أرى المرفق وأعود إليكم

تحياتى

محمد ندا

تم تعديل هذه المشاركة بواسطة Mohamed Nada في 21 أكتوبر 2009 في 22:46

... بقمة السعادة .. أعود بإذن الله لصحبتكم الرائعة قريباً ...

#9

أخى إكسير

إخوانى الأحباء

اقتباس
لكن نحتاج الى افكار اخرى !
هذه فكرة مستوحاة من مرفقاتكم .. لعلها تجد طريق:

ممكن تتفرجوا معايا على التمثيلية التالية؟؟؟ ..

وبدون ملل لو تكرمتم (ممكن أعزمكم على كابتشينو :) بس اتفرجوا للآخر.

تم عمل ثلاثة ملفات

الأول: وهو الرئيسى واسمه Master وهو الذى سيقوم (فى المستقبل يعنى) بعملية المقارنة

الثانى: نموذج كمثال على قاعدة البيانات المقارنة الأولى Target01.

الثالث: نموذج كمثال على قاعدة البيانات المقارنة الثانية Target02.

نشرح أولاً الثانى والثالث

وهما متماثلان إلا بعض الأشياء التى غيرتها يدوياً لزوم البروفة.

وبهما نموذج فيه زر للخروج لا حظ أن هذا الزر يقوم بوقف التحذيرات وتشغيل إثنين من الماكرو .. لماذا؟؟؟

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

نأتى الآن للملف الرئيسى Master

عند بداية تشغيله تجد نموذج المقارنة وفيه يمكننا إستدعاء إثنين من قواعد البيانات (جرب تشغيل المقارنة قبل إختيار قاعدة البيانات واحدة بعد واحدة ستجده يرفض التكملة).

جرب أيضاً فتح نفس القاعدة فى اليمين واليسار فى كلا مربعى النص .. سيخبرك أنك تحاول مقارنة القاعدة بنفسها.

بعد الإختيار وبالضغط على زر المقارنة .. سيتم إظهار نموذج المقارنة الذى يستمد بياناته من استعلام يقوم بالمقارنة بين الكائنات.

حتى الآن التمثيلية كويسة .. فين المشكلة ؟؟؟؟

المشكلة إنى واخد الجدولين بتوع البيانات إستيراد من القواعد التى سنقارنها بشكل يدوى

لأنى مش عارف كيف بعد ما استدعيت قاعدة البيانات الأولى والثانية أجعل المقارنة تتم بين الجدولين الذين يحملان نفس الإسم وهما Tbl_DBase_Objects.

أو كيف ننسخ منهما البيانات ونضعها بالجدولين مصدر الاستعلام الذى يقارن بينهما بالقاعدة Master.

يمكننا وضع إجراء تفريغ الجدولين مصدر الاستعلام بالقاعدة Master وهذه سهلة عند تحميل القاعدة (لا مشكلة).

وإذا تمكننا من إعادة ملئهما بمحتويات الجدولين من قاعدتى البيانات تارجت 1 .. و تارجت 2 .. نكون قد وصلنا إلى 80% من العمل.

ويبقى بعدها بعض التكملة من التشطيب وعمليات مشابهة.

وهاهى المرفقات قبل أن يغتالنى كل من يقرأ ويتفرق دمى بين المنتديات.

محمد ندا

Compare_2DBases.rar

تم تعديل هذه المشاركة بواسطة Mohamed Nada في 22 أكتوبر 2009 في 01:51

... بقمة السعادة .. أعود بإذن الله لصحبتكم الرائعة قريباً ...

#10

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

أخي محمد شكرا مقدما على الكابتشينو اللي لسا ماشربتوش :lol:

فعلا فكرتك جملية وفتحت عيوني على فكرة وهي انو احنا في الأساس محتاجين البيانات الموجودة في جدول MSysObjects للقاعدتين طيب ليش

مانعمل link على هذا الجدول بالتحديد لكل من القاعدتين وبعد كذا نعطي link مسمى مثلا db1 و db2 وبعد كذا نعمل إستعلامتنا على الجدولين

بحيث يكون من المعلوم ان الجدول db1 للقاعدة الأولى و db 2 للثانية وكذا بالنسبة للإستعلامات q1 و q2 ونعمل إستعلام يربط بين الإثنين

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

تقبل تحياتي

dbcompare.zip

من مواضيعي

برنامج للكفالات والأقساط

برنامج لإدارة مؤسسة نقل الطالبات

بـــــرنامج الصراف الآلي

_______________________

سبحان الله وبحمده سبحان الله العظيم

#11

أخى dbprog

مرحباً بك وبالأفكار الجميلة

ما تفضلت به هو تقريباً ما نريد أن نصل إليه .. ولكن تبقى المشكلة قائمة وهى:

أننا نريد الكود أو الطريقة التى نتصل بها مباشرة بقاعدة البيانات والجداول المطلوبة (وهى كما تفضلت جداول النظام) .. ووضعها بالقاعدة التى تقوم بعمل المقارنة .. ثم إتمام عملية المقارنة بينها.

تحياتى

محمد ندا

... بقمة السعادة .. أعود بإذن الله لصحبتكم الرائعة قريباً ...

#12

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

أخي محمد ممكن توضيح أكثر لإني مافهمت ، بالطريقة التي ذكرت سابقا إنت حتكون متصل بقواعد البيانات التي تريد إجراء المقارنة عليها بشكل مباشر وال db1, db2 هي جداول النظام في كلا من القاعدتين جرب ان تقوم بإضافة كائن جديد وسترى النتيجة مباشرة عن المقارنة

هذا مافهمت من طلبك وإذا كان المقصود غير ارجوا التوضيح بالتفصيل .

شكرا

من مواضيعي

برنامج للكفالات والأقساط

برنامج لإدارة مؤسسة نقل الطالبات

بـــــرنامج الصراف الآلي

_______________________

سبحان الله وبحمده سبحان الله العظيم

#13

أخى dbprog

واضح أنه كانت لدى مشكلة فى الأكسس منعت مرفقك من العمل بشكل جيد ، الآن أقوم بالتجربة مرة أخرى على أحد أجهزة المنزل الأخرى لأرى كيف يعمل.

تحياتى

محمد ندا

... بقمة السعادة .. أعود بإذن الله لصحبتكم الرائعة قريباً ...

#14

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

جهود جباره ومن عمالقة الاكسيس

لانستطيع القول الا ان يوفقكم ربي في كل ماتعملون

نقول الى الغاليه

أم عهود زهرة الأكسيس بدون منافس

للنجاحات أناس يقدرون معناها ، وللإبداع أناس يحصدونه

لذا نقدّر جهودك وابداعك، فأنتِ أهل للشكر والتقدير ..

فلكِ منا كل الثناء والتقدير

#15

اخوانى الاعزاء

تابعت المناقشة الشيقة فى الموضوع

و اريد ان اضيف هذا المثال للمقارنة بين جداول القاعدتين ليس من حيث تاريخ الانشاء و التعديل بل من حيث بناء الجدول نفسه

و اتمنى ان تفيد

اقتباس
أننا نريد الكود أو الطريقة التى نتصل بها مباشرة بقاعدة البيانات والجداول المطلوبة

اعتقد ان الحل الذى قدمه الاخ dpprog هو حل جيد (بربط الجداول من القاعدتين)

و لكن لى ملاحظة على مرفق الاخ محمد ندا و مرفق الاخ dbprog

ففى مرفق الاخ محمد ندا يتم مقارنة قاعدة بالاخرى (اى انه لو ان هناك جداول فى القاعدة الاولى غير موجودة فى القاعدة الثانية لن تظهر فى عملية المقارنة )

و نفس الشىء تقريبا بالنسبة للاخ dbprog و لكن فى القاعدتين معا (اى انه لو ان هناك جداول فى اى من القاعدتين غير موجودة فى القاعدة الثانية لن تظهر فى عملية المقارنة )

و لذلك لابد من ضبط الاستعلام المبنى عليه نموذج المقارنة

MrNo_tblcomp.rar

تم تعديل هذه المشاركة بواسطة mrnooo2000 في 23 أكتوبر 2009 في 19:01

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

#16

أخى Mr No

ما تفضلت به من أن الأداة التى نحاول الوصول إليها حتى الآن لم تقوم بمقارنة الجداول الموجودة فى القاعدة الأولى وغير موجودة بالثانية .. وهذا ما نحاول التوصل إليه الآن .. ولكن لاحظ التالى:

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

post-29007-1256315757_thumb.jpg

ما زلنا نحتاج إلى أفكار ومشاركات لنصل للأداه المطلوبة.

تحياتى

محمد ندا

تم تعديل هذه المشاركة بواسطة Mohamed Nada في 23 أكتوبر 2009 في 19:37

... بقمة السعادة .. أعود بإذن الله لصحبتكم الرائعة قريباً ...

#17

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

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

أخي مستر نو شكرا لك على الملاحظة فعلا الإستعلام يحتاج إلى إعادة ضبط .

تقبلوا تحياتي

من مواضيعي

برنامج للكفالات والأقساط

برنامج لإدارة مؤسسة نقل الطالبات

بـــــرنامج الصراف الآلي

_______________________

سبحان الله وبحمده سبحان الله العظيم

#18

الاخ محمد ندا

dbprogالاخ

اسمحوا لى بدمج مشاركتيكما الاخيرتين مع تعديل بسيط ليتم مقارنة قاعدتى بيانات معا

تم التعديل على الاستعلام ( استعلام توحيد) ليعرض جميع كائنات القاعدتين فى وقت واحد

و لكن اعتقد ان الموضوع هكذا لم يكتمل و يجب ان نتعمق اكثر فى عملية المقارنة (للجداول على الاقل) حتى نكون قد حصلنا على اداة مقارنة جيدة لا مجرد مقارنة تاريخ الانشاء و تاريخ التعديل

last_compare.rar

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

#19

أخى Mr. No

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

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

بالنسبة لموضوع التطوير .. فما زال الموضوع مفتوحاً لأى تطوير وأفكار .. ولكن الآن لدينا أداة لمقارنة كائنات قاعدتى بيانات.

تعديل:

تمت تجربة المرفق على السريع .. وهو بعمل بشكل جيد جداً

تمت بعض الإضافات البسيطة على الشكل ليوضح الأحدث من الكائنات وما ليس له مقابل بالألوان.

تم وضع نفس كود زر اختيار قاعدتى البيانات لحدث النقر المزذوج فى مربعى قاعدتى البيانات.

تحياتى

محمد ندا

last_compare_UP.rar

تم تعديل هذه المشاركة بواسطة Mohamed Nada في 27 أكتوبر 2009 في 01:49

... بقمة السعادة .. أعود بإذن الله لصحبتكم الرائعة قريباً ...

#20

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

أخي الكريم شكرا لك على دمج الأفكار التي وردت في المشاركة.

تحياتي

من مواضيعي

برنامج للكفالات والأقساط

برنامج لإدارة مؤسسة نقل الطالبات

بـــــرنامج الصراف الآلي

_______________________

سبحان الله وبحمده سبحان الله العظيم

#21
اقتباس
تمت تجربة المرفق على السريع .. وهو بعمل بشكل جيد جداً

تمت بعض الإضافات البسيطة على الشكل ليوضح الأحدث من الكائنات وما ليس له مقابل بالألوان.

تم وضع نفس كود زر اختيار قاعدتى البيانات لحدث النقر المزذوج فى مربعى قاعدتى البيانات.

أخي محمد ندا أنت رائع وفقك الله

#22

أخى الحبيب إكسير الحياة

الرائعون هم الأساتذة الذين تعلمنا منهم .. أقصدكم أنتم .. هذا أولاً.

وثانياً: الفكرة أنجزتموها أنتم .. أقصدك أنت أولاً .. ثم أخونا dbporg بمجهود رائع .. وتلاه بعد ذلك أخونا Mr Nooo بمثله .. (وأنا كان لى الدور الأكبر طبعاً .. وهو أننى أخذت النتيجة على الجاهز :) :) )

تحياتى لكم

محمد ندا

تم تعديل هذه المشاركة بواسطة Mohamed Nada في 27 أكتوبر 2009 في 21:44

... بقمة السعادة .. أعود بإذن الله لصحبتكم الرائعة قريباً ...

#23

شكرا الى جميع الاخوة

و ان كان الامر يحتاج الى المزيد من الجهد

تعديل بسيط على الشكل النهائى

last_compare.rar

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

#24
mrnooo2000 كتب:
شكرا الى جميع الاخوة

و ان كان الامر يحتاج الى المزيد من الجهد

تعديل بسيط على الشكل النهائى

تعديل هايل أخي mrnooo2000 بوركت اليد التي تبني

وفقك الله وأجزل لك المثوبه

#25

اشكرك اخى اكسير

و لكن الفضل يرجع الى الاخوة الذين شاركوا بجهودهم فى هذا المثال

و كتطبيق على هذه الاداة

خطرت لى فكرة تحديث البرنامج ( اى برنامج اكسس ) بالاعتماد على هذه الاداة

و ذلك بحذف الكائنات الاقدم و استيراد الاحدث بعد اجراء المقارنة بينها

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

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