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

المساعدة في تصميم وحدة نمطية

مغلق
بدأه أبو منتظر في 28 سبتمبر 2006 · 15 رد · 1,164 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بعد التحية والسلام

الأخوة و الأخوات ذوي الخبرة الأعزاء

هل من الممكن تصميم وحدة نمطية

يتم وضعها في كود حدث عند الفتح لنموذج ما

يقوم بتحويل خاصية (locked)كل مربعات نص هذا النموذج

إلى True دفعة واحدة وذلك بعد تاريخ معين يتم تحديده في هذا الكود.

الغرض من ذلك هوعدم تمكين التحرير لهذا النموذج من قبل أي شخص بعد هذا التاريخ .

مع الشكر الجزيل مقدما

أبو منتظر

#2

بعد التحية...

كل عام وانتم بخير..

يمكن كتابة الكود تحت حدث عند فتح النموذج...كما يلي:

1- افترض ان مربعات النص بالنموذج هي A - B - C

2- افترض ان التاريخ المحدد هو 28/11/2006 - بعده لن يسمح بالتعديل...

3- الان اكتب الكود التالي تحت حدث "عند الفتح".....

If Date > 28 / 11 / 2006 Then
A.Enabled = False
B.Enabled = False
C.Enabled = False
End If

تحياتي....

طبتم واهتديتم :)

===================================

إقرأ معي

رابط متجدد لكتاب أقرؤه فشاركني فيه

======

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

الكتاب :

حسين الموسوي - لله تم للتاريخ ، كشف الأسرار وتبرئة الأئمة الأطهار

اضغط على الصورة لتحميل الكتاب

%E1%E1%E5%20%CB%E3%20%E1%E1%CA%C7%D1%ED%CE.jpg

-----------

كتب سابقة

سعد الدين الشاذلي - مذكرات حرب أكنتوبر

#3

اخي الفاضل ايهاب عثمان

اخي الفاضل ابو منتظر

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

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

لهذا نضع هذا الكود في النموذج

Public Function NoEditAfterDate()
Dim Ctrl As Control
For Each Ctrl In Me.Controls
If Ctrl.ControlType = acTextBox Then
If Date > 28 / 9 / 2006 Then
Ctrl.Locked = True
End If
End If
Next Ctrl
MsgBox "اخي ابو منتظر لا يمكن التعديل بعد هذا التاريخ"
Me.Undo
End Function

طبعا تستطيع تغيير التاريخ في الوظيفة الى التاريخ المطلوب

ثم نقوم بإستدعاء الوظيفة في النموذج عند حدث الحالي او عند الفتح او قبل التحديث فإختر ما شئت طالما الوظيفة موجوده

Private Sub Form_Current()
Call NoEditAfterDate
End Sub

وهذا مثال عملي

No_Edit_After_Date.rar

اختكم

زهره

تم تعديل هذه المشاركة بواسطة zahrah في 28 سبتمبر 2006 في 20:48

#4

تعديل بسيط على الكود ..

حاول تغير التاريخ من ساعة النظام لترى سبب التعديل

No_Edit_After_Date1.rar

تم تعديل هذه المشاركة بواسطة fahad في 29 سبتمبر 2006 في 00:41

#5

شكراً للأخوة الأعزّاء وللأخت المشرفة المحترمة على الردود

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

أبو منتظر

#6

بعد التحية والسلام

الأخت المشرفة الفاضلة

بصدد الملف No_Edit_After_Date

بعد قيامي بتغيير التاريخ في الوحدة النمطية إلى الأمام وهو 30 / 12 / 2006 (مثلا )

فأن خاصية LOCKED لاتزال

مفعّلة في الوقت الذي يجب أن تكون غير مفعّلة لأن تاريخ اليوم هو قبل التاريخ الشرطي الآنف الذكر

المدون في الوحدة النمطية .

هل هناك إشكال في نظرك ؟

أرفق الملف بعد التعديل

مع الشكر الجزيل مقدما

أبو منتظر

#7

اخي أبو منتظر...

التعديل الذي تدريد تجده في مشاركتي السابقة فقد قمت بالتعديل المناسب ...

ولتعذرني الاستاذة زهرة على هذا التدخل

كل ما عليك هو ان تغير التاريخ الذي تراه مناسب لغلق النموذج من داخل الكود

اخوك

#8

بارك الله فيك اخي فهد على التعديل

ولا يوجد لديك مشكله فكلنا اخوة هنا نتعلم من بعضنا وكل منا مكمل للاخر

اخي ابو منتظر

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

#9

الأخ العزيز فهد المحترم , ألاخت المشرفة المحترمة

بعد الشكر الجزيل

جربوا بأنفسكم وضعوا تاريخاً لعدم إمكانية التعديل بعده (في الشهر العاشر مثلاً)

ولكن الخاصية تبقى مغلقة في الوقت الذي يفترض فيه أن تكون مفتوحة من الآ ن إلى ذلك التاريخ !!!!

هل هناك إشكال في الكود؟

أخوك أبو منتظر

#10

جرب هذه الملف

وارجوا اخبارنا عن عمله او لا..

No_Edit_After_Date1.rar

#11

اخي الفاضل ابو منتظر

اخي الفاضل فهد

تم بحمد الله وتوفيقه التوصل للاجابة الصحيحة للمشكله وقد كانت انه يجب تعريف التاريخ اي يجب ان يكون بين # # ليعطي نتائج صحيحه

الان هذا المثال جاهز قم بالتجربه سواء تقديم التاريخ من الجهاز لعدد من الايام او الاشهر وانظر النتيجه

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

No_Edit_After_Date_UP.rar

ارجو التجربه وابلاغنا بالنتيجه

#12

رائع ....100%...

تعمل بشكل ممتاز....

ألف شكرا استفدت كثيرا من هذه التجربة ألف شكر يا مشرفتنا ... زادك الله علما..

#13

بعد التحية والسلام

الأخت المشرفة الفاضلة , الأخ العزيز فهد

مشكورين على هذه الجهود, وبارك الله فيكم

ولكن هناك إشكال بسيط في حقل اليوم المحصور بين التنسيق # #

حيث أن اليوم الذي مقداره

أكثرمن 12 , أي 13 فما فوق فأن اليوم يصبح شهرا ً والشهر يصبح يوما ً

أي لوجعلنا التاريخ 23 /9 يصبح التاريخ بعد النقر على الرقم ينقلب ليصبح 9/ 23

ماهو السبب برأيكم ؟

مع الشكر الجزيل مقدما

أبو منتظر

#14

اخي الفاضل او منتظر

الوضع الطبيعي لهذه العلامة # مع التاريخ هو mm/dd/yyyy يعني الشهر اولا ثم اليوم ثم السنه .

وتسمى هذه المشكلة الصغيره Bug اي عيب في برنامج الاكسيس وخاصة مع استخدام علامة # مع التاريخ حيث يتم قلب التاريخ وخاصة اليوم اذا زاد عن 12 للخانة التي بعدها فبدلا من ان يكون التاريخ هكذا 2006/10/13 يصبح 2006/13/10 وليس لهذه المشكلة اي تأثير على النتائج

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

Global Const JetDateFmt = "\#mm\/dd\/yyyy\#;;;\N\u\l\l"

ثم يستخدم التنسيق التالي لتعديل التاريخ

Format$(date, JetDateTimeFmt)
#15

بارك الله فيكِ أستاذتي الفاضلة

رُزقتِ تمام العافية وحسن العاقبة

أبو منتظر

#16

بعد اذن الاخت زهرة

تعديل بسيط لعل فيه فائدة

تحياتي

ZAHOF

Test.rar

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

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

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

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

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

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