اذهب الي المحتوي
أوفيسنا

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

قام بنشر
44 دقائق مضت, Mohamed Abo Elala said:

عندي حقل قيم متعدده و البيانات اللي فيه بيانات رقمية 

ازاي اخزن القيم اللي فية في متغير من نوع temp!var

وعليكم السلام ورحمة الله وبركاته ، أخي @Mohamed Abo Elala ،

هلا ارفقت مثال على طلبك ليتم التطبيق عليه ,,
هناك فكرة علها تفيدك ولكن بعد ارفاقك للملف :smile: .

  • Like 1
قام بنشر

شكرا استاذي العزيز 

عندي 2 مستخدم 

1 محمد 

2 عمر 

المستخدم محمد ادمن عايزة يشوف كل الاسماء في نموذج frmSearch  (محمد و عمر )

المستخدم عمر يوزر عادي عايزة يشوف ( اسم عمر فقط )

  • تمت الإجابة
قام بنشر
2 ساعات مضت, Mohamed Abo Elala said:

لمستخدم محمد ادمن عايزة يشوف كل الاسماء في نموذج frmSearch  (محمد و عمر )

المستخدم عمر يوزر عادي عايزة يشوف ( اسم عمر فقط )

هل هذا صحيح ؟؟

اوفيسنا.accdb

  • Thanks 1
قام بنشر

مشاركة مع استاذ @Foksh تفضل استاذ  @Mohamed Abo Elala ، كل شيخ وله طريقته والطرق كثيرة .... منها الطريقة التالية . اليك الشرح والمرفق .:fff:

                                                                                        image.gif.045a34a19834607a3f79395f91d6d1e2.gif

اوفيسنا_2-1.rar

  • Like 1
قام بنشر (معدل)

مش عارف اشكركم ازاي 

عاجز عن الشكر لان الشكر مش هيوفيكم حقكم

و لو ينفع اختار الاجابتين كنت اخترت و لكن اجابة استاذ Foksh اقرب لما اريد 

و أرجو لو ممكن أفهم جات ازاي اكون في غاية الامتنان 

 

تم تعديل بواسطه Mohamed Abo Elala
قام بنشر
13 ساعات مضت, kkhalifa1960 said:

مشاركة مع استاذ @Foksh تفضل استاذ  @Mohamed Abo Elala ، كل شيخ وله طريقته والطرق كثيرة .... منها الطريقة التالية . اليك الشرح والمرفق .:fff:

                                                                                        image.gif.045a34a19834607a3f79395f91d6d1e2.gif

اوفيسنا_2-1.rar 55.91 kB · 4 downloads

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

قام بنشر

بعد التجربة فعلا طريقة استاذ فؤش هي الانسب بالنسبة لفكرتي 

و لا انسي مجهود استاذ خليفة 

شكرا جزيلا لحضرتك شكرا لمجهودك و بارك الله فيك 

و لو امكن لو استاذتي تمن علي و تفهمني طريقة عمل الطريقتين 

قام بنشر
1 ساعه مضت, Mohamed Abo Elala said:

و أرجو لو ممكن أفهم جات ازاي اكون في غاية الامتنان 

 

شرح مبسط لما تم تعديله :-

1. قمت بتعديل الكود لتعيين TempVars!UserLevelTemp بشكل ديناميكي بناءً على UserLevel الخاص بالمستخدم الحالي 
2. 
تعديل الاستعلام في النموذج الفرعي frmq1 ليتعامل مع القيم المتغيرة في TempVars!UserLevelTemp 

 

الخطوة 1 : في النموذج الرئيسي frmSearch ، قمت بتعديل الكود لتعيين TempVars!UserLevelTemp بشكل ديناميكي كما في الكود التالي بعد التعديل :-

Private Sub أمر1_Click()
Dim UserLevelTemp As Variant
UserLevelTemp = DLookup("[UserLevel]", "tbluser", "[UserNam]='" & Me.txtuser & "'")
TempVars!UserLevelTemp = UserLevelTemp
DoCmd.OpenForm "frmSearch"
End Sub

هنا يتم تعيين TempVars!UserLevelTemp مباشرة من قيمة UserLevel الخاصة بالمستخدم الحالي ، سواء كانت تحتوي على قيمة واحدة (مثل 2) أو قيم متعددة (مثل 1, 2) .

 

الخطوة 2 : تعديل الاستعلام في النموذج الفرعي frmq1 ليصبح :-

SELECT tblEmp.*, tblEmp.EmpLevel
FROM tblEmp
WHERE 
    InStr(TempVars!UserLevelTemp, tblEmp.EmpLevel) > 0;

شرح الاستعلام :-

الدالة InStr : تبحث عن وجود EmpLevel داخل TempVars!UserLevelTemp 

إذا كانت النتيجة أكبر من 0 ، فهذا يعني أن EmpLevel موجود ضمن TempVars!UserLevelTemp

على سبيل المثال:

إذا كان TempVars!UserLevelTemp = "1, 2" و EmpLevel = 1 ، فإن InStr ستعيد 1 (لأن 1 موجود في "1, 2")

إذا كان TempVars!UserLevelTemp = "2" و EmpLevel = 1 ، فإن InStr ستعيد 0 (لأن 1 غير موجود في "2") ... وهكذا 

 

اتمنى ان يكون الشرح وافي لما تم تعديله وتطبيقه :smile: .

  • Like 1
قام بنشر
في 3‏/2‏/2025 at 22:26, Foksh said:

شرح مبسط لما تم تعديله :-

1. قمت بتعديل الكود لتعيين TempVars!UserLevelTemp بشكل ديناميكي بناءً على UserLevel الخاص بالمستخدم الحالي 
2. 
تعديل الاستعلام في النموذج الفرعي frmq1 ليتعامل مع القيم المتغيرة في TempVars!UserLevelTemp 

 

الخطوة 1 : في النموذج الرئيسي frmSearch ، قمت بتعديل الكود لتعيين TempVars!UserLevelTemp بشكل ديناميكي كما في الكود التالي بعد التعديل :-

Private Sub أمر1_Click()
Dim UserLevelTemp As Variant
UserLevelTemp = DLookup("[UserLevel]", "tbluser", "[UserNam]='" & Me.txtuser & "'")
TempVars!UserLevelTemp = UserLevelTemp
DoCmd.OpenForm "frmSearch"
End Sub

هنا يتم تعيين TempVars!UserLevelTemp مباشرة من قيمة UserLevel الخاصة بالمستخدم الحالي ، سواء كانت تحتوي على قيمة واحدة (مثل 2) أو قيم متعددة (مثل 1, 2) .

 

الخطوة 2 : تعديل الاستعلام في النموذج الفرعي frmq1 ليصبح :-

SELECT tblEmp.*, tblEmp.EmpLevel
FROM tblEmp
WHERE 
    InStr(TempVars!UserLevelTemp, tblEmp.EmpLevel) > 0;

شرح الاستعلام :-

الدالة InStr : تبحث عن وجود EmpLevel داخل TempVars!UserLevelTemp 

إذا كانت النتيجة أكبر من 0 ، فهذا يعني أن EmpLevel موجود ضمن TempVars!UserLevelTemp

على سبيل المثال:

إذا كان TempVars!UserLevelTemp = "1, 2" و EmpLevel = 1 ، فإن InStr ستعيد 1 (لأن 1 موجود في "1, 2")

إذا كان TempVars!UserLevelTemp = "2" و EmpLevel = 1 ، فإن InStr ستعيد 0 (لأن 1 غير موجود في "2") ... وهكذا 

 

اتمنى ان يكون الشرح وافي لما تم تعديله وتطبيقه :smile: .

اشكرك استاذي و اشكرك استاذ خليفة 

  • Like 1

انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.

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

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

Important Information