نوشته شده توسط
afshin000
با سلام خدمت هموطنان
من یک مشکل دارم وان اینطور است که ایا می شود با استفا ه از یک کد فهمید یک پایگاه داده در حال استفاده هست یا نه ودر صورت استفاده شدن منتظر بماند وبعد از فهمیدن اینکه ا زپایگاه فوق استفاده نمی شود شروع به استفاده از پایگاه (مثلا ثبت داده) شود
سلام
برای گرفتن لیست Users و وضعیت کانکت آنها می توانید از لینک زیر استفاده کنید:
https://support.microsoft.com/en-us/kb/285822
ام اگر تابعی برای منظور خودتان بخواهید با کمی دستکاری در کدهای لینک فوق می توانیم داشته باشیم:
Function IsUserConnect(strUser As String) As Boolean
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim j As Long
On Error GoTo ErrHandler
Set cn = CurrentProject.Connection
Set rs = cn.OpenSchema(adSchemaProviderSpecific, , _
"{947bb102-5d43-11d1-bdbf-00c04fb92675}")
Do While Not rs.EOF
If StrComp(rs.Fields(1), strUser, vbTextCompare) And rs.Fields(2) Then
IsUserConnect = True
Exit Do
End If
rs.MoveNext
Loop
cn.Close
Exit Function
ErrHandler:
For j = 0 To cn.Errors.Count - 1
Debug.Print "Conn Err Num : "; cn.Errors(j).Number
Debug.Print "Conn Err Desc: "; cn.Errors(j).Description
Next j
Resume Next
End Function
این مثال برای فایل اکسس جاری است و برای منظورهای دیگر بایستی ConnectionString شی cn در مثال را برای آن تنظیم کنید
موفق باشید