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

تعقيب على السؤال (أجراء العمليات الحسابية في الجدول)

بدأه pms في 11 أبريل 2012 · 3 رد · 3,132 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

أشارة لإجابة المربية المتألقة والمبدعة (أم عهود) حفظها الله: للمشاركة بعنوان العمليات الحسابية في نموذج هل يمكن عكس النتائج في الجدول

اقتباس

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

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

وأنت ترى أخي وأختي القارئ/ـة إن من أسرار بنية وتركيبة Access97 ، Access2000-2003 ، Access2007 أن جداوله خالية من أمكانية أجراء العمليات الحسابية داخل الجدول (مرة أخرى) أوأكد داخل الجدول

(هل فطنتم لذلك؟) إلا بالحيّلة والإستدارة كـ (استخدام النموذج أو بناء الأكواد).

هذا كلام جميل

ولكن .. مما زادني في الأمر حيرة وذهولاً أن الإصدار Access2010 قد أضيفت لجداوله خاصية (إجراء العمليات الحسابية)

وبما أني لا أملك الإصدار 2010 حتى أتمكن من إدارك الأمر (ولكن هي مجرد صورة شاهدتها) فهل يتكرم من يملك الإصدار الإفادة عن ذلك

والأمر يدعوا للتساؤل: كيف لشركة مايكروسوفت (بعد أن تطبّعنا بطبعها/ عدم أجراء العمليات الحسابية داخل الجداول - كـ أجراء سليم) إذ بها تقلب المفاهيم رأس على عقب

وتجعل في أصدارها Access2010 أمكانية احتساب قيم حسابية للحقول داخل الجدول (كما يتضح من الصورة أدناه)

post-129354-004757100 1334169114_thumb.p

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

هذا مثال أجنبي: .. حيث عقب صاحب المقالة بقوله:

اقتباس
Just choose Calculated in the data type, and Expression appears below it. Type the expression. Access will then calculate it each time you enter your record.

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

اقتباس
This may seem simple, but it creates more problems that it solves. You will quickly find that the expressions are limited. You will also find it makes your database useless for anyone who needs to use it in Access 2007. Instead of reading the data, they will get a message like this:

((وصورة شاشة الخطأ .. موقعها هنا .. لكنها هربت مني لأسفل المشاركة // فمنكم العذر والسموحة))

post-129354-028675100 1334169899_thumb.p

ثم يستطرد في التعقيب بقوله:

اقتباس
Even more serious, the calculated results are not reliable. If you change the Expression after data has been entered into the table, the existing results may not be updated correctly (through new records are edits are updated), so you cannot rely on the results. A compact/repair does not recalculate, so there is no obvious way to repair the bad results.

Since you cannot index calculated fields anyway, there is no performance benefit to be gained from using them. You are violating fundamental rules of data normalization for no good purpose. We recommend you use queries for calculated fields, just as in previous versions.

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

أرجو الإفادة منكم

بارك الله لكم في أوقاتكم وأعماركم

أبومحمد

المرفقات
CalcField2010.pngCalcFieldsIncompatible.png

تم تعديل هذه المشاركة بواسطة pms في 11 أبريل 2012 في 22:15

1
#2

سؤال جيد

#3

اخي واستاذي الفاضل ابو محمد

وبقية الأخوة الكرام

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

دعونا نلقي بعض الضوء على هذا النقاش الهام حول هذا الموضوع

كلنا يعلم علم اليقين ومن الأمور المسلمة بها نظريا وعمليا ومن القواعد الأساسية لقواعد البيانات هي عدم اجراء اي عمليات حسابية في الجداول بدأ من اكسيس اصدارة رقم ( 2 ) وحتى اكسيس 2007

ولا زالت وستزال هذه النظريه قائمه لا غبار عليها ولكن ما الذي حدث مع اكسيس 2010 ؟؟؟؟؟

طبعا مع التطور الكبير والتغييرات المصاحبة لإصدار Microsoft Access 2010 و تكاملها مع SharePoint حدثت بعض الأمور الجوهريه من قبل مطوري برنامج الأكسيس 2010 فتم اضافة خصائص وانواع بيانات جديده للحقول لم تكن معروفه اساسا من قبل في نسخ برنامج الأكسيس السابقة ولكن بكل اسف واقولها صادقه ان كل هذه الإضافات والتغييرات فقط مع نسخة الأكسيس 2010 اي مع نفسها فقط لاغير ولا تتعدى الى النسخ الأخرى ولهذا لن ولن تستطيع تشغيل نسخة اكسيس المعمولة على اكسيس 2010 على اي اصدار اخر من نسخ الأكسيس والسبب بكل بساطة ان بعض انواع البيانات او الخصائص غير متوفره وغير متاحة نهائيا في النسخ السابقة والتي تريد تشغيل القاعدة عليها وإن رغبت في تشغيل هذه القاعدة على اي نسخة من نسخ الأكسيس فسوف تظهر لك رساله مفادها ان بعض الحقول وانواع البيانات يجب تشغيلها على اصداره رقم 14 ( اي النسخة رقم 14 من الأكسيس والتي هي بالطبع نسخة 2010 )

دعونا نأخذ مثال على نوع البيانات للحقول في جداول النسخ السابقة وجداول النسخة 2010 سنجد هناك تطور على سبيل المثال الحقل المحسوب Calculated Field

post-15367-003957600 1334184988_thumb.gi

طبعا هذا الحقل لا يوجد في اي من النسخ السابقه وحتى في اقرب نسخة للأكسيس 2010 وهي النسخة 2007 ولهذا قد نجد في النسخ القادمة من نسخ الأكسيس مثلا نسخة 2012 او 2014 انه قد تم ادراج نوع جديد من انواع البيانات وهو ActiveX controls فهذا غير مستبعد او قد تظهر انواع بيانات اخرى ليس موقعها في الجداول .

ولهذا السبب نجد ان نسخة الأكسيس 2010 تستطيع تشغيل جميع نسخ الأكسيس لأن انواع البيانات التي بها شاملة لجميع النسخ .

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

post-15367-021160600 1334185049_thumb.gi

من هذا المنطلق نؤكد ان نسخة الأكسيس 2010 ليست كباقي النسخ نظرا للتطور الكبير الذي حصل بها مما يعني أن الحقل المحسوب سيعرض نتيجة الحساب بوضع للقراءة فقط ( Read-only ) وهذا يقودنا الى أن المستخدم لا يمكنه التلاعب بالأرقام الناتجة

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

لمزيد من المعلومات عن الحقول المحسوبه في اكسيس 2010 راجع هذا الرابط

http://msdn.microsoft.com/en-us/library/ff945943.aspx

بالتوفيق

المرفقات
T3.gifT4.gif
1
#4

معلمتي الفاضلة/ (زهرة المنتدى)

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

أشكرُ لكي تلطُفُكِ بالردِ المؤصلُ المُستنطِقُ للحقائقِِ والقواعد الكلية الشمولية لـ Access من رؤى خبيرة (عريقة التجربة) عايشت السيرة التاريخية لنشأة حقيبة الأوفيس مما يزرع في القلب الارتياح والاطمئنان.

أختي: الخبيرة.. إنّ المتتبعَ لتطوراتِ شركةِ Microsoft Office لا تخفى عليه النوايا التسويقية النفعية كهدف أساسي للشركة يسبق الأهداف الأخرى. لذا ليس من المفاجئ لنا (نحن المستخدمون) التغييرات في الإستراتيجيات الأساسية لبُنيةِ أيُ منتجٍ من Microsoft Office كأجراء متعمد من قبل الشركة لجرنا في دوامة (التحديث والتطوير) حتى يُغيب المنتج الأساسي الذي امتهناه وبرعنا به بعد حين من الدهر إلى قالبٍ جديدٍ قدْ يُطابقُ أساسَ (البرنامج) الذي نستخدمه أو يجانبه بعيداً.

ما حدث في بيئة VB , C# , C++ وخطوات التطوير المفاجئ وصولاً إلى DOT.Net ولا نعلم ماذا خبئ للمستقبل

أقصِدُ أن ما تفضلتي به من حتمية التكامل في جميع التطبيقات SharePoint أو OpenDoc قد يدفع بنا يوماً أن نكون أخر ركب القافلة لسبب قد يصح وهو أنتاج بيئة تشغيلية WINDOWS

لا تقبل الإصدارات القديمة من البرامج مثل Access الإصدارات 2 حتى 2007، أو مثل Microsoft Visual Studio 2005 ، 2008

فيذهب ما تعلمناه هباء منثورا، وتبدأ عجلة التعلم من جديد.

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

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

تقبلي مني ولجميع الزملاء أصدق تحياتي ودعواتي

لكي مني: +1 وألف مليون تحية معطرة

أبومحمد

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

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

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

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

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