28-11-19, 03:38 PM
اخي يبدو ان هذا يحدث بسبب نظام الامان في ويندوز
ولتخطيه يجب ان تمنح الاذن لبرنامجك بالوصول الى الملف للقراءة والكتابة
ولفعل هذا اضف الكود التالي الى برنامجك
ثم قبل ان تحاول التعامل مع الملف استخدم هذا الكود لتمنح برنامجك الوصول للملف
بمعنى انك تلغي حماية الملف التي تمنعك من التعديل
اتمنى ينفعك الحل ويكون صحيح
ولتخطيه يجب ان تمنح الاذن لبرنامجك بالوصول الى الملف للقراءة والكتابة
ولفعل هذا اضف الكود التالي الى برنامجك
كود :
Sub AddFileSecurity(ByVal fileName As String, ByVal account As String, _
ByVal rights As FileSystemRights, ByVal controlType As AccessControlType)
' Get a FileSecurity object that represents the
' current security settings.
Dim fSecurity As FileSecurity = File.GetAccessControl(fileName)
' Add the FileSystemAccessRule to the security settings.
Dim accessRule As FileSystemAccessRule = _
New FileSystemAccessRule(account, rights, controlType)
fSecurity.AddAccessRule(accessRule)
' Set the new access settings.
File.SetAccessControl(fileName, fSecurity)
End Sub
Sub RemoveFileSecurity(ByVal fileName As String, ByVal account As String, _
ByVal rights As FileSystemRights, ByVal controlType As AccessControlType)
' Get a FileSecurity object that represents the
' current security settings.
Dim fSecurity As FileSecurity = File.GetAccessControl(fileName)
' Remove the FileSystemAccessRule from the security settings.
fSecurity.RemoveAccessRule(New FileSystemAccessRule(account, _
rights, controlType))
' Set the new access settings.
File.SetAccessControl(fileName, fSecurity)
End Subثم قبل ان تحاول التعامل مع الملف استخدم هذا الكود لتمنح برنامجك الوصول للملف
بمعنى انك تلغي حماية الملف التي تمنعك من التعديل
كود :
RemoveFileSecurity("d:\s.mdb", System.Security.Principal.WindowsIdentity.GetCurrent().Name, _
FileSystemRights.ReadData, AccessControlType.Deny)اتمنى ينفعك الحل ويكون صحيح


