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

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

قام بنشر

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

السلام عليكم جميعا

وعود حميد للمنتدى

لى سؤال لو تكرمتم

لدى نموذج به العديد من عناصر التحكم ... مربعات نص وكومبو ... الخ

وأريد أن اصنفهم داخل النموذج الى مجموعات ولكل مجموعة اسم

بحيث لو اردت مثلا أن اضع شرط يتم بمقتضاه اخفاء مجموعة من تلك العناصر

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

أرجو ان اكون وفقت فى طرح السؤال

مع خالص تحياتى

قام بنشر

اخي العزيز

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

ولكن يمكنك ان تعمل Function لهذه الغاية حيث انك تتعب في كتابتها مرة واحدة ولكن تستدعيها عندما تحتاجها بكتابة اسمها فقط

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

بعد اذن اخوي اسامه

المجموعه الاولى مثلا اسمها GroupA

من خصائص كل عنصر و من خاصيه Tag اكتب مثلا GroupA

المجموعه الثانيه و اسمها GroupB

نضع في خاصيه كل عنصر ومن خاصيه Tag نكتب GroupB

طبعا سوف نطبق شرط على هذه المجموعتين لو فرضنا قيمه في مربع نص اسمه txt1

نكتب هذا الكود في خاصيه بعد التحديث لهذا المربع بحيث لو كتب رقم 1 فان المجموعه الاولى GroupA سوف تظهر

وفي حاله كانت القيمه 2 فان المجموعه الثانيه GroupB سوف تظهر و تختفي المجموعه GroupA

Dim ctl As Control
If Me.txt1 = 1 Then
For Each ctl In Me.Controls
If ctl.Tag = "GroupA" Then
ctl.Visible = True
ElseIf ctl.Tag = "" Then
ctl.Visible = True
Else
ctl.Visible = False
End If
Next
Else
For Each ctl In Me.Controls
If ctl.Tag = "GroupB" Then
ctl.Visible = True
ElseIf ctl.Tag = "" Then
ctl.Visible = True
Else
ctl.Visible = False
End If
Next
End If
طبعا عدل في الشرط كما تريد هناك طريقه اخرى وهي كما اشار اليها اخوي اسامه وهي عن طريق الوحده النمطيه وذلك يتم عن طريق انشاء وحده نمطيه وتسميتها مثلا module1 نكتب الكود التالي فيها
Public Sub HideIt(frm As Form)
On Error Resume Next
Dim ctl As Control
For Each ctl In frm.Controls
With ctl
If ctl.Tag = "GroupA" Then
ctl.Visible = False
End If
End With
Next ctl
Set ctl = Nothing
Set frm = Nothing
End Sub
ثم من خلال النموذج نضع شرط معين
If txt1=1 Then 
 HideIt Me
End If

اذا وجدت صعوبه في تطبيق هذه الاكواد الرجاء ارفاق قاعده بياناتك

تم تعديل بواسطه Bluemind
قام بنشر
مع جزيل الشكر أحبائى جزاكم الله كل خير عجبنى جدا مثال الوحدة النمطية لكن لم يزبط معى
المثال مرفق
يعنى لو تم اختيار صندوق check46 تظهر صناديق النصوص بالاعلى
ولو كان غير مختار تكون مختفية
واتمنى اضافة شرط انه فى حالة احتواء صناديق النصوص بالاعلى على بيانات
تظهر رسالة للمستخدم بعدم امكانية اتخاذه ذلك الاجراء ( اى الاظهار والاخفاء )
مع جزيل شكرى وخالص امنياتى بالتوفيق

A2kTooltipver34.zip

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

اخوي

هذه المديول بعد التعديل حسب المطلوب

Dim ctl As Access.Control
Dim fValue As Boolean
On Error GoTo MyErr
For Each ctl In frm.Controls
If ctl.Tag = "GroupA" Then
Select Case ctl.ControlType
Case acTextBox, acCheckBox, acListBox, acComboBox
fValue = (Len(ctl.Value & vbNullString) > 0)
If fValue Then
MsgBox "There is value in '" & ctl.Name & "'," & vbNewLine & _
"please enter a value and try again.", vbExclamation, "Missing value!"
Set ctl = Nothing
Exit Sub
End If
Case Else

End Select
End If
Next ctl

For Each ctl In frm.Controls
If ctl.Tag = "GroupA" Then
ctl.Visible = Not fHide
End If
Next ctl

MyExit:
Set ctl = Nothing
Exit Sub
MyErr:
MsgBox Err.Description
Resume MyExit
وهذه الطريقه التي تستدعي فيها المديول من خلال Checkbox
If Me.Check5 = True Then
HideIt Me, Me.Check5
End If

تم تعديل بواسطه Bluemind
قام بنشر

شكرا أخى العزيز حاولت التطبيق ولكن رسائل الخطأ تتوالى

أرجو أن يكون التطبيق على مثالى المرفق بالمشاركة السابقة

ولك من جزيل الشكر والتقدير

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