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

تقلص الحقل بالابل الخاص به فى حاله ان الحقل فارغ


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

السلام عليكم عايز شرح للكود ده,, هوا عندى على ريبورت وتقريبا كده بيعمل تقلص للحقول

Dim aa, bb, xx, y, v
Option Compare Database

Private Sub PageHeaderSection_Format(Cancel As Integer, FormatCount As Integer)
aa = 0
bb = 0
xx = 0
y = 0
v = 0
For y = 1 To 9
v = y & "2"
If Not IsNull(Me(v)) Then
For bb = 1 To 2
aa = y & bb
Me(aa).Top = 800 + xx
Next
xx = Me(aa).Top
Else
For bb = 1 To 2
aa = y & bb
Me(aa).Visible = False
Next

End If

رابط هذا التعليق
شارك

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

أخي الكريم (تامر عجور) سأقوم بشرح الكود لحضرتك كنجدة لحضرتك و إلا في المنتدى من هو أقدر مني على ذلك

تم تعريف المتغيرات  aa, bb, xx, y, v  على أنها مصوفة

Dim aa, bb, xx, y, v

تم وضع هذا الحدث (Event) في شريط رأس الصفحة في التقرير (PageHeaderSection)

Private Sub PageHeaderSection_Format(Cancel As Integer, FormatCount As Integer)

ثم قمنا بتعريف المتغيرات التالية وقمنا بإسناد قيم صفرية لها أي قيم ستسند لها ستكون صحيحة (Integer) بدون كسور أو أعداد سالبة

aa = 0
bb = 0
xx = 0
y = 0
v = 0

تم وضع حلقة تكرارية أولى (FOR- NEXT ) عندما يكون المتغير Y  مسند اليه قيمة من واحد الى 9

For y = 1 To 9

إجعل المتغير v يساوي المتغير Y زائد المسافة 2

v = y & "2"

ثم وضع شرط إذا كان المتغير V غير مسند اليه أي قيمة أو فارغ

If Not IsNull(Me(v)) Then

ثم حلقة تكرارية جديدة للمتغير bb عندما يكون بين القيمة 1و 2

For bb 1 To 2

أجعل المتغير aa يساوي المتغيران y و bb

aa = y & bb

واحعل المتغير aa الحالي الذى أقف عليه يساوي قيمة المتغير  xx زائد 800

Me(aa).Top = 800 + xx

ٌإقفل الحلقة التكرارية الأولى إذا وصلت قيمة المتغير xx

ثم إيقاف الحركة التكرارية

Next

عند وصول المتغير aa للأعلى

xx = Me(aa).Top

 و إلا أبتدأ الحلقة التكرارية الثانية حيث قيمة المتغير bb مسند له القيمة من 1 الى 2 

Fobb = 1 To 2

إجعل القيمة للمتغير aa يساوي قيمة المتغير y والمتغير bb

aa = y & bb

إجعل حالة المتغير aa الحالى الذي أقف عليه (غير مرئي)

Me(aa).Visible = False
ثم إيقاف الحركة التكرارية

Next

ثم إغلاق الشرط

End If

 

أرجو أن أكون قد أوضحت قليلا مايعنيه الكود

 

تم تعديل بواسطه ahmed draz
رابط هذا التعليق
شارك

أخي العزيز (تامر عجور)

لقدطلبت الاتي: (السلام عليكم عايز شرح للكود ده)

أنا شرحت الكود برمجياً فأنت لم ترفع القاعدة على المنتدى لأعرف ما هي المتغيرات التي أقوم بشرحها و لا إلى ماذا ترمز ولم تطلب معرفة ما الذي يفعله الكود؟

فأنا لا أعرف ماهي هذه المتغيرات aa bb xx ولا إلا ماذا تشير 

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

:fff:وشكرا لك:fff:

تم تعديل بواسطه ahmed draz
  • Like 1
رابط هذا التعليق
شارك

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



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

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

Important Information