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

احتواء تلقائي للحقل في التقرير


شامل2

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

السلام عليكم

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

بحيث يصغر حجم الخط تلقائيا عند زيادة في عدد الاحرف او الارقام

احتواء تلقائي.rar

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

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

لتطبيق هذه الخاصية :

في خصائص مربع النص / تنسيق غير القيمتين قابل للنمو ، وقابل للتقلص من لا إلى نعم

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

السلام عليكم

بارك الله فيك

ولكن هذه الطريقة لم تنفع معي

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

هذا عند زيادة عرض مربع النص خصوصا اذا كان عندي حقول كثيرة بحيث بالصعوبة اجعل التقرير يحتويها

انت لها  وسوف تجد الحل

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

يمكن وضع شرط للتحكم بحجم الخط

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

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

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

مثل : لو زاد عدد الحروف في الحقل عن عدد مغين بحيث يختفي جزء من الجملة هنا يتحقق الشرط فيتم تصغير الخط

اخي :

يلزمنا حجم الخط الافتراضي والضوابط الأخرى واحدة واحدة

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

اقصد بالمبرمج أنت صاحب العمل

على كل حال ارفق لك مثالك

تستطيع التعديل عليه كيف شئت

وضعت حجم الخط الافتراضي للحقول 14 ثم وضعت شرطا واحدا وهو ان زادت الحروف أو الارقام عن عشرة في أحد الحقول يتغير حجم الخط الى 8

طبعا يتغير في الحقل الزائد نفسه فقط ، والبقية لا تتغير ، وهذا هو مطلوبك

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

احتواء تلقائي2.rar

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

السلام عليكم

اخي العزيز

اشكرك كثيرا وبارك الله فيك

حل رائع وممتاز

لقد جربت وغيرت حجم الخط وكل شيئ تمام

ولكن الحل ينطبق على العمود الاول فقط

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

مرة اخرى اكرر شكري لك وانتظر الاجابة التالية باذن الله

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

الاخ العزيز 

اعتقد ان الحل ينطبق على الحقل الاول

وشاهد الحقول التي تحوي ارقام وقد كتبت بالصيغة الاسية

ووجود الحرف E في الارقام في الحق الثالث من العمود الثالث

والحق الرابع من العمود الثاني

اشكرك اخي ابو الانس

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

  • 10 years later...
في ١٧‏/٧‏/٢٠١٠ at 13:41, ابوخليل said:

اقصد بالمبرمج أنت صاحب العمل

على كل حال ارفق لك مثالك

تستطيع التعديل عليه كيف شئت

وضعت حجم الخط الافتراضي للحقول 14 ثم وضعت شرطا واحدا وهو ان زادت الحروف أو الارقام عن عشرة في أحد الحقول يتغير حجم الخط الى 8

طبعا يتغير في الحقل الزائد نفسه فقط ، والبقية لا تتغير ، وهذا هو مطلوبك

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

احتواء تلقائي2.rar

معلمنا @ابوخليل يا ريت تتكرم علينا بشرح الكود

 On Error Resume Next
 Dim ctl As Control
   For Each ctl In Report.Controls
        If Len(ctl.Value) > 10 Then
            ctl.FontSize = 8
        Else
       ctl.FontSize = 14
        End If
    Next ctl
End Sub
ماذا تعني كلمة control  وما هي وظيفتها بالتقرير ؟؟

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

7 ساعات مضت, عبد اللطيف سلوم said:

ماذا تعني كلمة control  وما هي وظيفتها بالتقرير ؟؟

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

هنا معلمنا  حجز متغير من نوع عنصر تحكم لكونه يرغب تطبيق الشرط على كل العناصر في التقرير

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

وهنا قائمة بعناصر التحكم وقيمة كل منهم

Name 	                    Value 	Description
acAttachment            	126 	Attachment control
acBoundObjectFrame      	108 	BoundObjectFrame control
acCheckBox 	                106 	CheckBox control
acComboBox 	                111 	ComboBox control
acCommandButton 	        104 	CommandButton control
acCustomControl 	        119 	ActiveX control
acEmptyCell 	            127 	EmptyCell control
acImage 	                103 	Image control
acLabel 	                100 	Label control
acLine 	                    102 	Line control
acListBox                   110 	ListBox control
acNavigationButton 	        130 	NavigationButton control
acNavigationControl     	129 	NavigationControl control
acObjectFrame 	            114 	Unbound ObjectFrame control
acOptionButton          	105 	OptionButton control
acOptionGroup           	107 	OptionGroup control
acPage                      124 	Page control
acPageBreak             	118 	PageBreak control
acRectangle              	101 	Rectangle control
acSubForm               	112 	SubForm control
acTabCtl                    123 	Tab control
acTextBox                 	109 	TextBox control
acToggleButton          	122 	ToggleButton control
acWebBrowser            	128 	WebBrowserControl control

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

ctli.ControlType = aclabel 

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

ctli.ControlType = 100

 

6 ساعات مضت, abomnh said:

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

نعم ممكن ويكون الكود

If Len(num.Value) > 55 Then
Me.num.FontSize = 7
Else
Me.num.FontSize = 12
End If

هنا اذا كان عدد الاحرف للحقل الاسم اكبر من 55 يكون حجم الخط 7

وان كان اقل يكون 12

ويمكن اضافة اكثر من شرط

النتيجة تكون ظاهرة في معاينة قبل الطباعة للتقرير

مرفق مثال بسيط

 

حجم الخط.PNG

Database1601.accdb

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

9 ساعات مضت, kha9009lid said:

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

هنا معلمنا  حجز متغير من نوع عنصر تحكم لكونه يرغب تطبيق الشرط على كل العناصر في التقرير

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

وهنا قائمة بعناصر التحكم وقيمة كل منهم


Name 	                    Value 	Description
acAttachment            	126 	Attachment control
acBoundObjectFrame      	108 	BoundObjectFrame control
acCheckBox 	                106 	CheckBox control
acComboBox 	                111 	ComboBox control
acCommandButton 	        104 	CommandButton control
acCustomControl 	        119 	ActiveX control
acEmptyCell 	            127 	EmptyCell control
acImage 	                103 	Image control
acLabel 	                100 	Label control
acLine 	                    102 	Line control
acListBox                   110 	ListBox control
acNavigationButton 	        130 	NavigationButton control
acNavigationControl     	129 	NavigationControl control
acObjectFrame 	            114 	Unbound ObjectFrame control
acOptionButton          	105 	OptionButton control
acOptionGroup           	107 	OptionGroup control
acPage                      124 	Page control
acPageBreak             	118 	PageBreak control
acRectangle              	101 	Rectangle control
acSubForm               	112 	SubForm control
acTabCtl                    123 	Tab control
acTextBox                 	109 	TextBox control
acToggleButton          	122 	ToggleButton control
acWebBrowser            	128 	WebBrowserControl control

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


ctli.ControlType = aclabel 

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


ctli.ControlType = 100

 

نعم ممكن ويكون الكود


If Len(num.Value) > 55 Then
Me.num.FontSize = 7
Else
Me.num.FontSize = 12
End If

هنا اذا كان عدد الاحرف للحقل الاسم اكبر من 55 يكون حجم الخط 7

وان كان اقل يكون 12

ويمكن اضافة اكثر من شرط

النتيجة تكون ظاهرة في معاينة قبل الطباعة للتقرير

مرفق مثال بسيط

 

حجم الخط.PNG

Database1601.accdb 408 kB · 3 downloads

تسلم يا غالي 

كلك ذووق

ما قصرت

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

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