الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

[ تم الحل ] اسم المستخدم للشبكة

مغلق
بدأه فيصل الحربي في 20 أغسطس 2007 · 25 رد · 4,134 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته

لدي برنامج يعمل على الشبكة ( النماذج والاستعلامات في جهاز والجداول في جهاز آخر )

و أستمد إسم مستخدم البرنامج من إسم الدخول على الشبكة

طريقة الدخول على الشبكة :

اسم المستخدم = ( u101554)

ثم إدخال كلمة المرور

و من خلال زر إبدأ يظهر اسم المستخدم ( Faisal A. Alharbi ) وليس اسم الدخول للشبكة كما هو مبين بالشكل

post-5603-1187598623_thumb.jpg

سؤالي ماهو الأمر الذي يأتيني باسم المستخدم للشبكة ؟

إستخدمت الأمر

Environ("username")

ولكنه يأتيني بالرقم ( u101554) وليس اسمي ( Faisal A. Alharbi )

===

صورة
صورة

حسابي في الفيس بوك
http://goo.gl/XIzwL

حسابي في تويتر
http://goo.gl/6p4e3

 

 
 
#2

بسم الله الرحمن الرحيم

اخي الفاضل فيصل

السلام عليكم ورحمة الله وبركاته

تفضل اليك ما طلبت بطريقتين

الطريقة الأولى عن طريق الكود المبني على الوحدات النمطية

والطريقة الثانية بواسطة الدالة

ستجد في النموذج ثلاث مربعات نص

مربع النص غير منضم خاص بإسم الدخول للمستخدم على الشبكة ومربع النص الثاني ايضا غير منضم وهو خاص بإسم الكمبيوتر على الشبكة .

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

UserNameAndComputerName.rar

#3

الأخ الكريم فيصل والاخت الكريمة بقالنا زمان ننتظر الحاجات اللى من العيار الثقيل فجزاكما الله خيراً وأحسن إليكما اللهم آمين

#4

شكرا أختنا زهرة على هذه المعلومات المفيدة

شدت انتباهي دالة Environ بعد أن تعرفت عليها لأول مرة هنا

وقد قمت بعمل إجراء لاستعراض كل نتائجها :

Sub Test()
  Dim I As Byte
  Dim E As String
  Dim N As String

  On Error Resume Next

  For I = 1 To 100   '34
	E = Environ(I)

	If E <> "" Then
	  N = Left(E, InStr(1, E, "=") - 1)
	  MsgBox Environ(N), , "(" & I & ") " & N
	End If
  Next I

  MsgBox "The End"
End Sub

تم تعديل هذه المشاركة بواسطة Accessna في 21 أغسطس 2007 في 02:37

#5

بسم الله الرحمن الرحيم

بارك الله فيكم

الأخت زهرة

للأسف لم يظهر اسم المستخدم

post-5603-1187676777_thumb.jpg

===

صورة
صورة

حسابي في الفيس بوك
http://goo.gl/XIzwL

حسابي في تويتر
http://goo.gl/6p4e3

 

 
 
#6

السلام عليكم

الاخ فيصل .. سلمه الله

جرب هذا الكود البسيط جدا .. إن شاء الله ينفع

EKSEER

USER.rar

#8

سلام

أهلا أستاذي فيصل .. كيفك .. والله زمان،،

تحياتي للجميع،،

يوفر أكسس هذا الشيء .. يمكن هو المطلوب

MsgBox ("The current user is: " & CurrentUser)

أتمنى للجميع التوفيق

القحم

#9

بسم الله الرحمن الرحيم

وعليكم السلام ورحمة الله وبركاته

بارك الله فيكم أخواني الأعزاء

لم تفلح جميع المحاولات

فجميعها تحضر ( U101554 ) وليس الإسم

===

post-5603-1187691750_thumb.jpg

post-5603-1187691791_thumb.jpg

post-5603-1187691800_thumb.jpg

صورة
صورة

حسابي في الفيس بوك
http://goo.gl/XIzwL

حسابي في تويتر
http://goo.gl/6p4e3

 

 
 
#10

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

#11

سلام

تحياتي للجميع

هذا مثال إن شاء الله هو الصحيح

يارب يرضيك

Network.zip

تحياتي

القحم

#12

بسم الله الرحمن الرحيم

الأخ عبدالعزيز القحم

Network.accdb

كيف يفتح المثال ؟؟؟

===

صورة
صورة

حسابي في الفيس بوك
http://goo.gl/XIzwL

حسابي في تويتر
http://goo.gl/6p4e3

 

 
 
#13

اخي الفاضل فيصل

الملف الذي وضعه الأخ عبدالعزيز القحم معمول على اكسيس 2007 وتقريبا هو نفس الأكواد السابقة

لقد قمت بتحويله الى اكسيس 2003

Network2003.rar

#14

أخى فيصل هل U101554 هو الأسم اللى أدخلته اثناء تنصيب الـ Windows ثم غيرته لأسمك من الـ user Accounts ؟

#15

بسم الله الرحمن الرحيم

الأخت زهرة

سوف اجرب الكود غدا باذن الله لأن الجهاز الموجود حاليا في البيت لايوجد به أوفيس .

كلا أخي العزيز محمد السيد

تم تنصيب الويندوز بحساب الأدمن للشبكة ثم أدخل على الشبكة برقمي الوظيفي ( U101554 ) مع كلمة المرور .

===

صورة
صورة

حسابي في الفيس بوك
http://goo.gl/XIzwL

حسابي في تويتر
http://goo.gl/6p4e3

 

 
 
#16

سلام

تحياتي للجميع،،

يظهر لي أني فهمت المسألة خطأ !!!

يبدو لي أن الاستاذ فصيل يريد (اسم مستخدم ويندور)!! وليس (مستخدم الشبكة)!!

أنظروا إلى هذه العبارة

اقتباس
سؤالي ماهو الأمر الذي يأتيني باسم المستخدم للشبكة ؟
اقتباس
ولكنه يأتيني بالرقم ( u101554) وليس اسمي ( Faisal A. Alharbi )

والرقم : ( u101554) هو اسم مستخدم الشبكة!! وليس هو اسم مستخدم ويندوز ( Faisal A. Alharbi )

إن شاء الله ما أكون غلطان

جميع الأمثل التي أرفقناها تعيد اسم مستخدم الشبكة

تحياتي

القحم

#17
اقتباس
تم تنصيب الويندوز بحساب الأدمن للشبكة ثم أدخل على الشبكة برقمي الوظيفي ( U101554 ) مع كلمة المرور .

ده معناه أن الأسم اللى أستخدم فى عمل الحساب هو U101554 أما الأسم فتم تغيره من خلال الـ Admin ليكون أسمك , فى الحالة دى U101554 هو الأسم الأساسى أما أسمك فهو اسم ظاهر فقط.

للتأكد , هل مسار الـ User الخاص بك يشبه :

×:\Documents and Settings\U101554

أم

×:\Documents and Settings\Faisal A. Alharbi

تم تعديل هذه المشاركة بواسطة msayed2004 في 2 سبتمبر 2007 في 22:35

#18

(بسم)

أشكر الجميع على محاولاتهم لإيجاد حل لسؤالي .

msayed2004 كتب:
ده معناه أن الأسم اللى أستخدم فى عمل الحساب هو U101554 أما الأسم فتم تغيره من خلال الـ Admin ليكون أسمك , فى الحالى دى U101554 هو الأسم الأساسى أما أسمك غهو اسم ظاهر فقط.

للتأكد , هل مسار الـ User الخاص بك يشبه :

×:\Documents and Settings\U101554

أم

×:\Documents and Settings\Faisal A. Alharbi

الشبكة التي لدينا بها 10 الآف جهاز متصل على مستوى المملكة

فأستطيع الدخول برقمي ( U101554 ) مع كلمة المرور على أي جهاز في اي مدينة أذهب اليها مع العلم ان صلاحياتي كمستخدم وليس مدير

و عند الضغط على زر إبدأ يظهر إسمي كما هو مبين في الصورة الأولى أعلاة حتى لو دخلت على الــ 10 الاف جهاز

ويضع مسار لملفاتي بالطريقة التي ذكرها اخي محمد السيد

×:\Documents and Settings\U101554

و أيضا أي زميل في العمل يدخل برقمه ( uxxxxxx ) يظهر له اسمه الصريح في قائمة ابدأ

===

صورة
صورة

حسابي في الفيس بوك
http://goo.gl/XIzwL

حسابي في تويتر
http://goo.gl/6p4e3

 

 
 
#19

ده معناه أن U101554 هو الأسم الفعلى و Faisal A. Alharbi هو الـ Screen Name ( تقريبا ).

المفروض أن أحنا نقدر نجيبه بالدالة GetUserNameEx مع ضبط الـ NameFormat على 3 , لكن لسبب ما لم أتوصل اليه بالبحث (كتير واجهم المشكلة دى) لا يعمل على جهازى ( حتى بضبط الـ NameFormat على أى شئ آخر سوى 2 ) , عموما جربه على جهازك , يمكن يشتغل :

Option Explicit

Private Const ERROR_NONE_MAPPED As Long = 1332&
Private Const ERROR_NO_SUCH_DOMAIN As Long = 1355&

Private Declare Function GetUserNameEx Lib "secur32.dll" Alias "GetUserNameExA" (ByVal NameFormat As Long, ByVal lpBuffer As String, nSize As Long) As Long

Dim sBuffer As String, Ret As Long

sBuffer = String(256, 0)

Ret = Len(sBuffer)

Select Case GetUserNameEx(3, sBuffer, Ret)
	Case ERROR_NO_SUCH_DOMAIN
		MsgBox "Domain controller is not available to perform the lookup"
	Case ERROR_NONE_MAPPED
		MsgBox "User name is not available in the specified format"
	Case 0
		MsgBox "Error while retrieving the username"
	Case Else
		MsgBox Left$(sBuffer, Ret)
End Select

تم تعديل هذه المشاركة بواسطة msayed2004 في 2 سبتمبر 2007 في 22:34

#20

بالنسبة للكود الذي ارفقته سابقا يعمل على الاجهزة الشخصية 100% اي عند عدم وجود سيرفر

وسبب عدم ظهور الاسم ان الملف الشخصي profile موجود على سيرفر ما اي يجب ان نقوم باحضار هذا الاسم من السيرفر وليس من الجهاز الحالي

لذلك ارفقت المثال مرة اخرى بحيث يمكنك تغيير اسم السيرفر بحيث تضع اسم السيرفر الذي يتم عليه التحقق من الاسم وكلمة المرور

واذا سمحت الصلاحيات اعتقد سيتم الحصول على الاسم

وارجو من الاخوة التجريب على اجهزتهم

username2.rar

#21

بسم الله الرحمن الرحيم

Option Explicit

Private Const ERROR_NONE_MAPPED As Long = 1332&
Private Const ERROR_NO_SUCH_DOMAIN As Long = 1355&

Private Declare Function GetUserNameEx Lib "secur32.dll" Alias "GetUserNameExA" (ByVal NameFormat As Long, ByVal lpBuffer As String, nSize As Long) As Long

كودDim sBuffer As String, Ret As Long

sBuffer = String(256, 0)

Ret = Len(sBuffer)

Select Case GetUserNameEx(3, sBuffer, Ret)
	Case ERROR_NO_SUCH_DOMAIN
		MsgBox "Domain controller is not available to perform the lookup"
	Case ERROR_NONE_MAPPED
		MsgBox "User name is not available in the specified format"
	Case 0
		MsgBox "Error while retrieving the username"
	Case Else
		MsgBox Left$(sBuffer, Ret)
End Select

post-5603-1187770004_thumb.jpg

بارك الله فيك أخي محمد السيد

نجح الكود في جلب الإسم 100 %

أشكر كل من ساعدني في الحصول على إسم المستخدم

===

الأخ طارق - أيضا لم يفلح الكود في جلب الإسم و أشكرك على جهودك .

===

صورة
صورة

حسابي في الفيس بوك
http://goo.gl/XIzwL

حسابي في تويتر
http://goo.gl/6p4e3

 

 
 
#22

سلام

تحياتي للجميع،،

أهلا طارق،،

- إذا كنا على الشبكة .. فمن المفروض (NetUserGetInfo) مع ضبط الـ (UserInfo) على 3 أو أنا غلطان

- أنت صرحت عن (NetUserGetInfo) لكن مع زحمة التصريحات صار يمكن في تضارب .. خليك على (NetUserGetInfo) فقط-

- مع (NetUserGetInfo) نحن بحاجة إلى معرفة المتحول (UserFullName) لأن الاسم الكامل من المفترض يكون فيه ..

- أنت أعطيت UserFullName لكن من داخل (GetUserNetworkInfo) ولهذا لم تعد هذه الدالة شيء عند تجربتها على الشبكة

- أرجو إعادة صياغة المثال مع الدالة (NetUserGetInfo) والمتحول (UserFullName) مع ضبط (UserInfo) على 3

التمنى للجميع التوفيق

القحم

تم تعديل هذه المشاركة بواسطة القحم في 22 أغسطس 2007 في 12:04

#23

بسم الله الرحمن الرحيم

بارك الله فيكم اخواني

جميل جدا ما توصلنا اليه

#24

هل استطيع ان اعرف المتواجدين على البرنامج اذا كان على الشبكة

يعني ان عنده 20 مستخدم

اريد ان اظهر اسم المستخدمين في جدول وهو الحاليين المتواجدين على البرنامج

#25

يعطيكم العافية

بس اذا كان بالعربي

ما يظهر الاسم بالعربي

بس نفس ما قال اخونا مشاكس

هل نستطيع ان نعرف من المتواجدين على النظام

هذا الموضوع مغلق.

مواضيع مشابهة