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

التحكم في عملية الحاق البيانات

بدأه faife في 23 أكتوبر 2008 · 19 رد · 1,718 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

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

والمثال المرفق يوضح المطلوب .. مع خالص التحية والتقدير

stor.rar

#2

اخي العزيز

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

اليك المثال بعد التعديل وعو مازال بحاجة الى بعض التعديلات ليتناسب مع مايناسبك

تم اضافة حقل باسم "lastupdate" الى الجدول "t1" يحتفظ بتاريخ التقيم الاخير

وعند محاولة اجراء التقييم يقوم البرنامج بالتحقق من تاريخ التقييم الاخير فإذا لم يمر عام على التقييم الاخير يرفض العملية

والا يتم التعديل ويتم تعديل ياريخ التقييم الاخير

على كل حال اليك المثال ... جربه واعلمني بالنتيجة

اخوك ناصر المصاروة

stor.rar

شبكة سوارقريباً

Sewar

#3

بارك الله فيك اخي ناصر وجزاك خيراً

اخي faife

هذه طريقة اخرى بالتعديل على الاستعلام باضافة معيار ( استعلام فرعي )

ارجو ان يفيدك الحل ... فزيادة الخير بركة

stor.rar

#4

شكراً لك اخ يوسف

تعديل جميل ولكني اعتقدت ان الحقل المسمى"da1" من اجل تاريخ الالتحاق او تاريخ الميلاد فتسمية الحقل لاتدل على شيء ولم يتم وضع وصف لهذا الحقل ولذلك اضفت حقل "lastupdate"

بصراحة تعديلك ممتاز حيث ان سجلات الطلبة الذين تم تقييمهم لاتظهر اصلاً

والسلام عليكم

شبكة سوارقريباً

Sewar

#5

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

ولكم جزيل الشكر وخالص التقدير على جهودكم الرائعة...

#6

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

يبدو اننا لم نفهم عليك او انك لم تكن واضح

اليك المثال بعد التعديل

stor.rar

شبكة سوارقريباً

Sewar

#7

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

ولك خالص التقدير

#8

أخواني الأعزاء يبدوا انه لم يتم فهم المطلوب من موضعي وسوف احاول التوظيح

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

هذا ولكم خالص التقدر

#9

بارك الله فيكم اخواني الاعزاء

اخي faife

انظر التعديل وقم بالتجربة وان شاء الله يكون هو المطلوب

stor.rar

#10

بارك الله فيك اخي يوسف وزادك من واسع فضله عمل رائع وهو المطلوب بالفعل ولكن أخي عند تجربتي للمثال وجدت أنه يقوم بنقل جميع السجلات وليس السجل الحالي .... وبعد اطلاعي على الاستعلام وجدت أنه تم تغيير المعيار [forms]![f1]![num] الموجود في الحقل num وهو الخاص بنقل السجل الحالي فقط ... فهل يمكن حل هذه المشكلة .

مع خالص شكري وتقديري...

#11

الاخ الفاضلfaife

ارجو ان اكون قد وفقت في الحل علي الملف المرفق

stor.rar

شكراً لك اخي الكريم

#12

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

مع خالص شكري وتقديري لجهودكم

#13

تفضل اخي faife

stor.rar

#14

بارك الله فيك أخي الكريم يوسف احمد هذا هو المطلوب بالفعل ...

والشكر موصول لكل من اهتم بموضعي. مع خالص تقديري

#15

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

- وجدت ان الكود يمنع تكرار تاريخ التقييم ومستوى التقييم لجميع الحالات أي انه اذانقل بيانات الطالب حسن والتي هي تاريخ التقييم 10/11/1420 مثلا ومستوى التقييم مثلا 1 للأرشيف فإن البرنامج يمنع نقل نفس التاريخ ورقم المستوى لأي طالب أخر حيث يعتبر هذه القيمة مكررة وفي البرنامج يوجد طلاب اخرين قيمو في نفس التاريخ ولهم نفس المستوى ..... اتمنى من اخي يوسف مراجعة المثال لمعرفة الخلل ... مع خالص شكري وتقديري لجهوده المشكورة.

#16

بارك الله فيك اخي faife

ساحاول بإذن الله واساله ان يوفقنا الى الحل

لي استفسار وفكرة اذا سمحت لي :

هل انت تريد ان تعمل ارشيف لكل السجلات واذا تم تغيير في تاريخ التقييم ومستوى التقييم لسجل شخص ما يتم اضافته الى الارشيف .. سؤالي هو : هل ستعمل ذلك على الاشخاص جميعاً

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

قم بالتجربة على المرفق فهو للفكرة المذكورة اعلاه وانا في انتظار ردك

دمت بود

stor.rar

تم تعديل هذه المشاركة بواسطة يوسف احمد في 28 أكتوبر 2008 في 13:30

#17

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

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

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

أيي أنني اريد اريد..

اولا نقل بيانات السجل الحالي لأن التقييم لا يتم للجميع بل بعض الحالات بشرط الا يتم نقلها مرتين بالخطأ

ثانيا امكانية تكرار تاريخ التقييم ومستوى الحالة لعدة حالات عند النقل

مع خالص شكري وتقديري

#18

بارك الله فيك اخي العزيز faife

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

اولاً نقوم بعمل مربع نص غير منضم ونستخدم به الدالة DCount لحساب عدد السجلات بالجدول t2 والتي تتطابق حقوله الثلاثة بما هو موجود على النموذج f1

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

هذا ما توصلت اليه .. وارجو ان يكون هو مبتغاك ... وفي انتظار ردك

بالتوفيق

stor.rar

تم تعديل هذه المشاركة بواسطة يوسف احمد في 31 أكتوبر 2008 في 22:45

#19

تم عمل تعديل بسيط على المرفق السابق

المرفق الثاني به العملية كاملة بالكود ... ويتم فيها استبدال كود اعادة التهئية لمربع النص الغير منضم بحدث بعد التحديث لمربعي النص للتاريخ التقييم بـــــ كود الحفظ

stor.rar

stor.rar

تم تعديل هذه المشاركة بواسطة يوسف احمد في 1 نوفمبر 2008 في 11:36

#20

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

مع تحياتي للجميع

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