Office中国论坛/Access中国论坛
标题:
[求助]验证密码执行一个命令
[打印本页]
作者:
zx1688
时间:
2005-3-6 02:05
标题:
[求助]验证密码执行一个命令
[attach]9211[/attach]
你好,我找到了不能发帖子的原因,原来是我的诺顿防火墙的原因。
现在有两问题求教:
DB1:我在增加窗体更新前加了名称简称不能为空的代码,现增加一个供应商,假设名称没填的话,点右上角的叉叉正常运行,但是点下面的“刷新”却不行,出现错误提示:3021,无当前记录。不知为什么?
DB2:因为取消结帐属于非正常操作,我想在运行前,有一个窗体出现,要求输入正在登陆用户的登陆密码进行验证,对了,就可以操作,不对则不能。好多财务软件都是这样做的。
谢谢![em07]
[此贴子已经被作者于2005-3-5 19:48:34编辑过]
作者:
情比金坚
时间:
2005-3-6 04:12
DB1的刷新按钮增加错误陷阱:Private Sub Command18_Click()
On Error GoTo Err_Command18_Click
DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70Exit_Command18_Click:
Exit SubErr_Command18_Click:
MsgBox Err.Description
Resume Exit_Command18_Click
End SubDB2用INPUTBOX()函数就应该可以啦。
作者:
zx1688
时间:
2005-3-6 04:28
你好!谢谢!这样更好些。On Error GoTo Err_Command18_Click
DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70
Forms!供应商资料设置窗体!供应商资料表子窗体.Form.Requery
Exit_Command18_Click:
Exit Sub
Err_Command18_Click:
'MsgBox Err.Description
Resume Exit_Command18_Click'DoCmd.RunCommand acCmdSaveRecord
End Sub这样就可以立即把新增的记录显示在主窗体里,而不需要退出再打开才显示。请问第二个问题函数要加在哪个地方?
作者:
情比金坚
时间:
2005-3-6 04:48
那就这样:Private Sub Command18_Click()
On Error GoTo Err_Command18_Click
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
Exit_Command18_Click:
Exit Sub
Err_Command18_Click:
Resume Exit_Command18_Click在这个地方:If (MsgBox("是否取消本月结帐?", 4 + 32 + 0, "存货核算系统") = 6) Then
If InputBox("请输入密码") = DLookup("[登陆密码]", "用户表", "[编号] = '100'") Then
作者:
情比金坚
时间:
2005-3-6 04:53
《专家门珍——ACCESS开发答疑200问》你买了吗?很值得呀。
作者:
zx1688
时间:
2005-3-6 05:22
谢谢!没有买,李寻欢说送一本我,但没时间去拿。密码是指登陆的用户密码,不一定是“100”,那么100改成什么呢?
作者:
zx1688
时间:
2005-3-6 05:48
你好!我这样做:If InputBox("请输入密码") = DLookup("[登陆密码]", "用户表", "[编号] = DLookup('参数4', '系统参数表', '[项目]='登陆用户'')") Then 结果提示:错误3075,操作符丢失。请赐教!
作者:
情比金坚
时间:
2005-3-6 06:15
以下是引用
zx1688
在2005-3-5 21:21:50的发言:
谢谢!没有买,李寻欢说送一本我,但没时间去拿。
密码是指登陆的用户密码,不一定是“100”,那么100改成什么呢?
这样也行?
[em03]
那王宇虹应该送我一本!
你如果是用access工作组登录的,那就=UserName
记得你是自己做的登录窗体,这样在登录时把登录姓名记在公共变量里,方便以后调用,其实我习惯在登录后把登录窗体隐藏而不是关闭,这样也很方便,还可以把其它的一些代码也写在这个窗体上,比如退出提示。
另,InputBox还有很多的参数,你参看一下帮助。
作者:
zx1688
时间:
2005-3-6 18:47
你好,王宇虹应该送一本你啊!用户登陆我是用“参数”表来记录的,退出系统提示我是在“程序”背景卸载事件加入的。你说的隐藏登陆窗体办法也很好。我把代码改成这个样子就行了,原来是标点符号打错了。If InputBox("请输入您的登陆密码") = DLookup("[登陆密码]", "用户表", "[编号] = DLookUp(""参数4"",""系统参数表"",""[项目]='登陆用户'"")") Then。。。。。Else
MsgBox "对不起,您的密码不对,不能取消结帐!", vbExclamation, "存货核算系统"
End IfInputBox的确有很多的参数,我想把标题改成“存货核算系统”,输入密码时显示为*****。我正在看帮助,不行又要麻烦你了。谢谢!
作者:
zx1688
时间:
2005-3-6 19:28
你好,标题已搞定。但输入密码的地方还是不能用***号显示,你有办法吗?
作者:
静儿
时间:
2005-3-6 21:55
InputBox("请输入您的登陆密码") 取消掉,用自定义的窗体,里面是文本框来代替,就能显示为星号
作者:
zx1688
时间:
2005-3-6 22:45
你的意思是说InputBox函数不能把密码设成星号?还是怎么的?自定义做一个可以,我库里本身就有,但用在取消结帐里,进度条功能就不能用啊
作者:
情比金坚
时间:
2005-3-7 00:32
自定义就得做成类模块了。我还不会,寻欢一定会!我只能教一个比较土的方案:你的密码验证框也做在[取消结帐]窗体里,平时是不可见的,按按钮后显示出来,而背后提示文字隐藏,再判断是否有效来进行下一步操作。
作者:
zx1688
时间:
2005-3-7 01:06
标题:
[求助]
[attach]9223[/attach]
你好,按你的意思做了一个,但不执行代码啊,你看看错在哪?谢谢!
作者:
情比金坚
时间:
2005-3-7 02:20
[attach]9225[/attach]
作者:
zx1688
时间:
2005-3-7 03:28
你好!效果非常好。但是命令22和Command14两者是什么关系呢?Command14怎么不见了呢?
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3