设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1131|回复: 6
打印 上一主题 下一主题

[Access本身] ACCESS中能否知网络中的计算机名称

[复制链接]
跳转到指定楼层
1#
发表于 2002-9-5 17:08:00 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
在ACCESS中能否取得本计算机或别的计算机在公司局域网中的计算机名称,希望高手帮帮小弟,谢谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
7#
发表于 2006-1-22 23:34:00 | 只看该作者
Option Compare Database
Option Explicit
Private Declare Function api_GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Private Declare Function api_GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Public Function atCNames(UOrC As Integer) As String '获取用户的计算机及帐户
On Error Resume Next


    Dim NBuffer As String
    Dim Buffsize As Long
    Dim Wok As Long
        
    Buffsize = 256
    NBuffer = Space$(Buffsize)
   
    If UOrC = 1 Then
        Wok = api_GetUserName(NBuffer, Buffsize)
        atCNames = Trim$(NBuffer)
    Else
        Wok = api_GetComputerName(NBuffer, Buffsize)
        atCNames = Trim$(NBuffer)
    End If
    If Right(atCNames, 1) = Chr(0) Then
        atCNames = Left(atCNames, Len(atCNames) - 1)
    End If
End Function
Public Sub 日志(A As Integer) '进入写入RS系统日志(在当前数据库增加记录)
On Error GoTo Err_A
Dim dbs As Database '数据库
Dim rs As Recordset '代表指定窗体、报表、列表框控件或组合框控件的记录源
Set dbs = CurrentDb 'CurrentDb 方法返回一个类型为 Database 的对象变量
Set rs = dbs.OpenRecordset("XT系统日志") '打开记录源
rs.AddNew '新增记录


If A = 1 Then
rs("类别") = "进入"
ElseIf A = 2 Then
rs("类别") = "退出"
End If


rs("日期") = Now
rs("用户") = Forms![控制面板]!当前用户
rs("帐户") = atCNames(1)
rs("计算机") = atCNames(2)
rs("备注") = Screen.ActiveForm.Name
rs.Update '更新
dbs.Close '关闭数据库
Exit_A:
    Exit Sub
Err_A:
   If Err.Number <> 0 Then
   MsgBox "无法写入系统日志!" & Chr(10) & "错误号:" & Err.Number, vbCritical
   End If
    Resume Exit_A


End Sub


'**************************************************
'Public Sub 系统日志in() '进入写入记事本
'Dim fs, A
'Set fs = CreateObject("Scripting.FileSystemObject")
'Set A = fs.OpenTextFile(CurrentProject.Path & "\系统日志.txt", 8, 0)
'A.WriteLine ("进入 " & Now & " " & Forms![控制面板]!当前用户 & " " & atCNames(1) & "/" & atCNames(2))
'A.Close
'End Sub
6#
发表于 2006-1-7 05:27:00 | 只看该作者
以下是引用secowu在2006-1-4 18:06:00的发言:







可否做个例子说来,大师?


我用那个WINSOCK,如果有几个网卡就惨了


看来 secowu 有些急切,如果是想获得  后台链接表的所在的机器名称的话,可以在查询中找到。


我的回答和主题有些不符,只是灌水而已。


[此贴子已经被作者于2006-1-6 21:27:57编辑过]

5#
发表于 2006-1-5 02:06:00 | 只看该作者
以下是引用ganrong在2002-9-13 17:40:00的发言:
用API可以,VB有类似源代码





可否做个例子说来,大师?


我用那个WINSOCK,如果有几个网卡就惨了

点击这里给我发消息

4#
发表于 2002-9-14 01:40:00 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
3#
发表于 2002-9-14 00:42:00 | 只看该作者
我有源码,但要用到wincosk控件
2#
发表于 2002-9-5 21:57:00 | 只看该作者
这已经超出ACCESS的范畴了,你在VB的论坛上找找,应该会有。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-3 05:21 , Processed in 0.256497 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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