Access交流中心

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

显示ACCESS后台的链接用户数量和计算机名称

vincent  发表于:2016-06-14 10:53:22  
复制

请问,ACCESS做的数据库,有前台文件,后台数据,如何才能显示查看有几个用户正在访问后台数据,并显示出用户的计算机名称。

有具体的VBA吗?

谢谢。

 

Top
杜超 发表于:2016-06-14 17:01:52

用户登陆时,写个更新查询,把在线字段,计算机名称字段更新下就行了

退出系统时,再 写个更新查询,将数据清空



Jason 发表于:2016-06-16 10:43:46

试试这个方法:

Sub ShowUserRosterMultipleUsers()
    Dim cn As Object ' New ADODB.Connection    使用后期绑定
    Dim rs As Object 'New ADODB.Recordset  使用后期绑定
    Dim i, j As Long
    Set cn = CreateObject("ADODB.Connection")

    cn.Provider = CurrentProject.Connection.Provider
    cn.CursorLocation = adUseClient
    cn.Properties("Jet OLEDB:Database Password") = "password"  '后台数据库的打开密码
    cn.Open "Data Source=" & "\\192.168.1.2\XXX\XX.accdb"  '换成自己的后台数据库的路径

    Set rs = cn.OpenSchema(adSchemaProviderSpecific,, "{947bb102-5d43-11d1-bdbf-00c04fb92675}")

    'Output the list of all users in the current database.

    Debug.Print Trim(rs.Fields(0).Name), "", Trim(rs.Fields(1).Name), "", Trim(rs.Fields(2).Name), Trim(rs.Fields(3).Name)

    While Not rs.EOF
        Debug.Print Trim(rs.Fields(0)), Trim(rs.Fields(1)), _
        Trim(rs.Fields(2)), Trim(rs.Fields(3))
        rs.MoveNext
    Wend
    cn.Close
    Set cn = Nothing
End Sub



Jason 发表于:2016-06-16 10:50:32

忘记释放rs对象了,在cn.close前面,插入

rs.close

set rs=nothing



zch 发表于:2016-06-16 16:42:50
纯用access的话,是否上线,只能是参考,如果正常使用,上面说的方法都可以,但如果不是正常使用的话,如断网,断电,或电脑死机就不灵了。建议后台数据库用SQL

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