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

تمدد وتقلص حقول التقرير


إذهب إلى أفضل إجابة Solved by jjafferr,

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

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

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

مع فائق الاحترام

مطابقة موجودات.rar

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

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

شكراااا على العموم

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

تستطيع التحكم بحجم العنصر برمجيا بكل سهولة من خلال الكود التالي

Me.TextBox1.Move(Left,Top,Widh,Height)

 

اقترح عليك ان يتم تضمينها بشرط

If Len([TextBox1]) >10 then 
	Me.TextBox1.Move "", "" , 10 * 200 ,""
End if

مع ملاحظة أن سوف تتعامل مع العمود و ليس السطر

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

54 دقائق مضت, د.كاف يار said:

تستطيع التحكم بحجم العنصر برمجيا بكل سهولة من خلال الكود التالي

Me.TextBox1.Move(Left,Top,Widh,Height)

 

اقترح عليك ان يتم تضمينها بشرط

If Len([TextBox1]) >10 then 
	Me.TextBox1.Move "", "" , 10 * 200 ,""
End if

مع ملاحظة أن سوف تتعامل مع العمود و ليس السطر

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

اتمنى تطبيقه من حضرتك على المرفق 

مطابقة موجودات.rar

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

شكرااا جزيلا استاذ جعفر على مرورك الكريم

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

وذلك بعد اخفاء الحقول التي لاتحتوي على قيمة واظهار توزيع الحقول التي تحتوي على قيمة اكبر من صفر بالتتالي 

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

الذي نقرره 

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

وقاعدة البيانات مرفقة في الاعلى اتمنى الاطلاع عليها لتتضح الصوره اكثر

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

  • أفضل إجابة

تفضل يا سيدي 🙂

 

image.png.bd132870813d25a87ed9692031d0c62e.png

.

وهذا الجزء من الكود الذي تم تعديله:

Me.FilterOn = True
Me.Filter = "[yer] = " & MyYear & " and [num] ='" & MyNumnf & "' and [nu] ='" & MyMntj & "' and [NameEmb] ='" & MyMonth & "' and [jh] ='" & MyNoa & "'"

' يتم حساب عدد الحقول التي بها أرقام
    For i = 1 To 74

        fld_value = DSum("fld" & i, "tbl", "[yer] = " & MyYear & " and [num] ='" & MyNumnf & "' and [nu] ='" & MyMntj & "' and [NameEmb] ='" & MyMonth & "' and [jh] ='" & MyNoa & "'")

        If fld_value > 0 Then
            'Debug.Print fld_value
            'If DSum("fld" & i, "tbl", "[Name1]='" & Myfilter & "'") > 0 Then
            flCnt = 1 + flCnt
            
            'إظهار الحقول غير الفارغة
            Me("fld" & i & "").visible = True
            Me("lbl" & i & "").visible = True
            Me("s" & i & "").visible = True
            ' حساب عرض كل حقل
            Me("fld" & i & "").Width = Len(CStr(fld_value)) * 145.5
            Me("LBL" & i & "").Width = Len(CStr(fld_value)) * 145.5
            Me("s" & i & "").Width = Len(CStr(fld_value)) * 145.5
        End If
    Next i

    If flCnt = 0 Then
        MsgBox "لا توجد حقول بها قيمة", , "خطأ"
        DoCmd.CancelEvent
        Exit Sub
    End If

' حساب عرض كل حقل
'For i = 1 To 74
'Me("fld" & i & "").Width = Me.Name1.Left / flCnt
'Me("LBL" & i & "").Width = Me.Name1.Left / flCnt
'Me("s" & i & "").Width = Me.Name1.Left / flCnt
'Next i
' إعادة توزيع الحقول غير الفارغة
For i = 74 To 1 Step -1
Me("fld" & i & "").Left = WidthFld
Me("lbl" & i & "").Left = WidthFld
Me("s" & i & "").Left = WidthFld
If Me("fld" & i & "").visible Then
'WidthFld = Me("fld" & i & "").Width + WidthFld
WidthFld = Me("s" & i & "").Width + WidthFld
End If

Next i

 

جعفر

 

مطابقة موجودات2.zip

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

17 ساعات مضت, jjafferr said:
' حساب عرض كل حقل
'For i = 1 To 74
'Me("fld" & i & "").Width = Me.Name1.Left / flCnt
'Me("LBL" & i & "").Width = Me.Name1.Left / flCnt
'Me("s" & i & "").Width = Me.Name1.Left / flCnt
'Next i

السلام عليكم استاذ جعفر 

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

عندما الغيت هذا الجزء اختلف التقرير فاذا تلاحظ عندما نجعل بعض القيم صفرا في عدد من الحقول فان التقرير يظهر فراغا كلما نقصت الحقول واعتقد السبب هو الغاء هذا الجزء من الكود حيث name1 i هو حقل موجود في جزء التفصيل ومكانه قرب حقل اسم المنفذ 

ارجو الاطلاع وعلاج ذلك ....مع فاق الاحترام والتقدير

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

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

من القلب دعوة صادقة

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

احسنت اجابة موفقه 100% بارك الله فيك

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

3 ساعات مضت, ابو رسول said:

احسنت اجابة موفقه 100% بارك الله فيك

الحمدلله 🙂

 

طريقة التخطيط والتنفيذ :

1. اجعل الحقل/مربع النص كاملا للرقم ، واحذف الهوامش الاضافية لجميع الحقول:

image.png.fcad67672e576dd89de245d16734b244.png

.

2. كان واضح ان المطلوب هو ان عرض مربع النص يجب ان يتماشى مع عدد الارقام فيه ، وعرض الارقام بالنسبة للارقام الانجليزية ثابت لجميع الارقام ،

وبعد تحليل النتيجة في الصورة ، كعدد ارقام ، وعرض مربع النص image.png.2669ff9b6f7f3a6e8c49b24e782659b7.png ، اتضح ان كل حرف محتاج الى 145.5 تويب Twip (وحدة قياس الاكسس) ، وبتقنين الرقم وبعد عدة تجارب توصلت الى الرقم 140 ، لذلك ، اذا استعملت خط Font آخر ، او الخط بحجم اكبر/اصغر ، فيجب عليك تغيير هذه القيمة ، بالتجارب 😁

اذن ، عرض كل حقل يحتاج الى معرفة عدد الارقام ف الحقل ضرب 140 ،

للحصول على هذا الرقم لكل حقل (هذه معادلتك) ، جعلنا القيمة في المتغير fld_value

image.png.fe0deefb6bb03397d88f3693de0ae707.png

عليه يصبح عرض كل مربع (وعلشان نعرف عدد الارقام في الحقل ، نستخدم الدالة Len ، ويجب تحويل الرقم الى نص CStr ، للحول على النتيجة الصحيحة للدالة) :

image.png.452327cd05feeb20e48515c982827e69.png

.

وفي آخر سطر من المعادلات اعلاه ، جمعنا محموع عرض هذه المربعات في المتغير width_Added ،

.

3. العرض المتوفر هو width_Avail : عرض التقرير - هامش اليمين لبكرة الطابعة  - هامش اليسار لبكرة الطابعة :

image.png.4d55b3ef081c059e03e3989fc6e5e6f6.png

image.png.af18f89865cb7b6764b19423859da239.png

.

4. اذن في عملنا اعلاه ، عرض جميع مربعات النص يكون صحيح ، ويحتوي على الرقم كاملا فيه ، بالعرض (الضيق) الذي يناسب الرقم ،

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

5. هنا قمت انت بحساب عدد الحقول التي سيتم عرضها في التقرير ، الحقول التي مجموعها اكبر من صفر ، وفي المتغير fICnt :

image.png.ea1ea0896fd0d83a14898a76bb2c23b4.png

.

6. المعادلة التالية تقوم باخذ عرض التقرير ، ناقصا مجموع عرص المربعات ، فيعطينا المسافة الفارغة الزائدة عن حاجة المربعات :

image.png.2309e2126a2cd1ad97284e713ef562ee.png

فنقوم بتوزيعها بالتساوي بعدد الحقول ، فيصبح نصيب كل مربع :

image.png.2e04a8bf1d4a8b06ec8faf33a73ff84e.png
.

7. اذن عرض المربع النهائي سيصبح:

عرض المربع الحقيقي (رقم#2 اعلاه) + القيمة المضافة / الاضافية (رقم #6 اعلاه)  :

image.png.e6f9b60d5be45cd4716c9bb669ca7de3.png

.

image.png.9c6c65c3e7fa56e7be4b81974d50f594.png

.

 

جعفر

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

في ٨‏/٧‏/٢٠٢١ at 11:06, jjafferr said:

الحمدلله 🙂

 

طريقة التخطيط والتنفيذ :

1. اجعل الحقل/مربع النص كاملا للرقم ، واحذف الهوامش الاضافية لجميع الحقول:

image.png.fcad67672e576dd89de245d16734b244.png

.

2. كان واضح ان المطلوب هو ان عرض مربع النص يجب ان يتماشى مع عدد الارقام فيه ، وعرض الارقام بالنسبة للارقام الانجليزية ثابت لجميع الارقام ،

وبعد تحليل النتيجة في الصورة ، كعدد ارقام ، وعرض مربع النص image.png.2669ff9b6f7f3a6e8c49b24e782659b7.png ، اتضح ان كل حرف محتاج الى 145.5 تويب Twip (وحدة قياس الاكسس) ، وبتقنين الرقم وبعد عدة تجارب توصلت الى الرقم 140 ، لذلك ، اذا استعملت خط Font آخر ، او الخط بحجم اكبر/اصغر ، فيجب عليك تغيير هذه القيمة ، بالتجارب 😁

اذن ، عرض كل حقل يحتاج الى معرفة عدد الارقام ف الحقل ضرب 140 ،

للحصول على هذا الرقم لكل حقل (هذه معادلتك) ، جعلنا القيمة في المتغير fld_value

image.png.fe0deefb6bb03397d88f3693de0ae707.png

عليه يصبح عرض كل مربع (وعلشان نعرف عدد الارقام في الحقل ، نستخدم الدالة Len ، ويجب تحويل الرقم الى نص CStr ، للحول على النتيجة الصحيحة للدالة) :

image.png.452327cd05feeb20e48515c982827e69.png

.

وفي آخر سطر من المعادلات اعلاه ، جمعنا محموع عرض هذه المربعات في المتغير width_Added ،

.

3. العرض المتوفر هو width_Avail : عرض التقرير - هامش اليمين لبكرة الطابعة  - هامش اليسار لبكرة الطابعة :

image.png.4d55b3ef081c059e03e3989fc6e5e6f6.png

image.png.af18f89865cb7b6764b19423859da239.png

.

4. اذن في عملنا اعلاه ، عرض جميع مربعات النص يكون صحيح ، ويحتوي على الرقم كاملا فيه ، بالعرض (الضيق) الذي يناسب الرقم ،

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

5. هنا قمت انت بحساب عدد الحقول التي سيتم عرضها في التقرير ، الحقول التي مجموعها اكبر من صفر ، وفي المتغير fICnt :

image.png.ea1ea0896fd0d83a14898a76bb2c23b4.png

.

6. المعادلة التالية تقوم باخذ عرض التقرير ، ناقصا مجموع عرص المربعات ، فيعطينا المسافة الفارغة الزائدة عن حاجة المربعات :

image.png.2309e2126a2cd1ad97284e713ef562ee.png

فنقوم بتوزيعها بالتساوي بعدد الحقول ، فيصبح نصيب كل مربع :

image.png.2e04a8bf1d4a8b06ec8faf33a73ff84e.png
.

7. اذن عرض المربع النهائي سيصبح:

عرض المربع الحقيقي (رقم#2 اعلاه) + القيمة المضافة / الاضافية (رقم #6 اعلاه)  :

image.png.e6f9b60d5be45cd4716c9bb669ca7de3.png

.

image.png.9c6c65c3e7fa56e7be4b81974d50f594.png

.

 

جعفر

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

اقدر لك ذلك 

وطمعا بكرمك لدي طلب اخر

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

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

وهذا مرفق للتوضيح اكثر

وطلب اخر ان امكن وهو هل استطيع طباعة التقرير على ورقتين A3  بالتساوي لكل ورقة اقصد كل ورقة تحتوي على نصف عدد الحقول الظاهرة عند الطباعة لكي تتسع الحقول ونستطيع كبر حجم الخط اكثر؟

واسال الله لك التوفيق والنجاح

وهذا مرفق يوضح التقرير السنوي

1396.مطابقة موجودات2.rar

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

في ٨‏/٧‏/٢٠٢١ at 10:06, jjafferr said:

الحمدلله 🙂

 

طريقة التخطيط والتنفيذ :

1. اجعل الحقل/مربع النص كاملا للرقم ، واحذف الهوامش الاضافية لجميع الحقول:

image.png.fcad67672e576dd89de245d16734b244.png

.

2. كان واضح ان المطلوب هو ان عرض مربع النص يجب ان يتماشى مع عدد الارقام فيه ، وعرض الارقام بالنسبة للارقام الانجليزية ثابت لجميع الارقام ،

وبعد تحليل النتيجة في الصورة ، كعدد ارقام ، وعرض مربع النص image.png.2669ff9b6f7f3a6e8c49b24e782659b7.png ، اتضح ان كل حرف محتاج الى 145.5 تويب Twip (وحدة قياس الاكسس) ، وبتقنين الرقم وبعد عدة تجارب توصلت الى الرقم 140 ، لذلك ، اذا استعملت خط Font آخر ، او الخط بحجم اكبر/اصغر ، فيجب عليك تغيير هذه القيمة ، بالتجارب 😁

اذن ، عرض كل حقل يحتاج الى معرفة عدد الارقام ف الحقل ضرب 140 ،

للحصول على هذا الرقم لكل حقل (هذه معادلتك) ، جعلنا القيمة في المتغير fld_value

image.png.fe0deefb6bb03397d88f3693de0ae707.png

عليه يصبح عرض كل مربع (وعلشان نعرف عدد الارقام في الحقل ، نستخدم الدالة Len ، ويجب تحويل الرقم الى نص CStr ، للحول على النتيجة الصحيحة للدالة) :

image.png.452327cd05feeb20e48515c982827e69.png

.

وفي آخر سطر من المعادلات اعلاه ، جمعنا محموع عرض هذه المربعات في المتغير width_Added ،

.

3. العرض المتوفر هو width_Avail : عرض التقرير - هامش اليمين لبكرة الطابعة  - هامش اليسار لبكرة الطابعة :

image.png.4d55b3ef081c059e03e3989fc6e5e6f6.png

image.png.af18f89865cb7b6764b19423859da239.png

.

4. اذن في عملنا اعلاه ، عرض جميع مربعات النص يكون صحيح ، ويحتوي على الرقم كاملا فيه ، بالعرض (الضيق) الذي يناسب الرقم ،

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

5. هنا قمت انت بحساب عدد الحقول التي سيتم عرضها في التقرير ، الحقول التي مجموعها اكبر من صفر ، وفي المتغير fICnt :

image.png.ea1ea0896fd0d83a14898a76bb2c23b4.png

.

6. المعادلة التالية تقوم باخذ عرض التقرير ، ناقصا مجموع عرص المربعات ، فيعطينا المسافة الفارغة الزائدة عن حاجة المربعات :

image.png.2309e2126a2cd1ad97284e713ef562ee.png

فنقوم بتوزيعها بالتساوي بعدد الحقول ، فيصبح نصيب كل مربع :

image.png.2e04a8bf1d4a8b06ec8faf33a73ff84e.png
.

7. اذن عرض المربع النهائي سيصبح:

عرض المربع الحقيقي (رقم#2 اعلاه) + القيمة المضافة / الاضافية (رقم #6 اعلاه)  :

image.png.e6f9b60d5be45cd4716c9bb669ca7de3.png

.

image.png.9c6c65c3e7fa56e7be4b81974d50f594.png

.

 

جعفر

ايه الابداع ده 

بجد الله يبارك فيك

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

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

شكرا لكم جميعا احبتي في الله

تم تعديل بواسطه Eng.Qassim
  • Like 2
رابط هذا التعليق
شارك

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