كيف نمنع قاعدة بيانات كاملة من النسخ كي تعمل على أجهزة أخرى ؟
أشرف خليل
كيف نمنع قاعدة بيانات كاملة من النسخ كي تعمل على أجهزة أخرى ؟
أشرف خليل
السلام عليكم
كيفك أشرف
أعتقد أنه لا يمكن أبدا منع الملفات من أن تنقل
و لكن يمكن منعها من أن تفتح بعد نقلها ،بنفس الطرق السابق مناقشتها فى حماية القاعدة
سواء
-1 بتسجيل عبارة فى ملف نص ووضعه فى مكان ما علي الجهاز مثا مجلد الويندوز مثلا
أو
2- عن طريق تسجيل عبارة ما فى الريجيستري كما شرح أخونا أبو حمود
أو الثالثة و هي تسجيل كلمة سر فى جدول معين ، و اخفاء هذا الجدول
وفي ال 3 حالات يجب الغاء عمل الشيفت ثم بعد ذلك هناك حمايتان
------
الاولي
-----
1-التأكد من أن الملف النصي الذي به كلمة معينة موجود فى مكانه
2- أو ا أن الكلمة مسجلة فى الريجيستري فى مكان معين
و هذا للتأكد من أن الجهاز الذي عليه القاعدة به رخصة لتشغيلها
و بالطبع عند فتح الفورم و عمل الاختبار هل كلمة الحماية مسجلة فى ملف نص أم لا
تظهر رسالة توبيخ ثم
Docmd.quit
-------
الثانية
-------
سؤال المستخدم عن كلمة سر مسجلة فى أحد الثلاث أماكن الثلاثة
1- ملف نص
2- الريجستري
3-حقل فى جدول معين
و لن لم يدخل الكلمة المطلوبة
فيظهر له رسالة تنبيه ثم
Docmd.quit
و هذا بالطبع ليس له علاقة بالسؤال الذي اجابته الشطر الاول فقط ، و لكن الشطر الثاني بحكم العادة
شكرا أخي العزيز محمد طاهر .
أنا الآن فى محاولة لتنفيذ رقم (1) التي ذكرتها وربنا يسهل فيها إن شاء الله .
على فكرة ليه ما تفتح الماسنجر عندما تدخل النت وقريبا أقابلك فى القاهره إن شاء الله .
أشرف خليل
موضوع الماسنجر أنا قافله هذه الايام لأني مشغول جدا فى الوقت ، و أحاول استثمار الوقت الذي أمضيه علي النت بأقصي درجة نظرا لانشغالي .
يمكننا التفاق علي موعد نتقابل فيه بالماسنجر
مؤقتا أخبرني علي البريد متي تصل الي القاهرة
اتمنى من الاخ محمد طاهر ان يتفضل بوضع الكود الخاص بـ :
1-التأكد من أن الملف النصي الذي به كلمة معينة موجود فى مكانه
فلم استطيع تطبيقه بواسطة (GetSetting(App.EXEName و يظهر الاكسيس رسالة خطاء اعتقد ان المشكلة في App
امل منك المساعدة وفكرتك ممتازة واعتقد انها مفيدة جدة في الحماية
بارك الله فيكم
فى البداية ضع
On Error GoTo ERROR_SUB
و بعد ذلك
Dim fs, S, a, xx, x
Dim I As Integer, j As Integer
Set fs = CreateObject("Scripting.FileSystemObject")
S = fs.GetDrive(fs.GetDriveName(fs.GetSpecialFolder(1))).SerialNumber
Open fs.GetSpecialFolder(1) & "" & "[Filname.File Extension" For Input As #2
ثم ما تريد من أوامر
و فى النهاية
ERROR_SUB:
If Err.Number = 53 Then
MsgBox " لا يوجد ترخيص بتشغيل البرنامج " + Chr(13) + Chr(10) + "Do not do this Again !!", vbCritical, "رسالة تحذير "
Close #2
Cancel = True
SendKeys "{ESC}"
DoCmd.Quit
Exit Sub
End Ifو اذا حدث خطأ و لم يجد الملف فسيتجه الي
ERROR_SUB:
و التي وضعناها فى نهاية ال Sub
فيتخطي بذلك ما كان سينفذ من اوامر
و تم تعريف رقم الخطا الذي يحدث عند عدم وجود ملف كما سبق
:)
سنضع الحماية ان شاء الله فى القاعدة المحاسبية بالتفصيل الفورمة والكود كامل باذن الله واتعشم ان تنول رضاكم ( مساءا الخميس )
هذا الموضوع مغلق.