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

كيف يمكنني فهم هذا الكود الخاص برسم خطوط في التقرير


f16

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

اسعد الله مسائكم اخواني اعضاء المنتدى الرائع 

اخواني الأعزاء كيف يمكنني فهم الكود التالي

Private Sub تفصيل_Print(Cancel As Integer, PrintCount As Integer)
Dim ctl As Control
Dim MaxHeight As Long

MaxHeight = 0

For Each ctl In Me
If TypeOf ctl Is TextBox And ctl.Section = 0 Then
   If ctl.Height > MaxHeight Then MaxHeight = ctl.Height
End If
Next
   
For Each ctl In Me
If TypeOf ctl Is TextBox And ctl.Section = 0 Then
   Me.Line (ctl.Left, 0)-(ctl.Left, MaxHeight)
End If
Next

Me.Line (Me.Width - 3, 0)-(Me.Width - 3, MaxHeight)
Me.Line (0, MaxHeight)-(Me.Width - 3, MaxHeight)

End Sub

Private Sub Report_Page()
'تحميل خيارات الرسم عند فتح الصفحة
   Me.ScaleMode = 3
   Me.ForeColor = 0
   Me.DrawWidth = 3
End Sub

حيث قمت بتجربة الكود في مثال ولم يضبط تماماً 

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

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

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

2 ساعات مضت, f16 said:

اسعد الله مسائكم اخواني اعضاء المنتدى الرائع 

اخواني الأعزاء كيف يمكنني فهم الكود التالي


Private Sub تفصيل_Print(Cancel As Integer, PrintCount As Integer)
Dim ctl As Control
Dim MaxHeight As Long

MaxHeight = 0

For Each ctl In Me
If TypeOf ctl Is TextBox And ctl.Section = 0 Then
   If ctl.Height > MaxHeight Then MaxHeight = ctl.Height
End If
Next
   
For Each ctl In Me
If TypeOf ctl Is TextBox And ctl.Section = 0 Then
   Me.Line (ctl.Left, 0)-(ctl.Left, MaxHeight)
End If
Next

Me.Line (Me.Width - 3, 0)-(Me.Width - 3, MaxHeight)
Me.Line (0, MaxHeight)-(Me.Width - 3, MaxHeight)

End Sub

Private Sub Report_Page()
'تحميل خيارات الرسم عند فتح الصفحة
   Me.ScaleMode = 3
   Me.ForeColor = 0
   Me.DrawWidth = 3
End Sub

حيث قمت بتجربة الكود في مثال ولم يضبط تماماً 

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

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

ارفق مثال للتجربتك للاطلاع عليه 

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

وعليكم السلام 🙂

 

في الكثير من الاحيان ، مادام الكود يعمل بطريقة صحيحة ، فلا علاقة لنا بكيفية عمله 🙂

 

تفضل:


Private Sub تفصيل_Print(Cancel As Integer, PrintCount As Integer)
Dim ctl As Control
Dim MaxHeight As Long

'اعطاء قيمة اوليه لأطول حقل
MaxHeight = 0

'نلف حول الحقول
For Each ctl In Me
'اذا كان نوع الحقل نص ، ونحن في قسم التفصيل
If TypeOf ctl Is TextBox And ctl.Section = 0 Then
   'اذا كان طول الحقل اطول من القيمة الاوليه ، اذن قم بتغيير القيمة الاولية الى هذا الطول الجديد	
   If ctl.Height > MaxHeight Then MaxHeight = ctl.Height
End If
Next

'نلف حول الحقول
For Each ctl In Me
'اذا كان نوع الحقل نص ، ونحن في قسم التفصيل
If TypeOf ctl Is TextBox And ctl.Section = 0 Then
   'اعمل خط ، النقطة الاولى: يسار الحقل و وارتفاعه صفر
   'والنقطة الثانية: يسار الحقل و وارتفاعه طول اطول حقل
   Me.Line (ctl.Left, 0)-(ctl.Left, MaxHeight)
End If
Next

' نرسم خط ، النقطة الاولى عرض التقرير ناقص 3 تويب و وارتفاعه صفر
'والنقطة الثانية: عرض التقرير ناقص 3 تويب ، و ارتفاعه طول اطول حقل
Me.Line (Me.Width - 3, 0)-(Me.Width - 3, MaxHeight)
' نرسم خط ، النقطة الاولى: اقصى اليسار (يعني صفر) و ارتفاعه طول اطول حقل
' والنقطة الثانية عرض التقرير ناقص 3 تويب و ارتفاعه طول اطول حقل
Me.Line (0, MaxHeight)-(Me.Width - 3, MaxHeight)

End Sub

Private Sub Report_Page()
'تحميل خيارات الرسم عند فتح الصفحة
   Me.ScaleMode = 3
   Me.ForeColor = 0
   Me.DrawWidth = 3
End Sub

.

جعفر

  • Like 2
  • Thanks 1
رابط هذا التعليق
شارك

3 ساعات مضت, jjafferr said:

وعليكم السلام 🙂

 

في الكثير من الاحيان ، مادام الكود يعمل بطريقة صحيحة ، فلا علاقة لنا بكيفية عمله 🙂

جعفر

اشكرك اخي جعفر على هذه المعلومات القيمة 

الذي دعاني الى محاولة فهم الكود هو انه لم يعمل لدي بالشكل المطلوب 

هذا مثال لما يشبه المثال الذي اريده وقد  وضعت الكود السابق فيه ولاكنه لم يضبط تماماً 

مع شكري وتقديري لما تبذله من مجهود وعلم 

 

مثال اوفيسنا تسطير التقرير.rar

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

20 ساعات مضت, زياد الحسناوي said:

ارفق مثال للتجربتك للاطلاع عليه 

اشكرك اخي زياد على مرورك الكريم 

المثال وضعته في ردي على ا/ جعفر بارك الله فيه 

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

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

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

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



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

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

Important Information