Đáp:
1) Để hiển thị user và computer name log in vào chương trình bạn phải dùng ADO recordset (không dùng DAO) do vậy bạn nhớ tham chiếu đến thư viện ADO 2.x
2) Dùng 1 loại ADO recordset đặc biệt , có tên là Schema Information để lấy thông tin user và computer name log in đang sử dụng chương trình.
3) Cách làm như sau :
- Bạn tạo 1 Form (F_TrackUsers) có 1 listbox và 2 command button.
+ Listbox tên : lboConnections
Đây là unbound Listbox, lưu ý : Row Source Type : value list.
+ 1 command button tên : CmdRefresh
+ 1 command button tên : CmdClose
- Ở cửa sổ viết code, nhập các đoạn code sau :
Private Sub cmdClose_Click()
DoCmd.Close
End Sub
Private Sub cmdRefresh_Click()
ListConnections
End Sub
Private Sub Form_Load()
ListConnections
End Sub
Private Sub ListConnections()
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim strComputerName As String
Set cnn = CurrentProject.Connection
Set rst = cnn.OpenSchema(adSchemaProviderSpecific, , _
"{947bb102-5d43-11d1-bdbf-00c04fb92675}")
lboConnections.RowSource = vbNullString
lboConnections.AddItem "Computer Name;Login Name"
Do While Not rst.EOF
If rst("Connected") Then
strComputerName = rst("Computer_Name")
lboConnections.AddItem Left(strComputerName, _
InStr(strComputerName, vbNullChar) - 1) & ";" & rst("Login_Name")
End If
rst.MoveNext
Loop
rst.Close
Set rst = Nothing
Set cnn = Nothing
End Sub
4) Nguyên lý : Khi bạn mở form F_TrackUsers, Sub ListConnections() sử dụng ADO record đăc biệt đã nói ở trên để lấy thông tin và hiển thị trong listbox lboConnections.
tác giả: hungtano
____________________________________________________________________________________
Thảo luận thêm: http://thuthuataccess.com/forum
Nó báo lỗi ở mục Form_Load(), bạn ơi. Nó báo ngay mục listconnections. bạn xem lại dùm mình
Trả lờiXóamình với bạn ơi. Mình cảm ơn !