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

هل حصل تعديل على حقول النموذج ؟

مغلق
بدأه فهد الدوسري في 20 نوفمبر 2002 · 12 رد · 844 مشاهدة · في مراجعة المواضيع
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

أريد أن أضع زر أمر في النموذج إذا ضغطت عليه يخبرني بالآتي

إذا قمت بأي تعديل على أي حقل من الحقول في النموذج

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

وإذا لم أقم بأي تعديل على أي حقل من الحقول يخبرني بأنه لم يحصل أي تحديث أو تعديل للحقول

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

مثال

then الأمر_المطلوب if

"حصل تعديل"msgbox

else

"لم يحصل تعديل"msgbox

end if

هذا مثال لما أريده عند النقر على زر الأمر

أرجو أن يكون ذلك واضحاً

شاكراً للجميع تعاونهم

#2

مرحباً ..

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

if me.dirty then

"حصل تعديل"msgbox

else

"لم يحصل تعديل"msgbox

end if

جرب هذه الطريقة و أخبرني

أرجو أن أكون وفقت في الإجابة

#3

تعليق :

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

شكرا للأخ فينوس .

أشرف خليل

#4

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

#5

أخوي فينوس

أشكرك على تفاعلك وما قلته أنت هو ما قصدته أنا فعلاً وأشكر الأخ اشرف على تفاعله

ولكن لم يفلح الكود معي للأسف

حيث تخرج لي رسالة تفيد بالآتي

<<لقد أدخلت تعبيراً يتضمن مرجعاً غير صالح للخاصية dirty >>

فما هو الحل ؟؟

#6

الأخ سعودي أشكرك على إطراءك ..

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

فإذا كانت نسختك أكسس 97 فإن هذه الطريقة لا تعمل ..

و إذا لم يكن فربما يكون هناك مشكلة في أحد المراجع ..

على كل أرفقت مثالاً يوضح الفكرة ..

http://www.geocities.com/ousama_shaar2002/...2/Dirty2000.zip

مع التحية

#7

أيضا لدراسة التغيير فى حقل

لنفرض أن لديك حقل اسمه salary

If Me.Salary.Value = Me.Salary.OldValue Then
MsgBox "no change"
Else
MsgBox "Salary had been changed"
End If

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

او علي حقول منتقاة بمفردها

#8

الأخ أسامة

مثالك جميل و قد أضفته لموقعي ( مثال رقم 41)

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

أما ان كان المطلوب معرفة حدث تعديل أم لا بدون تحديد

فهو المثال الصحيح

هل يمكن معرفة مكان التغيير بهذه الطريقة ؟

أم نلجأ لطريقتي ؟

#9

أشكرك شكرا جزيلا أخوي فينوس

هذه الطريقة هي ما قصدتها فبارك الله فيك وجزاك خير الجزاء

كما أشكر أخوي واستاذي محمد طاهر وطريقتك هذه ربما أحتاجها في بعض البرامج فجزاك الله خير الجزاء

أخوكم : فهد الدوسري(سعودي31 سابقاً)

#10

شكراً جزيلاً لكم ..أطريتموني كثيراً ..

بالنسبة للأخ محمد طاهر سأحاول أن أعدل المثال باعتباري أنني اليةم هو أول يوم لي راحة منذ شهر بسبب التزاماتي ..

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

أشكركم مرة أخرى ..

#11

مرحباً

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

حمل الملف المعدل

مع التحية

#13

فعلاً فعلاً رهييييييييييييييييييب

وفقك الله

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

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