السلام عليكم....
لقد قمت باستخدام الدالة Environ("Username") في احد استعلامات برنامج اكسس 2003 وعندما قمت بتحويل البرنامج الى اكسس 2007 لم يعمل الاستعلام ويخبرني ان الدالة غير معرفة فما هو الحل وشكرا...
السلام عليكم....
لقد قمت باستخدام الدالة Environ("Username") في احد استعلامات برنامج اكسس 2003 وعندما قمت بتحويل البرنامج الى اكسس 2007 لم يعمل الاستعلام ويخبرني ان الدالة غير معرفة فما هو الحل وشكرا...
عندك :
User = VBA.Environ("UserName")MsgBox (User)وعندك كمان :
Private Declare Function apiGetUserName Lib "advapi32.dll" Alias _
"GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Function fOSUserName() As String
Dim lngLen As Long, lngX As Long
Dim strUserName As String
strUserName = String$(254, 0)
lngLen = 255
lngX = apiGetUserName(strUserName, lngLen)
If (lngX > 0) Then
fOSUserName = Left$(strUserName, lngLen - 1)
Else
fOSUserName = vbNullString
End If
End Functionواستدعاء الأخيرة مثلا :
Private Sub Command0_Click()MsgBox (fOSUserName())End Sub
عاوز دوال تاني ولا كفاية ؟
تم تعديل هذه المشاركة بواسطة أمير2008 في 23 أبريل 2014 في 13:15
السلام عليكم
في البداية مشكور يا اخي على الرد وبارك الله فيك
ولكن سؤالي هو عند استخدام الدالة في الاستعلام وليس في منشي الكود البرمجي ، اي انه عنما اقوم بعملية فرز البيانات في الاستعلام بناء على اسم اليوزر يعترض الاكسس 2007 وهذه المشكلة لم تكن موجوده في اكسس 2003
اخي الفاضل
هذه الدالة غير مدعومة في اكسيس 2007
لذا ليس لك طريقة سوى استخدام هذه الطريقة
اولا : ضع هذه الدالة في وحده نمطية جديده
Public Function Environ(Expression)
On Error GoTo Err_Environ
Environ = VBA.Environ(Expression)
Exit_Environ:
Exit Function
Err_Environ:
MsgBox Err.Number & " - " & Err.Description
Resume Exit_Environ
End FunctionEnviron("UserName")
ثالثا : عند تشغيل الإستعلام سيظهر لك فقط الإسم الموافق للدالة
بالتوفيق
تم تعديل هذه المشاركة بواسطة zahrah في 5 مايو 2014 في 13:21
السلام عليكم ورحمة الله وبركاته
هل من مثل لكي تتم الاستفاده من هذا
بارك الله بكم