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

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

قام بنشر

افضل لك مسح البيانات او اغلاق البرنامج

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

 

 

 

 

اتفق معك

واذا كنت ترد كود حذف بينات جدول اماماك طريقان

 

اما استعلام حذف

 

او

هذا الكود

حيث      table1  هو اسم الجدول المراد حذف بياناته

DoCmd.Requery
DoCmd.SetWarnings False
DoCmd.RunSQL "DELETE table1.* FROM table1"
DoCmd.SetWarnings True
Form.Requery
MsgBox "تم مسح جمع البيانات"

  • Like 1
قام بنشر

السلام عليكم

اخي الكريم عبدالله قدورة

ماذا تقصد يا دارة حماية

هل هي حماية برقم الفلاشة مثلا

او حماية برقم الهاردديسك

او حماية باي شئ من مكونات الحاسب

ماذا تقصد بالضبط

قام بنشر

بالنسبة لسؤال الأخ احمد

فيوجد فكرة تناسبك

ولكن تلك الفكرة تتطلب ان تكون جهازك وجهاز المستخدم ( الموظف) متصلين مع بعض عن طريق شبكة داخلية او فولدر شير او اي طريقه مشابهة

المهم يكون الجهازين متصلين

ثم

قم بتقسيم البرنامج جداول ووجهات

يعني الجداول تكون في ملف اكسس منفصل

والنماذج والتقارير وباقي الكائنات تكون ايضا في ملف منفصل

وهناك زر من الاكسس يمكنه تقسيم القاعدة لك بدون اي تعب

ثم

ضع ملف الجداول فقط في جهازك

وضع ملف الواجهات او النماذج .. الخ في جهاز الموظف

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

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

ويمكنك ارفق ملفك لاطبق لك كل ذلك

بالتوفيق

قام بنشر

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

هذا علي حد علمي وانا مازلت في سنة اولي اكسس

ويمكن يكون هناك راب اخر للخبراء

بالتوفيق

قام بنشر

السلام عليكم

 أخي العزيز اسمي عبد الله قدور وليس قدورة 

 

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

فإذا كانت موجودة يقوم باكمال فتح البرنامج

 

 

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

 

طبعا هناك نموذج سطح المكتب يتأكد من وجود الفلاشة كل 10 ثواني وهكذا بإذن الله تكون الحماية ممتازة

 

 

flash Disk1.rar

قام بنشر

السلام عليكم

 

والان اليكم هذا الكود الذي يقوم بالتأكد من اتصال الفلاشة بالحاسب

 

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

 

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

Dim strComputer As String
 Dim serNum As String
 strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colitems = objWMIService.ExecQuery("SELECT * FROM Win32_DiskDrive", , 48)
For Each objitem In colitems
   If objitem.interfacetype = "USB" Then serNum = objitem.pnpdeviceid
 Next
        serNum = Mid(serNum, InStrRev(serNum, "\") + 1)
     If serNum = "" Then
        DoCmd.Close acForm, "hi"
        MsgBox "áÇ íæÌÏ ÏÇÑÉ ÍãÇíÉ ãÊÕáÉ ÈÇáÍÇÓÈ "
        DoCmd.Quit acQuitSaveAll
  Exit Sub
 End If
serNum = Left(serNum, InStr(serNum, "&") - 1)
ser = serNum
If serNum = "5265f5effd6ed" Then
DoCmd.Close acForm, "hi"
DoCmd.OpenForm "files"
ElseIf serNum = "854d5f698rf" Then
DoCmd.Close acForm, "hi"
DoCmd.OpenForm "files"
Else
MsgBox "ÏÇÑÉ ÇáÍãÇíÉ ÛíÑ ÕÍíÍÉ", vbMsgBoxRight, "ÎØÃ"
DoCmd.Quit acQuitSaveNone
End If

هذا الكود يتأكد من وجود احدى دارتي حماية

قام بنشر

طيب ولو الفلاشة اتحرقت ايه هو الحل 
وهل لو حدث مشكله فى الفلاشه وتم عمل فورمات هل يتأثر البرنامج ؟!

قام بنشر

اسف طبعا علي اضافة (ة) الي اسمك وهذا خطا المصحح اللغوي في الموبيل

جميل جدا

لكن يتطلب ذلك ان توافر لكل عميل فلاشة او يقوم هو بشرائها وهذا يزيد من تكلفة بيع البرنامج

وخصوصا اذا قمت ببيع مثلا 10 او 20 نسخه من البرنامج لشخص واحد

هل سيوفر فلاشة لكل جهاز

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

طبعا نحن نتناقش للوصول لافضل طريقة

شكرا

قام بنشر

طيب ولو الفلاشة اتحرقت ايه هو الحل 

وهل لو حدث مشكله فى الفلاشه وتم عمل فورمات هل يتأثر البرنامج ؟!

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

 

أما بشأن الفرمتة فلا تؤثر أبدا على عمل البرنامج إن كانت الفرمتة للفلاشة أو للحاسب لا يوجد أي تأثير

قام بنشر

 

طيب ولو الفلاشة اتحرقت ايه هو الحل 

وهل لو حدث مشكله فى الفلاشه وتم عمل فورمات هل يتأثر البرنامج ؟!

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

 

أما بشأن الفرمتة فلا تؤثر أبدا على عمل البرنامج إن كانت الفرمتة للفلاشة أو للحاسب لا يوجد أي تأثير

 

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

وماذا لو لم يستطع الحاسب قراءة الفلاشة ب اى وضح من الاوضاع ؟

قام بنشر

أخي محمد عصام لماذا كل هذا التشاؤم من النادر جدا أن لا يستطيع الحاسب التعرف على الجاهز المتصل به 

قلت لك قراءة الفلاشة لا اقصد بها فتح الفلاشة والاطلاع عليها والكتابة والحذف منها

 

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

 

 

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

قام بنشر

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

الاكسس ضعيف وعاجز عن هذا الشأن 

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

ولو اتقفلت برقم الهارد او الفلاشة او المعالج حتى بحرق احدهم انتهى كل شئ كذلك
اممم الشيفت بيتفتح لو تم اغلاقه 
كلمة السر على الاكواد كذلك عاجزه عن الحمايه لانها تفك 

حتى لو وضعت كود ان تغير مسار القاعده او اسمها او تم مسح صورها  ما من مسارها وتم تامين اكوادها بكلمة مرور وتم الغاء الشيفت والقوائم واطار الاكسس
هههههههههههه   بلح كل ده بلح بجد ولا له اى لازمه 

 

بكل الاحوال الاكسس عاااااااااااااااااااااااااااجز بصورة مطلقة فى الحمايه ويسهل ضربه بطريقة او بأخرى 

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

قام بنشر

تمام

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

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

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

قام بنشر

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

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

قام بنشر

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

الاكسس ضعيف وعاجز عن هذا الشأن 

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

ولو اتقفلت برقم الهارد او الفلاشة او المعالج حتى بحرق احدهم انتهى كل شئ كذلك

اممم الشيفت بيتفتح لو تم اغلاقه 

كلمة السر على الاكواد كذلك عاجزه عن الحمايه لانها تفك 

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

هههههههههههه   بلح كل ده بلح بجد ولا له اى لازمه 

 

بكل الاحوال الاكسس عاااااااااااااااااااااااااااجز بصورة مطلقة فى الحمايه ويسهل ضربه بطريقة او بأخرى 

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

اخي الكريم اذا كان الويندوز نفسها يتم اختراقها واختراق مئات البرامج الخدمية افلا يتم اختراق الاكسس

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

هذا المرفق يقوم بحذف الجدول بعد الوقت المحدد

للعلم لو تم التلاعب بتاريخ الويندوز يتم ايقاف البرنامج جرب ورد على 

المرفق يحتوى على الاتى 

 

 جدول     T1

 وبة حقل  Date1

وذلك لتخزين تاريخ اليوم الأول لتشغيل النسخة التجريبية

 

وبعدد العدد المحدد من الايام والذى تدخله انت فى الكود كما تحب فى هذا الكود

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

 Private Sub Form_Open(Cancel As Integer)
On Error GoTo MyErr:

Dim MyFirst As Date
Dim MyInDate
Dim MyTableName As String
MyInDate = DFirst("[Date1]", "[T1]")
If Not IsNull(MyInDate) Then
MyFirst = MyInDate
Else
DoCmd.SetWarnings False
DoCmd.RunSQL ("INSERT INTO T1 ( Date1 ) SELECT Date();")
DoCmd.SetWarnings True
MyFirst = Date
End If

If MyFirst <= Date - 15 Then ' غير الرقم 15 الي اي رقم تريد
 txt1.Caption = "مضي علي تشغيل البرنامج 15 يوم وسيتم ايقافة"
cmdclose.Visible = False

Call TableDelete
Else
If MyFirst > Date Then
 txt1.Caption = "تم التلاعب بتاريخ الجهاز وسيتم ايقاف البرنامج"
cmdclose.Visible = False

Call TableDelete
End If
End If

Exit Sub

MyErr:
If Err.Number = 3078 Then

  txt1.Caption = "مع السلامة عليك مراجعة صاحب البرنامج"
cmdclose.Visible = False

Else
 MsgBox Err.Number & vbCrLf & Err.Description
End If
End Sub

لاحظ هذا الكود
If MyFirst <= Date - 15 Then

 

هذا عدد الايام الذى تريد فتح البرنامج خلاله

انا عملتها لك فى المرفق 1 فقط للتجربه
وتقدر تغير التاريخ كما تحب من الكمبيوتر من الويندوز وجرب البرنامج

 

 

اممممممم
  وهذا الكود الذي يقوم بعملية حذف الجداول من قاعدة البيانات في حالة انتهاء المدة

Function TableDelete()
On Error Resume Next
Dim MyDb As Database
Dim MyTable As TableDef
Dim MyTableCount As Integer

Set MyDb = Application.CurrentDb
MyTableCount = MyDb.TableDefs.Count
For i = MyTableCount - 1 To o Step -1
Set MyTable = MyDb.TableDefs(i)
MyTableName = MyTable.Name
If Left$(MyTableName, 4) <> "Msys" Then MyDb.TableDefs.Delete (MyTableName)
Next
MyDb.Close
End Function

نسخة اخرى بصيغة 2000-2003
Demo.rar
 

هذا المرفق 2007-2013  فقط

Demo.rar

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

 

والله يا اخى مش عارف فين المشكلة طيب ممكن أضيف كود يمسح جدول معين مثل جدول اسمة items main وهو مش مفتوح فى البداية الجدول المفتوح فى البداية هو جدول الباسورد يعنى المفروض يتمسح

 

DoCmd.DeleteObject acTable, "Table"

table اسم الجدول شرط ان يكون مش قيد الاستخدام

قام بنشر

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

هل هي نهائية ام غير نهائية ويمكن استرجاعها؟؟؟؟؟؟؟؟؟؟؟

 

 

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

 

عموما جاى تجهيز مرفق لما طلبت اخى الكريم

قام بنشر

 

 

والله يا اخى مش عارف فين المشكلة طيب ممكن أضيف كود يمسح جدول معين مثل جدول اسمة items main وهو مش مفتوح فى البداية الجدول المفتوح فى البداية هو جدول الباسورد يعنى المفروض يتمسح

 

DoCmd.DeleteObject acTable, "Table"

table اسم الجدول شرط ان يكون مش قيد الاستخدام

 

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

Copy of master test.zip

قام بنشر

أخي الكريم

 

فكر بطريقة الحماية التي ارسلتها لك وجربها

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

والله يا اخى مش عارف فين المشكلة طيب ممكن أضيف كود يمسح جدول معين مثل جدول اسمة items main وهو مش مفتوح فى البداية الجدول المفتوح فى البداية هو جدول الباسورد يعنى المفروض يتمسح

DoCmd.DeleteObject acTable, "Table"
table اسم الجدول شرط ان يكون مش قيد الاستخدام

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

اخى مارد انا فى انتظار حل المشكلة فى المثال الذى ارفقتة ارجو ان لا تهمل موضوعى

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