اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

الردود الموصى بها

قام بنشر

سؤال الأخوة الافاضل، هل يوجد لدي أحدكم قاعدة بيانات بسيطة فيها إظهار عدد المستخدمين اون لاين واسمائهم في الشاشة الرئيسية. 

زي مثلا عندي ١٠ مستخدمين،  واللي فاتحين القاعدة الان ٥.

يظهر في الشاشة الرئيسية ٥ مستخدمين عددهم والاسماء.

اتمني اكون وصلت الفكرة... وشكرا 

قام بنشر
17 ساعات مضت, Zooro1 said:

سؤال الأخوة الافاضل، هل يوجد لدي أحدكم قاعدة بيانات بسيطة فيها إظهار عدد المستخدمين اون لاين واسمائهم في الشاشة الرئيسية. 

زي مثلا عندي ١٠ مستخدمين،  واللي فاتحين القاعدة الان ٥.

يظهر في الشاشة الرئيسية ٥ مستخدمين عددهم والاسماء.

اتمني اكون وصلت الفكرة... وشكرا 

هل جربت استخدام خاصية البحث في المنتدى ...... هناك العديد من المواضيع المشابهة المطروحة سابقا

  • Like 1
قام بنشر
1 ساعه مضت, Barna said:

هل جربت استخدام خاصية البحث في المنتدى ...... هناك العديد من المواضيع المشابهة المطروحة سابقا

بحث والله ولكن لم اجد، يمكن بحثي غلط او شيء.

اذا لديك لينك لموضوع اتمني تبعته

قام بنشر

وعليكم السلام 🙂

 

تحصل على النتيجة التالية (لأني الوحيد اللي فاتح البرنامج، فلا ترى الا اسم كمبيوتري) :

COMPUTER_NAME               LOGIN_NAME                  CONNECTED     SUSPECT_STATE
myPC                        Admin                       True          Null

 

من الكود التالي:

Function ShowUserRosterMultipleUsers_Jet_4()
    Dim cn As New ADODB.Connection
    Dim rs As New ADODB.Recordset

    Set cn = CurrentProject.Connection

    ' 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.

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

    While Not rs.EOF
        Debug.Print rs.Fields(0), rs.Fields(1), _
        rs.Fields(2), rs.Fields(3)
        rs.MoveNext
    Wend

    rs.Close: Set rs = Nothing
    cn.Close: Set cn = Nothing
    
End Function

.

 

طريقة العمل:

اعمل جدول فيه حقل Computer_Name ، واسم المستخدم ،

والكود اعلاه يعطيك Computer_Name المتصل بقاعدة البيانات الان ، 

فمن ذي وذاك ، تتوصل الى معرفة اسم المستخدم اللي فاتح قاعدة البيانات الان 🙂

 

جعفر

 

  • Like 1
قام بنشر
10 دقائق مضت, jjafferr said:

وعليكم السلام 🙂

 

تحصل على النتيجة التالية (لأني الوحيد اللي فاتح البرنامج، فلا ترى الا اسم كمبيوتري) :

COMPUTER_NAME               LOGIN_NAME                  CONNECTED     SUSPECT_STATE
myPC                        Admin                       True          Null

 

من الكود التالي:

Function ShowUserRosterMultipleUsers_Jet_4()
    Dim cn As New ADODB.Connection
    Dim rs As New ADODB.Recordset

    Set cn = CurrentProject.Connection

    ' 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.

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

    While Not rs.EOF
        Debug.Print rs.Fields(0), rs.Fields(1), _
        rs.Fields(2), rs.Fields(3)
        rs.MoveNext
    Wend

    rs.Close: Set rs = Nothing
    cn.Close: Set cn = Nothing
    
End Function

.

 

طريقة العمل:

اعمل جدول فيه حقل Computer_Name ، واسم المستخدم ،

والكود اعلاه يعطيك Computer_Name المتصل بقاعدة البيانات الان ، 

فمن ذي وذاك ، تتوصل الى معرفة اسم المستخدم اللي فاتح قاعدة البيانات الان 🙂

 

جعفر

 

وهل ممكن يكون فيه نموذج مثلا اضغط عليه يطلع لي أسماء المستخدمين الحالين.

واذا كان لديك مثال جدول وفيه الاكواد اكون شاكر ليك

قام بنشر
38 دقائق مضت, jjafferr said:

طريقة العمل:

اعمل جدول فيه حقل Computer_Name ، واسم المستخدم ،

والكود اعلاه يعطيك Computer_Name المتصل بقاعدة البيانات الان ، 

فمن ذي وذاك ، تتوصل الى معرفة اسم المستخدم اللي فاتح قاعدة البيانات الان 🙂

نعم ، اعمل الجدول ، والنموذج على اساس الجدول ، والباقي سهل ان شاء الله.

ولا ما عندي عمل ممكن ارفقه.

 

الخطوة اعلاه هي اساس العمل كله، والباقي خطوات سهله 🙂

 

جعفر

  • Like 1
قام بنشر

من باب اثراء الموضوع ومشاركة مع البرف @jjafferr لم اجرب الكود ولكن ضعه في زر النموذج واعلمنا بالنتيجة

Dim ws As DAO.Workspace
Dim db As DAO.Database
Dim LDBFileName As String
Dim FileNum As Integer
Dim TmpStr As String
Dim UserList As String

Set ws = DBEngine.Workspaces(0)
Set db = ws.Databases(0)
 LDBFileName = CurrentProject.Path & "\" & Left(CurrentProject.Name, (InStrRev(CurrentProject.Name, ".", -1, vbTextCompare) - 1)) & ".ldb"
 MsgBox LDBFileName
FileNum = FreeFile()
Open LDBFileName For Input As #FileNum

Do While Not EOF(FileNum)
    Line Input #FileNum, TmpStr
    If TmpStr <> "" Then
        UserList = UserList & TmpStr & vbNewLine
    End If
Loop

Close #FileNum

MsgBox "Current Users:" & vbNewLine & UserList

 

  • Like 1
قام بنشر

همممم

11 ساعات مضت, Barna said:
MsgBox "Current Users:" & vbNewLine & UserList

 

يتم الاحتفاظ بـ Login_Name في ملف صلاحيات المستخدمين mdw. ، واللي كان يُستخدم في الاكسس 2003 فما قبل ، والموجود في في الاكسس 2007 فما فوق ولكنه ليس لاستخدام المستخدمين 🙂

لهذا السبب ، وعند استخدام الكود الذي عرضته انا (والذي لا يحتاج الى معرفة مكان هذا الملف ، ومن المعروف ان المسؤول بإمكانه عمل ملف mdw لكل برنامج حسب مستخدميه ، ويعيد تسمية الملف) ، او كود قراءة ملف ldb. (للاكسس 2003 فما قبل) او laccdb. (للاكسس 2007 فما فوق) الذي عرضته انت ،

فالملف لا يوجد به اسماء المستخدمين ، وانما به قطعاً Computer_Name والذي ياخذه من الوندوز 🙂

 

جعفر

  • Like 1
  • Thanks 1
قام بنشر
منذ ساعه, jjafferr said:

يتم الاحتفاظ بـ Login_Name في ملف صلاحيات المستخدمين mdw. ، واللي كان يُستخدم في الاكسس 2003 فما قبل ، والموجود في في الاكسس 2007 فما فوق ولكنه ليس لاستخدام المستخدمين 🙂

لهذا السبب ، وعند استخدام الكود الذي عرضته انا (والذي لا يحتاج الى معرفة مكان هذا الملف ، ومن المعروف ان المسؤول بإمكانه عمل ملف mdw لكل برنامج حسب مستخدميه ، ويعيد تسمية الملف) ، او كود قراءة ملف ldb. (للاكسس 2003 فما قبل) او laccdb. (للاكسس 2007 فما فوق) الذي عرضته انت ،

فالملف لا يوجد به اسماء المستخدمين ، وانما به قطعاً Computer_Name والذي ياخذه من الوندوز 🙂

 

بارك الله فيك بروف @jjafferr على المعلومات القيمة ونفع بك .. :fff:

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information