ورود

View Full Version : سوال: یافتن لیست کاربر هایی که با برنامه کار میکنند



angela001
یک شنبه 30 اردیبهشت 1397, 08:46 صبح
با سلام و عرض تشکر
برنامه اکسسی طراحی کردم که کاربران زیادی از اون استفاده میکنند، چطور میتونم لیستی از کاربرانی که هر لحظه از برنامه استفاده میکنند و برنامه اکسس من روی سیستم آنها فعال هست رو چک کنم؟

amirzazadeh
یک شنبه 30 اردیبهشت 1397, 19:22 عصر
شايد اين كد به دردتون بخوره:

Option Compare Database
Option Explicit
Sub ShowUserRosterMultipleUsers()
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim i, j As Long
Dim db As Database
Dim rsDao As DAO.Recordset

Set cn = CurrentProject.Connection
Set db = CurrentDb
Set rsDao = db.OpenRecordset("Users", dbOpenTable, dbAppendOnly + dbFailOnError)

' The user roster is exposed as a provider-specific schema rowset
' in the Jet 4.0 OLE DB provider. You have to use a GUID to
' reference the schema, as provider-specific schemas are not
' listed in ADO's type library for schema rowsets

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

'Output the list of all users in the current database.
Do While Not rs.EOF
rsDao.AddNew
rsDao!User.Value = rs.Fields(0)
rsDao.Update
rs.MoveNext
Loop
End Sub

براي ذخيره اسامي كاربران يك جدول با نام users درست كن كه يك فيلد با نام user داشته باشه.
.................
موفق باشيد

angela001
سه شنبه 01 خرداد 1397, 11:43 صبح
شايد اين كد به دردتون بخوره:

Option Compare Database
Option Explicit
Sub ShowUserRosterMultipleUsers()
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim i, j As Long
Dim db As Database
Dim rsDao As DAO.Recordset

Set cn = CurrentProject.Connection
Set db = CurrentDb
Set rsDao = db.OpenRecordset("Users", dbOpenTable, dbAppendOnly + dbFailOnError)

' The user roster is exposed as a provider-specific schema rowset
' in the Jet 4.0 OLE DB provider. You have to use a GUID to
' reference the schema, as provider-specific schemas are not
' listed in ADO's type library for schema rowsets

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

'Output the list of all users in the current database.
Do While Not rs.EOF
rsDao.AddNew
rsDao!User.Value = rs.Fields(0)
rsDao.Update
rs.MoveNext
Loop
End Sub

براي ذخيره اسامي كاربران يك جدول با نام users درست كن كه يك فيلد با نام user داشته باشه.
.................
موفق باشيد

تشکر ولی متوجه نشدم
بعد ساختن جدولی که فرمودید باید یک فرم بسازم ، در قسمت general فرم این کد رو وارد کنم؟ باید text box بسازم که اسامی افرادی که برنامه روی سیستمشون به اشتراک گذاشته شده و فعاله رو نمایش بده؟ در صورت امکان فایل پیوست کنید یا توضیح بیشتری بدین.. ممنونم

amirzazadeh
سه شنبه 01 خرداد 1397, 19:16 عصر
سلام
يك نمونه از سايت پروگرامر براتون اپلود كردم.اميدوارم به دردتون بخوره.