الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

[ تمت الإجابة ]تكوين كود لعمل دوران حول النماذج الفرعية

بدأه ماجدجلال في 10 أبريل 2008 · 7 رد · 825 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

كنت ابحث عن كود لاخفاء النموذج الفرعي في حالة عدم وجود سجلات فية . وقد وجدت الكود ,وهو بهذة الصيغة

Private Sub Form_Current()
With Me![formone].Form
.Visible = (.RecordsetClone.RecordCount > 0)
End With
End Sub

ولكن المشكلة انني لدي اربعة نماذج فرعية هي :

formone , formtwo ,formthree ,formfour

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

Private Sub Form_Current()
With Me![formone].Form
.Visible = (.RecordsetClone.RecordCount > 0)
End With
With Me![formtwo].Form
.Visible = (.RecordsetClone.RecordCount > 0)
End With
With Me![formthree].Form
.Visible = (.RecordsetClone.RecordCount > 0)
End With
With Me![formfour].Form
.Visible = (.RecordsetClone.RecordCount > 0)
End With
End Sub

ستلاحظون ان الكود كبير , لذا هل يمكن اختصار هذا الكود وعمل حلقة دوران تدور حول النماذج الاربعة , فاي نموذج يكون عدد السجلات في يساوي صفر يخفية واي نموذج يكون عدد سجلاتة اكبر من صفر لا يخفية .

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

#2

اخي الفاضل

استخدم هذا الكود المختصر لهذه العملية

Private Sub Form_Current()
Dim frm As Form
With frm.Form
.Visible = (.RecordsetClone.RecordCount > 0)
End With
End Sub
#3

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

بارك الله فيك اختنا زهرة

كود جميل بالفعل

#4

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

الاستاذة زهراء

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

ارقت لكم جمعيا الملف , ارجو المساعدة ولكم جزيل الشكر والعرفان ,,,,

mmjj1.zip

#5

تفضل اخي الكريم

الملف بعد التعديل

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

Private Sub Form_Current()
Dim ctl As Access.Control
For Each ctl In Me.Controls
If ctl.ControlType = acSubform Then
With ctl.Form
.Visible = (.RecordsetClone.RecordCount > 0)
End With
End If
Next
End Sub

za_mmjj_UP.rar

#6

وهناك احلى اخر

Private Sub Form_Current()
Dim ctl As Control
	For Each ctl In Me.Controls
		If (ctl.ControlType = acSubform) Then
			If Me.Controls(ctl.TabIndex).Form.RecordsetClone.RecordCount <= 0 Then
				 ctl.Visible = False
			End If
		End If
	Next ctl
End Sub
#7

شكرا لك استاذة زهرة

قمت بتحميل الملف وكان يعمل كما هو مطلوب بالتحديد . بارك الله فيك وفي علمك ,,,,

وشكرا جزيل لك...

الاخ mood

شكرا جزيل لك وسوف اقوم بتجربة الكود ,,,,,

الف شكرا لكم جمعيا وجزاكم الله كل خير .

#8

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

تمت الإجابة على الموضوع

إدارة الفريق العربي للبرمجة

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…