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

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

قام بنشر
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

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