لدي برنامج وضعت الجداول في قاعدة بيانات وباقي العناصر في قاعدة بيانات أخرى
كيف أحمي قاعدة البيانات مما يلي:
1. أن لا تظهر أنها أكسس أي اغير نوع الملف مثل Dat ( وقد استخدمت طريقة تشغيل البرنامج بدون أكسس من خلال تثبيت RunTime حصلت عليه من المنتدى سابقاً ويعمل بشكل رائع)
2. أربط قاعدة البيانات برقم الهارد ديسك لمنع نسخها لجهاز آخر
وقد حصلت على الطريقة التالية لمنع تشغيل القاعدة في جهاز آخر إذا أختلف رقم القرص عن الرقم المسجل بالقاعدة .( وللتوضيح وعدم انكار جهد من قام بها فهو منقولاً عن الاخ أبو هاجر )و لكن لم تنجح معي حيث استطعت نسخ قاعدة البيانات وتشغيلها على جهاز آخر وعند الضغط على زر الامر يظهر رقم الهارد ديسك ولكن ما الفائدة منه
هل الخطأ في الكود أم في طريقة العمل علماً أني استخدمها مع access XP
الطريقة :
في الوحدة النمطية العامة اكتب :
Declare Function GetVolumeInformation Lib "kernel32" Alias "GetVolumeInformationA" ( _
ByVal lpRootPathName As String, _
ByVal lpVolumeNameBuffer As String, _
ByVal nVolumeNameSize As Long, _
lpVolumeSerialNumber As Long, _
lpMaximumComponentLength As Long, _
lpFileSystemFlags As Long, _
ByVal lpFileSystemNameBuffer As String, _
ByVal nFileSystemNameSize As Long) As Long
وفي حدث عند نقر زر أمر اكتب :
Dim disk As String
Dim serialnum As Long, serial As String
disk = "c:\" 'غير الى القرص الذي تريد
RetVal = GetVolumeInformation(disk, NomVolume, Len(NomVolume), _
serialnum, dum, dum, ResStr, Len(ResStr))
'استخراج الرقم التسلسلي
serial = Right(String(8, "0") + Hex$(serialnum), 8)
serial = Left(serial, 4) + "-" + Right$(serial, 4)
MsgBox serial
أو من لديه حل أفضل فليفيدني رعاكم الله
