Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

这个通用用户登录不知如何加入机器码栏

zhg  发表于:2012-01-11 15:57:24  
复制

请求给这个通用登录窗加入机器码栏

 

Top
zhg 发表于:2012-01-12 20:48:07
zhg 发表于:2012-02-03 20:33:26

有那位高手帮个忙,谢谢!



蟹仔 发表于:2012-02-03 21:35:36
机器码有很多种,这个是硬盘序列号。点击下载此附件

zhg 发表于:2012-02-04 18:10:16

谢谢司令,我想要的是把用户的硬盘机器码存在数据库,用户登陆必须与数据库的机器码对应,如果不对应就无法登陆,也就是指那台电脑能访问数据库,不在登陆窗输入机器码,请您再赐教!再次谢谢!



蟹仔 发表于:2012-02-04 18:28:17

Private Sub 登录系统_Click()
If Nz([密码]) = Nz(DLookup("密码", "用户密码表", "用户=" & "'" & 用户名 & "'")) _
    And Me.用户名 <> ""  and 硬盘序列号="XXXXXXXXXXXXXXX" Then                           '验证用户和密码)
        UserID = Nz(DLookup("用户ID", "用户密码表", "用户=" & "'" & 用户名 & "'")) '新增加的语句
        Me.TimerInterval = 0                                '关闭定时器
        Me.Visible = False                                  '隐藏窗体
        DoCmd.Close acForm, "登录窗体", acSaveYes       '关闭前景
        DoCmd.OpenForm "切换面板"                           '进入价格检查系统
     
Else
        MsgBox "用户名或者密码错误!请重新输入!", , "请重新输入"
        Me.用户名.SetFocus                             '用户名文本框获得焦点
        Me.密码 = ""                                     '清空密码文本框
                                          '新增加的语句
End If

Exit_Cmd登录系统_Click:
    Exit Sub

Err_Cmd登录系统_Click:
    MsgBox Err.Description
    Resume Exit_Cmd登录系统_Click
   
End Sub



zhg 发表于:2012-02-04 22:08:31
and 硬盘序列号="XXXXXXXXXXXXXXX" Then    改成  and 硬盘序列号="-120876122"Then    -120876122是硬盘码  改后不能进入,提示密码错,不知错那里。请您教我!

zhg 发表于:2012-02-04 22:09:26
蟹仔 发表于:2012-02-04 22:55:37
你把上面form lond里面的那两行代码复制下来。放到Private Sub 登录系统_Click()的下面。或者把上面的Private改成public。我忘记上面的定义变量不是公共的。所以直接加上去没用。


zhg 发表于:2012-02-06 20:29:30

谢谢您!已搞定。就是美中不足的是:不能在硬盘序列号字段里存多用户的硬盘数据,如果客户电脑打开数据库时能自动检索电脑序列号,当没有对应的硬盘数据就不能打开数据库,还有Shift健还是能打开,客户还能删除代码。再次感谢您,盼您能再次回复。



蟹仔 发表于:2012-02-06 20:35:16
可以存在表里,你加代码判断 if dcount("硬盘序列号","表","序列号=" & 硬盘序列号 & "") < 1 then 这样就可以判断在不在列表里面,用mac地址判断也行。你可以禁用shift。如何禁用自己搜索本论坛,你把他编译成mde文件就不能删代码了。但你自己要保留一份mdb的用来日后升级用。

zhg 发表于:2012-02-06 21:08:24
您好!我加进去,说是编译错,不知if dcount("硬盘序列号","表","序列号=" & 硬盘序列号 & "") < 1 then 放在那里。

zhg 发表于:2012-02-06 21:08:51
蟹仔 发表于:2012-02-06 22:28:00
点击下载此附件 第一,你无加end sub 第二,if放反了,如果记录小于一条是提示不能登陆,而不是接着登陆的代码。要不就把后面的条件改成>=1.第三,既然字段为文本,就改为单引号。

zhg 发表于:2012-02-07 20:13:29

司令您好!万分感谢,您在百忙之中给我回复。我想论坛里的朋友也会受益非浅的,再次谢谢!



总记录:14篇  页次:1/1 9 1 :