
نوشته شده توسط
emami.sie
با سلام
طبق فرمایشتون نمونه ای رو ضمیمه کردم
تشکر
یا علی
سلام
کدهای پست 10 تصحیح شد . در این کدها زمانی که به دستورات شرطی سیستم ویندوز برسد از آن عبور می کند.
برای فرم ها یک روتین دیگر از Win32_64DeclareCompatible با نام دلخواه کپی کنید و مانند زیر تغییر دهید.
Sub frmModuleDeclareCompatible(App As Access.Application)
Dim cnt As Long, LastLine As Long, mdlLineCount As Long
Dim db As DAO.Database, strDeclare As String
Dim mdl As Access.Module, mdlName As String, preProcLine As Long
Dim i As Long, j As Long, ChangedNum As Integer, strPWD As String
Set db = App.CurrentDb
'cnt = db.Containers("Modules").Documents.Count - 1
cnt = App.Modules.Count - 1
For k = 0 To cnt
mdlName = App.Modules(k).Name
Set mdl = App.Modules(mdlName)
If mdl.Type = acClassModule Then
With mdl
.
.
.
.
.
End With
End If
Next k
Set mdl = Nothing
Set db = Nothing
App.Quit acQuitSaveAll
Set App = Nothing
End Sub
قبل از اینکه در روال Win32_64DeclareCompatible به عبارت Set App = Nothing برسید روال جدید را فراخوانی کنید و App را به آن پاس کنید.
کد را امتحان نکردم ولی مطمئن با کمی دستکاری جواب می دهد