اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

الردود الموصى بها

قام بنشر

السلام عليكم ورحمة الله وبركاته 
اما بعد الحمد لله والحمد حقه كما يستحقه حمداً كثيرا
اخواني الاعزاء ....
شاهدت احدى قواعد البيانات تتكون من 6 جداول كل جدول بأسم مختلف عن الاخر ولكن يتمم بعضها البعض الاخر والفكرة في هذه القاعدة عند ملئ احد الخلايا الموجودة في الجدول تتنتقل البيانات كاملة الى الجدول الاخر بدون استخدام استعلام الحاق . فمثلا توجد معلومات في جدول port-fl  وبعد ادراج التاريخ في احدى خلايا هذا الجدول تتنتقل كل المعلومات الخاصة في هذا الحقل الى جدول اخر وهو جدول  city_fl  من عنده معلومات عن كيفية نقل هذه البينات بهذه الطريقة يتفضل بعرضها مشكوراً .
وكما بدأنا بالحمد نختم بالحمد فمن جعل الحمد خاتمة النعمة جعلها الله فاتحة المزيد " وبشكر تدوم النعم " 
لكم مني ارق التحية

قام بنشر

القاعدة ليست لي وهي محمية من النسخ ولكن استطعت تفكيكها على نفس الجهاز فوجدت انها تتكون من 6 جداول رئيسية والباقي كما مر بالشرح السابق وهي مصممةعلى الاكسس 2003 

قام بنشر

أخي الكريم

من الناحية الأدبية  , المنتدى لايقوم بدعم أية مساعدة لبيانات محمية أو غير مصرح العمل عليها ,

لكن كاجابة عامة و لاتختص بهذا الملف  , الجداول في أية بيئة برمجية سواء الأكسس أو الدلفي أو الأوراكل أو غيرها , هي بيئة تخزين بيانات فقط , و في حال الرغبة باجراء معين ( مثل نسخ البيانات كما في مثالك ) فلابد من استدعاء ماكرو أو وحدة نمطية تقوم بهذا الاجراء , و قد تكون مخفية بحيث لايراها أحد

و الجدول من تلقاء نفسه لايستطيع أن يقوم بذلك

و انشاء وحدة نمطية تقوم بالنسخ بسيطة و سهلة , و تجد أمثلة كثيرة لها في المنتدى , لكن السؤال هنا : ماهي الفائدة من عملية النسخ ؟

ان مجرد نسخ سجل من جدول لجدول آخر لاينصح به اطلاقا , لأن من مميزات قواعد البيانات أن تقوم باستدعاء بيانات مخزنة في جدول واحد , و لاداع لنسخها و تخزينها في جدول آخر عمليا

 

  • Like 1
قام بنشر (معدل)

السلام عليكم اخ رضوان 

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

ثانياَ :توجد هذه الطريقة في اصدار الافيس 2010 وما بعدها وهي تسمى ب ماكرو البيانات وهي شبية الى حد كبير ل triggers  في قواعد البيانات السيرفرية وكذلك توجد هذه الطريقة في الفوكس برو وتنفذ هذه الماكروات عند احداث معينة في الجداول وهي ليست عملية نسخ للبيانات بل نقلها من جدول الى آخر بحيث لاتوجد في الجدول السابق . 

ثالثا : ما زاد اعجابي بها انها صممت على اكسس 2003  

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

اقول قولي هذا واستغفر الله لي ولكم . وَمَا أُبَرِّئُ نَفْسِي ۚ إِنَّ النَّفْسَ لَأَمَّارَةٌ بِالسُّوءِ إِلَّا مَا رَحِمَ رَبِّي ۚ إِنَّ رَبِّي غَفُورٌ رَحِيمٌ 

تم تعديل بواسطه طاووس الوغى
قام بنشر

السلام عليكم

نورت استاذ رضوان ولك وحشة !

ايها الطاووس هل اتيت لتاخذ معلومات وكتلميذ ام اتيت لتسأل وتملي اجابات منها المنقول ومنها المغلوط !

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

وعندما طلب منك ارفاق القاعدة فالاخوة يريدون البنية فقط وبدون بيانات ! 

او على الاقل وري العالم اننا لانفهم وارفق صورة للعلاقات فقط ! خلينا نشوف العلاقات وكصورة فقط ! او ما اسميتها بالحقول المشتركة !

تحياتي

 

قام بنشر (معدل)

السلام عليكم

أهلا بك أخي رمهان و حياك الله

و أنا افتقدتكم كذلك و هي مشاغل العمل التي لا تنتهي

و شكرا على سؤالك

الأخ طاووس :

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

,و الجدول لا يستطيع فعل ذلك من تلقاء نفسه

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

لم تكن هذه الخاصية موجودة في الاصدارات السابقة

و هذا ملف أرفقته لك كمثال

و ليس عن طريق ربط الحقول كما ذكرت في مشاركتك الأخيرة

فليس لها علاقة هنا , بل أنت تحدد برمجيا ماتريده للنقل الى الجدول الآخر

 

في هذا المثال يوجد جدولين

Table1  - table2

افتح الجدول الأول

ثم تجد في الأعلى في شريط القوائم , أخر قائمة , جدول table

تجد تحتها من اليسار

table property

اتركها

ثم تجد خمسة ماكروات و هي المطلوبة

before change - before delete

و هي أوامر يتم تنفيذها قبل حذف سجل أو قبل تحديث سجل

ثم تجد ثلاثة أحداث بعد و هي :

after insert - after update - after delete

اختر أولا الحدث الذي يناسبك

هنا أنا اخترت حدث بعد الادخال

اضغط على الحدث لتظهر لك قائمة فيها خيارات عديدة تسطيع برمجتها حسب ماتريد
 

اخترت عند ادخال سجل جديد في الجدول الاول

و اذا كانت قيمة حقل التاريخ أكبر من 1 أغسطس 2015

يقوم بادخال سجل جديد في الجدول الثاني

و تسطيع كذلك اختيار أية حقول تريدها أن تأخذ قيمتها من الجدول الأول

لكن هذه الخاصية على أكسس 2010 , أما على أكسس 2003 فهذه لا علم لي بها

لأنه حتى لو قمت بحفظ الملف بصيغة 2003 فلن يعمل هذا الماكرو

 

Test.rar

تم تعديل بواسطه rudwan

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information