Zooro1 قام بنشر يونيو 17 قام بنشر يونيو 17 سؤال الأخوة الافاضل، هل يوجد لدي أحدكم قاعدة بيانات بسيطة فيها إظهار عدد المستخدمين اون لاين واسمائهم في الشاشة الرئيسية. زي مثلا عندي ١٠ مستخدمين، واللي فاتحين القاعدة الان ٥. يظهر في الشاشة الرئيسية ٥ مستخدمين عددهم والاسماء. اتمني اكون وصلت الفكرة... وشكرا
Barna قام بنشر يونيو 18 قام بنشر يونيو 18 17 ساعات مضت, Zooro1 said: سؤال الأخوة الافاضل، هل يوجد لدي أحدكم قاعدة بيانات بسيطة فيها إظهار عدد المستخدمين اون لاين واسمائهم في الشاشة الرئيسية. زي مثلا عندي ١٠ مستخدمين، واللي فاتحين القاعدة الان ٥. يظهر في الشاشة الرئيسية ٥ مستخدمين عددهم والاسماء. اتمني اكون وصلت الفكرة... وشكرا هل جربت استخدام خاصية البحث في المنتدى ...... هناك العديد من المواضيع المشابهة المطروحة سابقا 1
Zooro1 قام بنشر يونيو 18 الكاتب قام بنشر يونيو 18 1 ساعه مضت, Barna said: هل جربت استخدام خاصية البحث في المنتدى ...... هناك العديد من المواضيع المشابهة المطروحة سابقا بحث والله ولكن لم اجد، يمكن بحثي غلط او شيء. اذا لديك لينك لموضوع اتمني تبعته
jjafferr قام بنشر يونيو 18 قام بنشر يونيو 18 وعليكم السلام 🙂 تحصل على النتيجة التالية (لأني الوحيد اللي فاتح البرنامج، فلا ترى الا اسم كمبيوتري) : 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 المتصل بقاعدة البيانات الان ، فمن ذي وذاك ، تتوصل الى معرفة اسم المستخدم اللي فاتح قاعدة البيانات الان 🙂 جعفر 1
Zooro1 قام بنشر يونيو 18 الكاتب قام بنشر يونيو 18 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 المتصل بقاعدة البيانات الان ، فمن ذي وذاك ، تتوصل الى معرفة اسم المستخدم اللي فاتح قاعدة البيانات الان 🙂 جعفر وهل ممكن يكون فيه نموذج مثلا اضغط عليه يطلع لي أسماء المستخدمين الحالين. واذا كان لديك مثال جدول وفيه الاكواد اكون شاكر ليك
jjafferr قام بنشر يونيو 18 قام بنشر يونيو 18 38 دقائق مضت, jjafferr said: طريقة العمل: اعمل جدول فيه حقل Computer_Name ، واسم المستخدم ، والكود اعلاه يعطيك Computer_Name المتصل بقاعدة البيانات الان ، فمن ذي وذاك ، تتوصل الى معرفة اسم المستخدم اللي فاتح قاعدة البيانات الان 🙂 نعم ، اعمل الجدول ، والنموذج على اساس الجدول ، والباقي سهل ان شاء الله. ولا ما عندي عمل ممكن ارفقه. الخطوة اعلاه هي اساس العمل كله، والباقي خطوات سهله 🙂 جعفر 1
Barna قام بنشر يونيو 18 قام بنشر يونيو 18 من باب اثراء الموضوع ومشاركة مع البرف @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 1
jjafferr قام بنشر يونيو 19 قام بنشر يونيو 19 همممم 11 ساعات مضت, Barna said: MsgBox "Current Users:" & vbNewLine & UserList يتم الاحتفاظ بـ Login_Name في ملف صلاحيات المستخدمين mdw. ، واللي كان يُستخدم في الاكسس 2003 فما قبل ، والموجود في في الاكسس 2007 فما فوق ولكنه ليس لاستخدام المستخدمين 🙂 لهذا السبب ، وعند استخدام الكود الذي عرضته انا (والذي لا يحتاج الى معرفة مكان هذا الملف ، ومن المعروف ان المسؤول بإمكانه عمل ملف mdw لكل برنامج حسب مستخدميه ، ويعيد تسمية الملف) ، او كود قراءة ملف ldb. (للاكسس 2003 فما قبل) او laccdb. (للاكسس 2007 فما فوق) الذي عرضته انت ، فالملف لا يوجد به اسماء المستخدمين ، وانما به قطعاً Computer_Name والذي ياخذه من الوندوز 🙂 جعفر 1 1
Barna قام بنشر يونيو 19 قام بنشر يونيو 19 منذ ساعه, jjafferr said: يتم الاحتفاظ بـ Login_Name في ملف صلاحيات المستخدمين mdw. ، واللي كان يُستخدم في الاكسس 2003 فما قبل ، والموجود في في الاكسس 2007 فما فوق ولكنه ليس لاستخدام المستخدمين 🙂 لهذا السبب ، وعند استخدام الكود الذي عرضته انا (والذي لا يحتاج الى معرفة مكان هذا الملف ، ومن المعروف ان المسؤول بإمكانه عمل ملف mdw لكل برنامج حسب مستخدميه ، ويعيد تسمية الملف) ، او كود قراءة ملف ldb. (للاكسس 2003 فما قبل) او laccdb. (للاكسس 2007 فما فوق) الذي عرضته انت ، فالملف لا يوجد به اسماء المستخدمين ، وانما به قطعاً Computer_Name والذي ياخذه من الوندوز 🙂 بارك الله فيك بروف @jjafferr على المعلومات القيمة ونفع بك ..
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.