设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: zww3008
打印 上一主题 下一主题

[Access本身] 如何根据登录/退出日志,提炼出用户在线状态?

[复制链接]
11#
 楼主| 发表于 2011-7-7 00:49:57 | 只看该作者
搞锭了,删除代代码:
strSQL = "DELETE  * FROM 在线用户"
strSQL = strSQL & " WHERE (((在线用户.FComputerName)=Environ$('ComputerName')) AND ((在线用户.FUserName)=UserName()));"
CurrentDb.Execute strSQL
12#
发表于 2011-7-7 11:40:38 | 只看该作者
谢谢你的回复。不过用户表不带电脑名称信息。
新建一个在线用户表,已经实现了:

如果用户在一台机已登陆,然后在另外一台机再次登陆后退出;请问该用户是在线还是不在线呢,答案是在线,但系统已显示为离线了。因为在线用户表的记录在用户退出时已删除了。所以,你这种方法不是更好的方法。
13#
 楼主| 发表于 2011-7-8 23:51:06 | 只看该作者
本帖最后由 zww3008 于 2011-7-8 23:51 编辑
aslxt 发表于 2011-7-8 18:37
可以在登陆时判断是否已经登陆过,如果已经登陆过还没有退出的,就让他先(强制)退出,然后再登陆


没必要,如果登录记录还在,再次登录时重写一相同信息,也没关系啊,可以采用防止重复追加的方式写信息,最简单的方法是组合框的行来源采用分组总计,删除时是依据电脑名+登录用户名比较的方式 ,只要对上,不管多少条相同记录都一同删除。
14#
 楼主| 发表于 2011-7-7 23:12:28 | 只看该作者
本帖最后由 zww3008 于 2011-7-7 23:14 编辑
fine88888888 发表于 2011-7-7 11:40
如果用户在一台机已登陆,然后在另外一台机再次登陆后退出;请问该用户是在线还是不在线呢,答案是在线,但 ...


我删除的条件是电脑名与用户名两者都相同。你提出的要求我的方法洽洽能满足。
15#
 楼主| 发表于 2011-7-8 23:47:18 | 只看该作者
轻风 发表于 2011-7-8 14:27
如果网线意外断线了,岂不是永远都在线了?

是的,这种情况如果不通过计时器写信息验证,就没办法了,不过,这不是什么大不了的事,等下次再登录/退出时,就删除了。或者增加一个删除按钮,删除自己知道的在线记录就可以了。
16#
发表于 2011-7-8 13:48:54 | 只看该作者
能发个实例参考下吗?我现在用的是更新用户在线,所以出现上面我提出的困扰。

点击这里给我发消息

17#
发表于 2011-7-8 14:27:29 | 只看该作者
如果网线意外断线了,岂不是永远都在线了?
18#
发表于 2011-7-8 18:37:01 | 只看该作者
可以在登陆时判断是否已经登陆过,如果已经登陆过还没有退出的,就让他先(强制)退出,然后再登陆
19#
发表于 2011-7-9 08:46:18 | 只看该作者
没必要,如果登录记录还在,再次登录时重写一相同信息,也没关系啊,可以采用防止重复追加的方式写信息,最简单的方法是组合框的行来源采用分组总计,删除时是依据电脑名+登录用户名比较的方式 ,只要对上,不管多少条相同记录都一同删除。

问题是,用户在其他电脑上偶尔登陆然后掉线了,如果要显示正常的话,他还要再来那台掉线的机子上再登陆一次才行,是不是??因为你删除条件还有机器名。他在他本人的机子上永远也删除不了那条在线记录。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-10-6 11:21 , Processed in 0.085715 second(s), 31 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表