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

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

قام بنشر

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

المثال المرفق يفتح على نموذج به خانة اختيار عند تحديثها بعلامة الصح والضغط على زر فتح يتم فتح نموذج 2  يمكن التعديل فيه واختيار من اى مربع تحرير وسرد

اريد عن عدم تحديث خانة الاخيار (فارغة)  ان لا يتم التعديل ولكن الليست بوكس يعمل عادى ويتم تحديد الاسماء بداخله

جزاكم الله خيرا

تفعيل خانة الاختيار.accdb

قام بنشر

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

بما ان التعامل سوف يكون بين كائنين منفصلين ، لذا يلزم ان نوجد بينهما رابط يعرفه كل منهما

وهو تعريف متغير عام يتم تحديد قيمته عند تحديث خانة الاختيار

انظر للفكرة في مثالك المعدل

تفعيل خانة الاختيار2.accdb

  • Like 1
قام بنشر
8 ساعات مضت, ابوخليل said:

انظر للفكرة في مثالك المعدل

الله يفتح عليك معلمنا الجليل / ابو خليل ويزيدك من فضله وعلمه ـ ولا يحرمنى من تفضلك وعلمك

نعم هذا هو المطلوب ـ وان كان هناك امكانية من جعل مربعين التحرير والسرد فى form1 ان يظهران ما بداخلهم بطريقة AllowEdits وليس بطريقة Enabled

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

وان لم يكن هناك اماكنية اكتفى بهذا واعرضهم بالخط الباهت 

اطال الله فى عمرك ـ وبارك فى صحتك وعافيتك

جزاك الله كل خير

قام بنشر

نعم يمكن

لو تفحصت خصائص الحقل لوجدت ما تبحث عنه

فقط نستبدل Enabled  بـــــ  Locked

ملحوظة : اجريت بعض التعديل على ترتيب الكود .. واضافة بسيطة عند فتح النموذج الأول من اجل زيادة الضبط

فاعتمد هذا التعديل 

تفعيل خانة الاختيار3.accdb

  • Like 1
  • Thanks 1
قام بنشر (معدل)
2 ساعات مضت, الحلبي said:

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

اذا كان فهمي صحيح  وطالما عندك 10 مربعات سرد في النموذج

استبدل كود استاذنا الغالي ابو خليل

If x_change = 0 Then
Me.Combo0.Enabled = False
Me.Combo2.Enabled = False
Else
Me.Combo0.Enabled = True
Me.Combo2.Enabled = True
End If

استبدلة بــ ⬇️

 

Dim ctl As Control
For Each ctl In Me.Controls
If ctl.ControlType = 111 Then
If x_change = 0 Then
ctl.Enabled = False
ctl.Locked = True
Else
ctl.Enabled = True
ctl.Locked = False
End If
End If
Next ctl

الملف مرفق

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

تحياتي

 

 

 

تفعيل خانة الاختيار2(1).accdb

تم تعديل بواسطه مبرمج متقاعد
خطا
  • Like 1
  • Thanks 1
  • تمت الإجابة
قام بنشر

شكرا استاذنا على التعقيب

وبهذا يصبح الكود حسب ما هو مطلوب :

Dim ctl As Control
For Each ctl In Me.Controls
If ctl.ControlType = 111 Then
If x_change = 0 Then
ctl.Locked = True
Else
ctl.Locked = False
End If
End If
Next ctl

 

  • Thanks 1
قام بنشر
21 دقائق مضت, مبرمج متقاعد said:

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

استاذنا الغالى قوى / الاستاذ خالد

الله يفتح عليك ويبارك فى علمك ـ ولا يحرمنى من مساعدتك لى ـ ويحفظك ويبارك فى عمرك وصحتك ويرحم والديك

هذا هو المطلوب وكافى جدا 

10 دقائق مضت, ابوخليل said:

وبهذا يصبح الكود حسب ما هو مطلوب

نعم معلمى الجليل ومساندى العزيز  ـ   هو المطلوب

جزاكم الله كل خير

  • Like 1
قام بنشر (معدل)
3 ساعات مضت, ابوخليل said:

وبهذا يصبح الكود حسب ما هو مطلوب :

احسنت استاذنا الفاضل لم انتبه الى هذه الجزئية من رغبة الدكنور محمد ⬇️

6 ساعات مضت, الحلبي said:

ان يظهران ما بداخلهم

فكرة اخرى باستخدام البارمتر السادس في امر فتح "OpenArgs" 

الفكرة تحميل القيمة 0 او 1 في امر فتح النموذج بناء على خانة الاختيار

 

تم تعديل بواسطه مبرمج متقاعد
قام بنشر
18 ساعات مضت, الحلبي said:

عند عدم تفعيل خانة الاختيار لا يتم التعديل على النموذج باستثناء الليست بوكس

مواضيعك دائما تحفز على التفكير والبحث بين ثنايا العبارات

مثلا في المرفق الاول لك وضعت حقلين كمبو بوكس وواحد ليست بوكس

ووضع اخي واستاذي ابو خليل حل باستخدام اسماء الحقول

ثم اشرتم الى ⬇️

9 ساعات مضت, الحلبي said:

لان فى اصل البرنامج عندى حوالى عشرة مربع تحرير وسرد

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

الان السؤال ماذا لو كان هناك كائنات اخرى مثل حقول نصية وخانات اختيار .... الخ ونرغب في اقفالها بحيث يبقى الاختيار فقط لليست بوكس كما اشرتم

سنجد اننا نحتاج الى تغيير في الامر

If ctl.ControlType = 111 Then

الى

If ctl.Tag = "*" Then

اي اننا سنستخدم خاصية tag للكائنات المطلوب اقفالها

ربما يقول قائل نستثني ليست بوكس ويكون الامر بالنفي

If ctl.ControlType <> 110 Then

هنا سوف نحصل على رسالة خطأ بسبب كون خاصية Locked لا يمكن تطبيقها على كل كائنات النموذج

لذا ووفقا للمعطيات فأن استخدام التاج هو الاسلم في مثل هذه الحالة والله اعلم

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

تحياتي

  • Like 2
قام بنشر (معدل)
2 ساعات مضت, مبرمج متقاعد said:

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

ما هذا الشرح ما هذا الاسلوب لكى تصل المعلومة معلش استاذ / خالد دعنى احدثك بغير مجاملة وغير مبالغة ـ انت دكتور فى علم توصيل المعلومة وتشرح بطريقة سلسلة وسهلة جدا

هذا هو المطلوب لكل معلم يعلم الطلاب اى شئ ـ ان تسأل السؤال وتتركة يزاحم افكار تلميذك ثم تجد الحل من خلال الشرح هذا اسلوب بارع وبما انى اعرف قليل القليل فى كيفية التدريس

اقول لك فعلا انت دكتور عجبنى مرة الاستاذ كنورى فى شرحة من هذا المنطق -  واذا كانت مواضعيى تحفز على التفكير كما اشرت حضرتك ـ فهذا ايضا من فطنه المعلم الشاطر

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

لا تتواضع وتقول لى اى كلمة تواضع ـ ممكن لا تعرف مقدرة نفسك ـ وانا اقولها لك ـ انت دكتور اكسس ( وماخفى غير اكسس ) ومعالج روحانى وقد تعلمت منك الكثير.

اشكرك استاذ خالد على ما تقدمه لى ولغيرى ولا اقول غير كلمة واحده فقط وهى

لك كل الاحترام والتقدير من تلميذ لك

جزاك الله كل خير 

تم تعديل بواسطه الحلبي
  • 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