Access快速开发平台批量添加权限控制代码
时 间:2017-11-01 10:07:04
作 者:红尘如烟 ID:10768 城市:成都
摘 要:Access快速开发平台批量添加权限控制代码
正 文:
今天遇到一位网友用Access快速开发平台开发的软件里面,所有权限控制的代码都丢失的问题,如果手动一个一个加代码的话太麻烦了,整理了一个程序批量添加,只需要把这个函数的代码放到模块里面,然后执行一下即可。
就可以批量为所有窗体添加权限控制代码了。
不需要再一个个的去手动加了。
注 意:
其他网友如果你的Access快速开发平台里面没有出现权限控制代码丢失的情况,请不要用这个方法。
执行后自动生成的代码是在Load事件里面的。如下图:
'批量添加权限控制代码如下:
Sub AddPermissionCodes()
Dim obj As AccessObject
Dim lngCount As Long: lngCount = CurrentProject.AllForms.Count
Dim lngI As Long
For Each obj In CurrentProject.AllForms
lngI = lngI + 1
If obj.Name Like "frm*" Then
If Not (obj.Name Like "*_Edit" or obj.Name Like "*_List") Then
DoCmd.OpenForm obj.Name, acDesign, , , , acHidden
Dim frm As Form: Set frm = Forms(obj.Name)
Dim strFormKey As String: strFormKey = ""
strFormKey = Mid(frm.Name, 4)
Dim strVBA As String: strVBA = ""
Dim ctl As Control
For Each ctl In frm.Controls
If TypeOf ctl Is CommandButton Then
Select Case ctl.Name
Case "btnClose", "btnRefresh"
Case Else
Dim strCtlKey As String: strCtlKey = ""
strCtlKey = frm.Controls(ctl.Name & "_Label").Caption
strVBA = strVBA & " EnableButton Me." & ctl.Name & ", HasPermission(""" & strFormKey & """, """ & strCtlKey & """)" & vbCrLf
End Select
End If
Next
' Debug.Print strVBA
Dim mdl As Module: Set mdl = frm.Module
mdl.InsertLines mdl.ProcBodyLine("Form_Load", vbext_pk_Proc) + 1, strVBA
DoCmd.Close acForm, obj.Name, acSaveYes
Debug.Print "已处理 " & lngI & "/" & lngCount, obj.Name
End If
End If
Next
End Sub
Access快速开发平台QQ群 (群号:321554481) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 【Access窗体导出PDF】...(04.08)
- 【Access窗体导出PDF】...(04.07)
- Access两种方式实现即时更...(03.01)
- Access隐藏与显示lacc...(01.12)
- 【Access高效办公】将每个...(12.23)
- Access21点游戏源代码(12.13)
- 【Access窗体导出Exce...(11.15)
- 【Access开发】Acces...(11.14)
- 通过Access宏录入数据到选...(11.10)
学习心得
最新文章
- Access学习笔记--用Acce...(04.19)
- 【Access重复项查询示例】将A...(04.17)
- Access快速开发平台企业版--...(04.16)
- 【Access模块示例】通过模块代...(04.15)
- Access查询里面分组合计功能添...(04.13)
- 【Access删除查询】删除数字最...(04.12)
- 显示文件夹中所有文件的修改时间(04.11)
- 铁路工程管理系统;铁路工程管理小程...(04.10)
- 【Access查询示例】怎么将两个...(04.09)
- 【Access窗体导出PDF】Ac...(04.08)