اذهب الي المحتوي
أوفيسنا

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

قام بنشر
14 ساعات مضت, sandanet said:

اليس من المفروض ان يرفض التفعيل مجدداً مادام البرنامج ساري المفعول؟؟

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

  • Like 1
قام بنشر

اخي صالح رقم النسخة لايتغير عندي بمرور الوقت لذلك فإن رقم التفعيل سيستمر بتفعيل نفس النسخة من جديد وهذا ما حصل معي عندما كانت المدة المتبقية 139 فعند اخذ رقم التفعيل من جديد تم تفعيل البرنامج واعطائي 140 يوم 

2 ساعات مضت, صالح حمادي said:

SaveSetting "mm", "nn", "nember_days", 0

ملاحظة اخرى .. اين يتم تطبيق هذا الكود؟؟ هل اطبقه تحت زر امر ام في مكان آخر؟؟

قام بنشر (معدل)
3 hours ago, Shivan Rekany said:

 

استأذن من استاذنا وصديقنا الحبيب @صالح حمادي 

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

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

استاذ شيفان العزيز

انا جربت الكلام ليلة امس قمت بتفعيله والان فعلت النسخه واعطاني مده جديده لنفس البرنامج ؟

تحياتي لك 

 

3 hours ago, صالح حمادي said:

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

 تحياتي لك استاذي الفاضل   

نسأل الله الصحة والعافية لك ولوالدك

كيف يمكنني ذلك اخي الفاضل انا جديد على برنامج الاكسس ؟

طريقة حماية رائعه بحق ولكن ينقصها كيفية عمل رقم اللوحة الام لان في رقم الهاردديسك يتشابه حسب ماقرأت في بعض الاسئله ؟

 هل يمكنك شرح الطريقه ببساطه 

عن طريق اللوحة الام او الهاردديسك .

تحياتي لك 

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

للإجابة على استفسارات الزملاء

البرنامج يعيد المدة الى ١٤٠ يوم مع استعمال كود تفعيل جديد.

* يرجع هذا لأنك تملك الملف الذي ينتج أكواد التفعيل بينما المستخدم لن يملكه.

ملحوظتي الشخصية بهذا الخصوص: كيف سيتم تغيير المدة بعد الفترة التجريبية؟! علما بأن الكود المسئول عن المدة في الملف المغلق عند المستخدم.

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

...........

هل يمكن الوصول لرقم المدة في الريجيستري؟

بالفعل يمكن الوصول له من مبرمج متمكن يعرف أين يتم تخزين القيم بواسطة الفيجوال بيسك للتطبيقات.

............

وأخيرا أتوجه إلى أخي الحبيب @صالح حمادي

بالتماس عدم الاعتماد على الريجيستري في تخزين كل البيانات.

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

وفقنا الله وإياكم لكل خير

  • Like 1
قام بنشر

استاذ محمد صالح انت قلت "البرنامج يعيد المدة الى ١٤٠ يوم مع استعمال كود تفعيل جديد" اعتقد ان هذا لم يحصل معي ومع اخي Aliko فانا استخدمت نفس كود التفعيل القديم واعطاني 140 يوم من جديد بعدما كان 139 يوم قبل استخدام كود التفعيل

قام بنشر
4 ساعات مضت, sandanet said:

ملاحظة اخرى .. اين يتم تطبيق هذا الكود؟؟ هل اطبقه تحت زر امر ام في مكان آخر؟؟

طبقه تحت زر أمر في أي مكان تشاء

4 ساعات مضت, Aliko said:

كيف يمكنني ذلك اخي الفاضل انا جديد على برنامج الاكسس ؟

طريقة حماية رائعه بحق ولكن ينقصها كيفية عمل رقم اللوحة الام لان في رقم الهاردديسك يتشابه حسب ماقرأت في بعض الاسئله ؟

 هل يمكنك شرح الطريقه ببساطه 

عن طريق اللوحة الام او الهاردديسك .

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

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

3 ساعات مضت, أ / محمد صالح said:

أخيرا أتوجه إلى أخي الحبيب @صالح حمادي

بالتماس عدم الاعتماد على الريجيستري في تخزين كل البيانات.

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

وفقنا الله وإياكم لكل خير

شكرا جزيلا أستاذنا الغالي محمد صالح

بنقاشك الجميل أثريت الموضوع كثير جزاك الله خير الجزاء

نعم لا يمكن تخزين كل البيانات في الرجستري كما ذكرت

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

هذا و الله أعلى و أعلم

قام بنشر
منذ ساعه, sandanet said:

استاذ محمد صالح انت قلت "البرنامج يعيد المدة الى ١٤٠ يوم مع استعمال كود تفعيل جديد" اعتقد ان هذا لم يحصل معي ومع اخي Aliko فانا استخدمت نفس كود التفعيل القديم واعطاني 140 يوم من جديد بعدما كان 139 يوم قبل استخدام كود التفعيل

 

4 ساعات مضت, sandanet said:

اخي صالح رقم النسخة لايتغير عندي بمرور الوقت لذلك فإن رقم التفعيل سيستمر بتفعيل نفس النسخة من جديد وهذا ما حصل معي عندما كانت المدة المتبقية 139 فعند اخذ رقم التفعيل من جديد تم تفعيل البرنامج واعطائي 140 يوم 

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

أما بالنسبة لرقم التفعيل الذي يولده برنامج التفعيل فهو يتغير من يوم إلى آخر جرب خذ رقم تفعيل اليوم ثم غير التاريخ و خذ رقم تفعيل ثاني و قارن بينهما

قام بنشر
منذ ساعه, sandanet said:

استاذ محمد صالح انت قلت "البرنامج يعيد المدة الى ١٤٠ يوم مع استعمال كود تفعيل جديد" اعتقد ان هذا لم يحصل معي ومع اخي Aliko فانا استخدمت نفس كود التفعيل القديم واعطاني 140 يوم من جديد بعدما كان 139 يوم قبل استخدام كود التفعيل

أعتقد أن استعمال كود التفعيل القديم في يوم آخر غير اليوم الذي تم التفعيل فيه

يخرج رسالة ( رقم التفعيل خاطئ) 

ولا يجدد المدة 

إلا إذا استعملت ملف التفعيل مرة أخرى بكود تفعيل جديد

 

  • Like 1
قام بنشر (معدل)
2 ساعات مضت, أ / محمد صالح said:

أعتقد أن استعمال كود التفعيل القديم في يوم آخر غير اليوم الذي تم التفعيل فيه

يخرج رسالة ( رقم التفعيل خاطئ) 

ولا يجدد المدة 

إلا إذا استعملت ملف التفعيل مرة أخرى بكود تفعيل جديد

 

استاذي العزيز البرنامج عندي مفعل من يوم امس والان في هذه اللحظة البرنامج يخبرني بأنه بقي لدي 139 يوم على انتهاء التفعيل ... رقم النسخة هو 54321 سوف ادخله على برنامج التفعيل مجدداً.. الان اعطاني رقم التفعيل التالي 56804023 سوف ادخله على البرنامج الرئيسي ..تم التفعيل لمدة 140 يوم!! انظر الصورة .. هل افهم من ذلك هو انه طالما اعطي رقم تفعيل جديد للمستخدم فأن التفعيل القديم يلغى؟ اذا كان كذلك فلو فرضنا ان المستخدم اخبرني بأنه قام بتغيير نظام التشغيل في جهازه وانه يريد كود تفعيل جديد كيف لي ان اعرف انه لايقوم بخداعي وانه يحاول تفعيل البرنامج من جديد على جهازه؟ لماذا لايكون رقم التفعيل ثابت يعمل على جهاز واحد فقط حتى وان قام بتغيير نظام تشغيله؟

 

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

 

تحياتي 

11.png

تم تعديل بواسطه sandanet
قام بنشر
On 6/2/2017 at 0:08 PM, صالح حمادي said:

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

إخوتي الكرام حياكم الله و تقبل الله منا و منكم الصيامكم و القيام

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

خصائص البرنامج:

1- يكتشف إرجاع التاريخ

2- حتى لونزلت نسخة ثانية بعد إنتهاء التفعيل أو إنتهاء النسخة التجريبية فلن تعمل لأن الحماية مخزنة بالرجستري

3- رقم التفعيل يتغير من يوم إلى آخر حسب التاريخ

4- تستطيع تفعيل البرنامج  بعد إنتهاء التفعيل بنفس النسخة

5- يحذف البرنامج الجدول الذي به رقم النسخة و كود الحماية مباشرة بعد أول تشغيل

6- يعطيك في أول تشغيل فترة تجريبية تحددها انت كما تشاء

7- رقم التفعيل مخبأة في مكان بالرجستري لا يمكن الحصول عليه

هذا هو المرفق و أتمنى من الأعضاء أن يقوموا بتجربة المرفق و إعطائنا النتائج و من بعدها نقوم بشرح أكواد البرنامج:

 

 

فترة تجريبية1.rar

استاذ @صالح حمادي اشكرك على ردك اخي الفاضل 

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

كل اللي تمكنت من الحصول عليه هو هذا الكود ولكن لا اعلم ان كان صحيح ام لا 

' لمعرفة السيريال نمبر الخاص بالهاردسك 
 Dim obj_FSO As Object, obj_Drive As Object
 Set obj_FSO = CreateObject("Scripting.FileSystemObject")
 Set obj_Drive = obj_FSO.GetDrive("c:\")
 'MsgBox obj_Drive.SerialNumber
  SerialNumber = obj_Drive.SerialNumber
 Set obj_FSO = Nothing
 Set obj_Drive = Nothing
End Sub

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

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

 

تحياتي لكم جميعاً اخواني 

قام بنشر (معدل)

طيب وما الجدوى اذا كان ممكن تفعيل النسخة بنفس الرقم السابق؟؟؟؟؟

تم تعديل بواسطه ابا جودى
قام بنشر

 اساتاذتي  @صالح حمادي @Shivan Rekany  في حال اردت ان ادخل كود الهارد ديسك فما هي الطريقة من فضلك 

هذا ماوجدته حول استخراج رقم الهارديسك 

 لمعرفة السيريال نمبر الخاص بالهاردسك 
 Dim obj_FSO As Object, obj_Drive As Object
 Set obj_FSO = CreateObject("Scripting.FileSystemObject")
 Set obj_Drive = obj_FSO.GetDrive("c:\")
 'MsgBox obj_Drive.SerialNumber
  SerialNumber = obj_Drive.SerialNumber
 Set obj_FSO = Nothing
 Set obj_Drive = Nothing
End Sub

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

قام بنشر

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

تقبل الله منا و منكم الصلاة و الصيام و القيام

إخوتي في هذا المنتدى الغالي آسف جدا لتأخري في الرد لكثرة إنشغالاتي هذه الفترة من مرض الوالد إلى ضغط العمل المهم:

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

1- ملاحظة الأستاذ @Shivan Rekany التي تخص مشكلة تقديم التاريخ قمت بالتعديل على المرفق بحيث إذا كانت المدة بين تاريخ اليوم و آخر إستعمال للبرنامج أكبر من 7 أيام يظهر البرنامج رسالة للتأكد من أن تاريخ الجهاز صحيح.

2- ملاحظة الأستاذ @sandanet التي تخص عدم التفعيل إذا كان البرنامج مفعل. الآن أصبح البرنامج يرفض التفعيل إذا كانت المدة المتبقية أكبر من 15 يوما.

3- ملاحظة الأخ @Aliko في ما يخص استعمال رقم الهارديسك. رقم النسخة الآن غير ثابت فهو يتغير من جهاز إلى آخر حسب رقم الهارديسك.

و هذا هو المرفق:‫‫فترة تجريبية2003.rar

‫‫فترة تجريبية.rar

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

حذف المجلدات من الرجستري.rar

 

 

في 05/06/2017 at 15:00, ابا جودى said:

طيب وما الجدوى اذا كان ممكن تفعيل النسخة بنفس الرقم السابق؟؟؟؟؟

أهلين أخي ابا جودى تقبل الله صيامك

لا يتم تفعيل النسخة بنفس الرقم السابق جرب المرفق الأخير

في 06/06/2017 at 18:28, saifou86 said:

ماذا  بعد فورمات الجهاز هل يجب اعادة التفعيل ؟

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

 

في 06/06/2017 at 02:47, Aliko said:

 اساتاذتي  @صالح حمادي @Shivan Rekany  في حال اردت ان ادخل كود الهارد ديسك فما هي الطريقة من فضلك 

هذا ماوجدته حول استخراج رقم الهارديسك 


 لمعرفة السيريال نمبر الخاص بالهاردسك 
 Dim obj_FSO As Object, obj_Drive As Object
 Set obj_FSO = CreateObject("Scripting.FileSystemObject")
 Set obj_Drive = obj_FSO.GetDrive("c:\")
 'MsgBox obj_Drive.SerialNumber
  SerialNumber = obj_Drive.SerialNumber
 Set obj_FSO = Nothing
 Set obj_Drive = Nothing
End Sub

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

  • Like 1
قام بنشر

جميل جداً اخي صالح فبارك الله فيك وجعل اعمالك هذه في ميزان حسناتك ووفقك في دنياك واخرتك وحفظك الله من كل مكروه وادعو الله ان يشفي لك والدك ان شاء الله

  • Like 1
قام بنشر

بارك الله لك أستاذ صالح

وجعلنا الله جميعا من الصالحين

مشكلة هذه الطريقة أن الدالة savesetting تخزن في الريجيستري في مسار محدد


 
HKEY_CURRENT_USER\SOFTWARE\VB and VBA Program Settings

والأفضل في هذه الحالة استعمال الريجيستري بطريقة عادية بدون savesetting

باستخدام

WScript.Shell

وهذا ما حدث في هذا الموضوع الجديد والبسيط

وفقنا الله وإياكم لكل ما تحبه وترضاه

  • Like 2
  • Thanks 1
قام بنشر
في ٦‏/٦‏/٢٠١٧ at 03:47, Aliko said:

 اساتاذتي  @صالح حمادي @Shivan Rekany  في حال اردت ان ادخل كود الهارد ديسك فما هي الطريقة من فضلك 

هذا ماوجدته حول استخراج رقم الهارديسك 


 لمعرفة السيريال نمبر الخاص بالهاردسك 
 Dim obj_FSO As Object, obj_Drive As Object
 Set obj_FSO = CreateObject("Scripting.FileSystemObject")
 Set obj_Drive = obj_FSO.GetDrive("c:\")
 'MsgBox obj_Drive.SerialNumber
  SerialNumber = obj_Drive.SerialNumber
 Set obj_FSO = Nothing
 Set obj_Drive = Nothing
End Sub

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

 

الان, صالح حمادي said:

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

 

الان, صالح حمادي said:

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

تقدرون تستخدم هذا الكود بدل الكود السابق

   Dim WMI As Object
   Dim wmiCollection As Object
   Dim wmiMember As Object
   
   Set WMI = GetObject("winmgmts:\\")
   Set wmiCollection = WMI.InstancesOf("Win32_PhysicalMedia")
   
   For Each wmiMember In wmiCollection

 MsgBox Trim(wmiMember.SerialNumber)
 
   Exit For
   Next
   Set wmiMember = Nothing
   Set wmiCollection = Nothing
   Set WMI = Nothing

للمعلومات قم بزيارة هذه الموضوع

م.2022.شفان ريكاني

  • Like 1
قام بنشر
في 11/06/2017 at 17:22, sandanet said:

جميل جداً اخي صالح فبارك الله فيك وجعل اعمالك هذه في ميزان حسناتك ووفقك في دنياك واخرتك وحفظك الله من كل مكروه وادعو الله ان يشفي لك والدك ان شاء الله

و فيك بارك الله أخي العزيز @sandanet

في 11/06/2017 at 17:24, أ / محمد صالح said:

بارك الله لك أستاذ صالح

وجعلنا الله جميعا من الصالحين

مشكلة هذه الطريقة أن الدالة savesetting تخزن في الريجيستري في مسار محدد



 

HKEY_CURRENT_USER\SOFTWARE\VB and VBA Program Settings

والأفضل في هذه الحالة استعمال الريجيستري بطريقة عادية بدون savesetting

باستخدام

WScript.Shell

وهذا ما حدث في هذا الموضوع الجديد والبسيط

نعم استاذنا الغالي محمد هذا هو عيبها و الطريقة التي أشرت إليها أفضل

15 ساعات مضت, Shivan Rekany said:

تقدرون تستخدم هذا الكود بدل الكود السابق


   Dim WMI As Object
   Dim wmiCollection As Object
   Dim wmiMember As Object
   
   Set WMI = GetObject("winmgmts:\\")
   Set wmiCollection = WMI.InstancesOf("Win32_PhysicalMedia")
   
   For Each wmiMember In wmiCollection

 MsgBox Trim(wmiMember.SerialNumber)
 
   Exit For
   Next
   Set wmiMember = Nothing
   Set wmiCollection = Nothing
   Set WMI = Nothing

للمعلومات قم بزيارة هذه الموضوع

شكرا صديقي شفان

قام بنشر
22 hours ago, صالح حمادي said:

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

تقبل الله منا و منكم الصلاة و الصيام و القيام

إخوتي في هذا المنتدى الغالي آسف جدا لتأخري في الرد لكثرة إنشغالاتي هذه الفترة من مرض الوالد إلى ضغط العمل المهم:

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

1- ملاحظة الأستاذ @Shivan Rekany التي تخص مشكلة تقديم التاريخ قمت بالتعديل على المرفق بحيث إذا كانت المدة بين تاريخ اليوم و آخر إستعمال للبرنامج أكبر من 7 أيام يظهر البرنامج رسالة للتأكد من أن تاريخ الجهاز صحيح.

2- ملاحظة الأستاذ @sandanet التي تخص عدم التفعيل إذا كان البرنامج مفعل. الآن أصبح البرنامج يرفض التفعيل إذا كانت المدة المتبقية أكبر من 15 يوما.

3- ملاحظة الأخ @Aliko في ما يخص استعمال رقم الهارديسك. رقم النسخة الآن غير ثابت فهو يتغير من جهاز إلى آخر حسب رقم الهارديسك.

و هذا هو المرفق:‫‫فترة تجريبية2003.rar

‫‫فترة تجريبية.rar

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

حذف المجلدات من الرجستري.rar

 

 

أهلين أخي ابا جودى تقبل الله صيامك

لا يتم تفعيل النسخة بنفس الرقم السابق جرب المرفق الأخير

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

 

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

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

جاري التجربه على الخير ان شاء الله 

شكرا لاستجابتك استاذي الفاضل

  • Like 1
  • 5 weeks later...
قام بنشر
في 11/06/2017 at 23:32, Aliko said:

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

جاري التجربه على الخير ان شاء الله 

شكرا لاستجابتك استاذي الفاضل

السلام عليكم أخي صالح بارك الله فيك على جهودك

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

قام بنشر
1 ساعه مضت, عادل سوفت said:

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

في 3‏/6‏/2017 at 23:47, صالح حمادي said:

SaveSetting "mm", "nn", "nember_days", 140

في هذا السطر من كود التفعيل غير العدد 140 إلى أي عدد تريده

قام بنشر
3 دقائق مضت, صالح حمادي said:

في هذا السطر من كود التفعيل غير العدد 140 إلى أي عدد تريده

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

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

 Cette erreur se produit lorsqu'un événement ne peut pas être exécuté parce que Microsoft Office Access ne peut pas détecter l'emplacement de la logique correspondante. Par exemple, si la propriété OnOpen d'un formulaire est définie sur la valeur =[Field], cette erreur se produit car Access s'attend à ce qu'un nom de macro ou d'événement soit exécuté lors du déclenchement de l'événement.

الله يبارك فيك يا باش مهندس

قام بنشر
19 دقائق مضت, عادل سوفت said:

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

يا أخي هذا ليس إشكال بل هو أبسط مما هو موجود غير الكود الموجود في الوحدة النمطية بهذا الكود:

Function salah(frm1 As String, frm2 As String, frm3 As String)
'On Error Resume Next
Dim firstdate As Date
Dim lastdate As Date
Dim lasttime As Date
Dim expdate As Date
Dim nameschool As String
Dim numschool As Double
Dim khawarezmia As String
Dim nember_days As Integer


'--------------------------------------------------------------------
firstdate = GetSetting("aa", "bb", "firstdate", Nz(firstdate))
If firstdate = Empty Then
SaveSetting "aa", "bb", "firstdate", Date
End If
firstdate = GetSetting("aa", "bb", "firstdate", Nz(firstdate))
'---------------------------------------------------------------------
lastdate = GetSetting("ss", "tt", "lastdate", Nz(lastdate))
If lastdate = Empty Then
SaveSetting "cc", "dd", "lastdate", Date
End If
lastdate = GetSetting("ss", "tt", "lastdate", Nz(lastdate))
'---------------------------------------------------------------------
lasttime = GetSetting("zz", "hh", "lasttime", Nz(lasttime))
If lasttime = Empty Then
SaveSetting "ee", "ff", "lasttime", Now
End If
lasttime = GetSetting("zz", "hh", "lasttime", Nz(lasttime))
'---------------------------------------------------------------------
nember_days = GetSetting("mm", "nn", "nember_days", Nz(nember_days))
If nember_days = Empty Then
nember_days = 1
End If
expdate = DateAdd("d", nember_days, firstdate)
'---------------------------------------------------------------------
khawarezmia = GetSetting("gg", "pp", "khawarezmia", Nz(khawarezmia))
If khawarezmia = Empty Then

   numschool = DLookup("numscho", "tbl")
   SaveSetting "ii", "jj", "numschool", numschool
   
   khawarezmia = DLookup("khawr", "tbl")
   khawarezmia = Replace(khawarezmia, "numschool", numschool)
   SaveSetting "gg", "pp", "khawarezmia", khawarezmia
 
   nameschool = DLookup("namescho", "tbl")
   SaveSetting "kk", "ll", "nameschool", nameschool
   
   nember_days = DLookup("nemberday", "tbl")
   SaveSetting "mm", "nn", "nember_days", nember_days
End If

For Each ttable In CurrentData.AllTables
   If ttable.Name = "tbl" Then
       DoCmd.DeleteObject acTable, ttable.Name
   End If
Next


 If nember_days=140  Then
   DoCmd.OpenForm frm2
   DoCmd.Close acForm, frm1
Else
   DoCmd.OpenForm frm3
   DoCmd.Close acForm, frm1
End If

End Function

 

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.

×
×
  • اضف...

Important Information