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

كيفية منع التعديل بعد وقت محدد 24ساعة مثلاً


امير عاطف

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

قم بوضع مربع نص(Text Box) بنموذج ادخال اليبانات وليكن اسمةtxttime وقم بوضع السطر التالي لحدث بعد التحديث للسجل ...

txttime = Time
وقم بوضع الكود التالي لحدث الحالي لنموذج ادخال البيانات ...
Dim p As Date

p = Time

If Hour(p) - Hour(txttime) > 24 Then

   Me.AllowEdits = False

Else

   Me.AllowEdits = True

End If

رابط هذا التعليق
شارك

  • 6 months later...

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

لقد قرأت موضوع : منع التعديل بعد 24 ساعة الموجود في خلاصة دروس الأكسيس وعند التطبيق ظهرت لي رسالة الخطأ التالية:

تعذر العثور على الماكرو dim p as date... هذا الماكرو غير موجود ، أو أ، هذا الماكرو جديد ولم يتم حفظه..

فما السبب ؟ مع العلم أكسيس 2002 هو ما أطبق عليه وآمل مزيد من التوضيح وجزاكم الله خيرا

رابط هذا التعليق
شارك

أخي worker ..

1- أضف حقل من نوع تاريخ إلى الجدول وليكن اسمه WriteDate

2- ضع في خاصية القيمة الافتراضية لهذا الحقل القيمة now

3- في نموذج البرنامج ضع هذه الشفرة :

Private Sub Form_Current()
    If DateDiff("d", [WriteDate], Now()) >= 3 Then
        Me.AllowEdits = False
        Me.AllowDeletions = False
    Else
        Me.AllowEdits = True
        Me.AllowDeletions = True
    End If
End Sub

رابط هذا التعليق
شارك

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

تم تعديل بواسطه worker
رابط هذا التعليق
شارك

أخي Worker ..

أحمد الله أنك وصلت لمبتغاك ..

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

ولو كنت مكانك لقمت بشيء آخر ... وهو إضافة حقل آخر للجدول من النوع نعم/لا يشير إلى إمكانية التعديل في السجل وليكن اسمه FldAllowEdit بقيمة افتراضية True ،

وعند كل بدء تشغيل للبرنامج أقوم بتشغيل استعلام من شأنه وضع قيمة False لكل السجلات التي مضى على إنشائها 3 أيام فأكثر ..

ثم أضع هذا الحدث في النموذج :

Private Sub Form_Current()
   If [FldAllowEdit] Then
       Me.AllowEdits = False
       Me.AllowDeletions = False
   Else
       Me.AllowEdits = True
       Me.AllowDeletions = True
   End If
End Sub

رابط هذا التعليق
شارك

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

رابط هذا التعليق
شارك

أخي worker

في الأسلوب الثاني مجرد أن يمضي 3 أيام يتم قفل السجلات ..

إلا إذا قام المستخدم بتغيير تاريخ الجهاز قبل تشغيل البرنامج في اليوم الرابع وهذا احتمال ضعيف

أو أنك ستحتاج إلى قاعدة أخرى لحماية السجلات ( مثلاً بعد 5 مرات تشغيل البرنامج ) ..

رابط هذا التعليق
شارك

  • 17 years later...

سلام عليكم 

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

تم تعديل بواسطه صابر بصير سليمان
رابط هذا التعليق
شارك

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