Access开发平台--修改窗体输入密码才能有权限进行改数据,对字段进行权限控制修改的方法
时 间:2013-06-22 09:21:23
作 者:麥田 ID:11 城市:上海 QQ:3002789054
摘 要:Access开发平台--修改窗体输入密码才能有权限进行改数据,对字段进行权限控制修改的方法
正 文:
学员 广州--小莲(530920058) 10:41:10 问题
请问老师,我要修改窗体进行修改数据时,能用权限对要修改的控件进行控制,即出来个密码窗口,有权限才可以修改。
可以做到吗?
UMVsoft-7号褚老师(20099004) 10:44:11
在修改窗体上面加个复选框 输入密码方式才能进行编辑就可以了
做个制作顺序给你学习一下。
制作方法如下:(以Access开发平台 的报销管理系统教程里的报销明细修改为例)
第一:进入报销明细修改窗体的设计视图→将ygid文本框“可用”设为否→然后新建复选框控件→在复选框的更新后事件写代码
第二:输入以下整段代码↓:
Private Sub Check2_AfterUpdate()
If check2 = 0 Then
Me.ygId.Enabled = False
Else
Dim a As String
lTimeID = timeSetEvent(10, 0, AddressOf TimeProc, 1, 1)
a = InputBox("需要输入密码才能修改数据,请输入密码", "密码inputbox")
'设置密码为123,您也可以在下一行自行设置密码------------------
If a = "123" Then
MsgBox "密码正确!可以修改此字段的数据", vbInformation, "提示:"
Me.ygId.Enabled = False
Else
MsgBox "密码不正确!您不能修改此字段的数据!", vbInformation, "提示:"
Exit Sub
End If
Me.ygId.Enabled = True
End If
End Sub
第三:这一步的作用是让输入的密码显示为星号,新建任意一模块,输入整段代码如下:
'模块中:
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Public Declare Function timeSetEvent Lib "winmm.dll" (ByVal uDelay As Long, ByVal uResolution As Long, ByVal lpFunction As Long, ByVal dwUser As Long, ByVal uFlags As Long) As Long
Public Declare Function timeKillEvent Lib "winmm.dll" (ByVal uID As Long) As Long
Public Const EM_SETPASSWORDCHAR = &HCC
Public lTimeID As Long
'timeSetEvent的回调函数
Sub TimeProc(ByVal uID As Long, ByVal uMsg As Long, ByVal dwUser As Long, ByVal dw1 As Long, ByVal dw2 As Long)
'在这里捕捉inputbox
hwd = FindWindow("#32770", "密码inputbox")
If hwd <> 0 Then
hwd = FindWindowEx(hwd, 0, "edit", vbNullString)
SendMessage hwd, EM_SETPASSWORDCHAR, 42, 0
timeKillEvent lTimeID
End If
End Sub
第四:保存模块命名为:basInputbox 并运行修改窗体看一下效果.
注:大家在开发自己软件过程中,也可以加以应用的,只需将代码中文本框名称改为自己软件的文本框名称即可
Access快速开发平台QQ群 (群号:321554481) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- Access对子窗体数据进行批...(10.30)
- 最精简的组合框行来源数据快速输...(10.25)
- Access仿平台的多值选择器...(10.24)
- 【Access日期区间段查询】...(10.22)
- 【Access源码示例】VBA...(10.12)
- Access累乘示例,Acce...(10.09)
- 数值8.88,把整数8去掉,转...(10.08)
- 【Access自定义函数】一个...(09.30)
- 【Access选项卡示例】Ac...(09.09)
学习心得
最新文章
- Access判断多条明细的配方或订...(11.30)
- 如何让后台数据库在局域网共享时,且...(11.29)
- 【Access月初月末日期设置方法...(11.29)
- 【Access IIF函数嵌套示例...(11.26)
- Access快速开发平台--使用组...(11.25)
- Access快速开发平台--对上传...(11.22)
- Access快速开发平台企业版--...(11.18)
- 不会用多表联合查询,多表查询没结果...(11.16)
- 【案例分享】主键字段值含有不间断空...(11.16)
- Access快速开发平台--后台D...(11.14)