عبد الفتاح كيرة قام بنشر أبريل 29, 2017 قام بنشر أبريل 29, 2017 السلام عليكم و رحمة الله عندى تقرير يظهر أسماء طلاب أحد الفصول و عدد الفصول متفاوت مثلا فصل = 51 و فصل آخر = 33 يمكن ضبط حجم مربعات النص و تصغيرها ليظهر كل أسماء الفصل ذى ال 51 طالبا فى صفحة واحدة لكن عند طباعة فصل ذى 33 طالبا تعرفون المشكلة يكون هناك فراغ أسفل آخر سجل و لو ضبطنا حجم مربعات النص على مقاس ال 33 طالبا فعند طباعة فصل 51 طالبا فإنه يظهر فى صفحتين و كلا الأمرين لا نريدهماقمت بحل المشكلة بهذا الكود If Me.mycount <= 39 Then Me.StuName.Height = Me.StuName.Height * 1.33 حيث mycount هو عدد سجلات التقرير حسب الفصل و stuname هو حقل اسم الطالب جعلت ارتفاعه مضروبا فى 1.33 و بهذا يظهر طلاب أكبر فصل و أصغر فصل فى نقطة التقاء مقبولة فى صفحة التقرير ثم غيرت ارتفاعات بقية الحقول كم يلى Me.s1.Height = Me.StuName.Height Me.s2.Height = Me.StuName.Height Me.s3.Height = Me.StuName.Height Me.s4.Height = Me.StuName.Height Me.s5.Height = Me.StuName.Height Me.s6.Height = Me.StuName.Height Me.s7.Height = Me.StuName.Height Me.s8.Height = Me.StuName.Height و جاءت النتيجة مرضية للآن لكن لا أستبعد أن يكون هناك حل أفضل هل هناك علاقة بين ارتفاع قسم التفاصيل فى التقرير و ارتفاعات مربعات الحقول بحيث نقسم ارتفاع قسم التفاصيل على عدد السجلات ؟ فيعطينا الارتفاع المناسب حسب عدد التلاميذ لو كان ذلك لكان كنزا ظفرنا به أرجو أن يوفق الله علماء المنتدى للتوصل لحل و السلام عليكم
jjafferr قام بنشر أبريل 29, 2017 قام بنشر أبريل 29, 2017 وعليكم السلام سهلة المحاولة التالية للتغلب على هذه المعادلة ، والحصول على معادلة صحيحة: If Me.mycount <= 39 Then Me.StuName.Height = Me.StuName.Height * 1.33 ابدأ بالتالي: اجعل حقول قسم التفصيل Detail قصيرة جدا ، شوي اكبر من خط مستقيم ، في التقرير عندك مجموعة اقسام ، وجميع الاقسام ارتفاعاتها ثابته وغير متغيرة ، القسم الوحيد الذي يتغير هو قسم التفصيل Detail ، عندك ارتفاع التقرير النهائي على حجم A4 مثلا ، واحسب ارتفاعات جميع الاقسام ، واطرح هذا من ذاك وبتحصل على المسافة المتبقية للقسم Detail ، تقدر تحسب عدد السجلات اللي بتكون في كل فصل ، وفي حدث فتح التقرير اقسم المسافة المتبقية من التقرير على عدد السجلات ، وتحصل على ارتفاع قسم Detail ، وهو المطلب الاول الاصل (والتغييرات تصير عليه بعدين) ، وبعد عدة تجارب ستصل الى الارتفاع الصحيح ، وعليه تغير ارتفاع الحقول الى نفس ارتفاع قسم Detail قلت لك سهلة جعفر 3
ابو جودي قام بنشر أبريل 29, 2017 قام بنشر أبريل 29, 2017 7 دقائق مضت, jjafferr said: وعليكم السلام سهلة المحاولة التالية للتغلب على هذه المعادلة ، والحصول على معادلة صحيحة: If Me.mycount <= 39 Then Me.StuName.Height = Me.StuName.Height * 1.33 ابدأ بالتالي: اجعل حقول قسم التفصيل Detail قصيرة جدا ، شوي اكبر من خط مستقيم ، في التقرير عندك مجموعة اقسام ، وجميع الاقسام ارتفاعاتها ثابته وغير متغيرة ، القسم الوحيد الذي يتغير هو قسم التفصيل Detail ، عندك ارتفاع التقرير النهائي على حجم A4 مثلا ، واحسب ارتفاعات جميع الاقسام ، واطرح هذا من ذاك وبتحصل على المسافة المتبقية للقسم Detail ، تقدر تحسب عدد السجلات اللي بتكون في كل فصل ، وفي حدث فتح التقرير اقسم المسافة المتبقية من التقرير على عدد السجلات ، وتحصل على ارتفاع قسم Detail ، وهو المطلب الاول الاصل (والتغييرات تصير عليه بعدين) ، وبعد عدة تجارب ستصل الى الارتفاع الصحيح ، وعليه تغير ارتفاع الحقول الى نفس ارتفاع قسم Detail قلت لك سهلة جعفر سهله واسهل من السهوله 1
عبد الفتاح كيرة قام بنشر أبريل 29, 2017 الكاتب قام بنشر أبريل 29, 2017 جزاكم الله خيرا لا حرمنا الله من علمكم جارى العمل و من ثم إخباركم بالنتائج
عبد الفتاح كيرة قام بنشر أبريل 29, 2017 الكاتب قام بنشر أبريل 29, 2017 شكرا ما وحدة القياس المستخدمة فى الكود عندى التقرير ارتفاعه 29.7 سم ورق a4 رأس الصفحة 1.961 سم تذييل التقرير .855 هامش علوى .6 سم هامش سفلى .6 سم المجموع حوالى 5.8 سم الباقى من الارتفاع = 29.7 - 5.8 = 23.9 تقريبا كيف نستخدم ذلك فى الكود Me.StuName.Height = Me.Section(0).Height / Me.mycount و هل وحدة القياس فى الكود هى نفسها هذه الوحدة السنتيمتر
jjafferr قام بنشر أبريل 29, 2017 قام بنشر أبريل 29, 2017 جميل وحدة القياس هي Twips وتساوي 576 سنتيمتر ، ومثل ما قلت لك ، في البدايه خلينا نشتغل على ارتفاع القسم ، ثم نرجع للحقول ، فالمعادلة لقسم Detail هي: Me.Section(0).Height= 23.9 * 576 / Number_of_Records جعفر 1
عبد الفتاح كيرة قام بنشر أبريل 29, 2017 الكاتب قام بنشر أبريل 29, 2017 الحمد لله أخيرا ضبطت معانا Me.StuName.Height = 23.2 * 576 / Me.mycount شيء رائع فعلا جزاك الله خيرا أستاذنا جعفر ولك منى دعوة مخبأة بظهر الغيب أفضل من المدح و الثناء
jjafferr قام بنشر أبريل 29, 2017 قام بنشر أبريل 29, 2017 هلا والله ، مو قلت لك سهله اتوقع ان حجم الحقول انتهيت منها؟ بس ايش عملت في حجم حروف الحقول؟ اذا تسمح لي ، تقدر تستخدم نفس النسبة وتضيفها/تنقصها على حجم الخط (يعني تبدأ بحجم خط صغير مثلا يناسب الحقول الاقصر) ، او نقدر نستخدم كود تصغير/تكبير الخط ليتلائم مع ارتفاع الحقل جعفر
عبد الفتاح كيرة قام بنشر أبريل 29, 2017 الكاتب قام بنشر أبريل 29, 2017 نعم حجم الخط بالنسبة لارتفاع الحقل لا يؤثر كثيرا على الأقل فى حالتنا هذه فالأطوال متقاربة نوعا ما 51 33 39 و طبعا يكون الأفضل أن نربط حجم الخط بارتفاع الحقل و هذا من كمال التوفيق فكيف يتم ذلك؟ أما الاسم الواحد هناك أسماء تطول عرضا و تخرج عن حافة الحقل استخدمت لها len لتصغير الخط درجة حينما تزيد السلسلة الحرفية عن 27
عبد الفتاح كيرة قام بنشر أبريل 29, 2017 الكاتب قام بنشر أبريل 29, 2017 3 ساعات مضت, ابا جودى said: اجعل حقول قسم التفصيل Detail قصيرة جدا ، شوي اكبر من خط مستقيم ما فائدة هذه الجزئية؟
أبو عبدالله الحلوانى قام بنشر أبريل 29, 2017 قام بنشر أبريل 29, 2017 السلام عليكم مشاركة بسيطة لعلها تفيد بشىء 4 ساعات مضت, عبد الفتاح كيرة said: ثم غيرت ارتفاعات بقية الحقول كم يلى Me.s1.Height = Me.StuName.Height Me.s2.Height = Me.StuName.Height Me.s3.Height = Me.StuName.Height Me.s4.Height = Me.StuName.Height Me.s5.Height = Me.StuName.Height Me.s6.Height = Me.StuName.Height Me.s7.Height = Me.StuName.Height Me.s8.Height = Me.StuName.Height و جاءت النتيجة مرضية من مزايا اضافة تخطيط لعناصر التحكم على الفورم أو التقرير أن أى تغير يتم على أبعاد أحد العناصر داخل التخطيط ينسحب على باقى العناصر بشكل آلى. دون الحاجة لأضافة أكواد اضافية. بمعنى: لو أضفنا تخطيط لكل عناصر التحكم بداية من StuName الى s8 فضبط أبعاد StuName فقط سيغنينى عن اضافة أكواد اضافية 1
jjafferr قام بنشر أبريل 29, 2017 قام بنشر أبريل 29, 2017 8 دقائق مضت, عبد الفتاح كيرة said: ما فائدة هذه الجزئية؟ كانت حتى تركز على ارتفاع القسم فقط ، وبعدها تستطيع انت ترجع للحقول وتعطيها الحجم الصحيح 38 دقائق مضت, عبد الفتاح كيرة said: و طبعا يكون الأفضل أن نربط حجم الخط بارتفاع الحقل و هذا من كمال التوفيق فكيف يتم ذلك؟ تفضل وانزل المرفق من هنا : http://www.lebans.com/autosizefont.htm بس حسب تجربتي مع الكود ، فتستطيع ان تضيف الى الحجم النهائي (في الكود) نقطة او نقطتين ، بالتجربة سترى قصدي ، ولا داعي لـ len جعفر 2
عبد الفتاح كيرة قام بنشر أبريل 29, 2017 الكاتب قام بنشر أبريل 29, 2017 (معدل) 7 دقائق مضت, jjafferr said: كانت حتى تركز على ارتفاع القسم فقط ، وبعدها تستطيع انت ترجع للحقول وتعطيها الحجم الصحيح بدون هذه الجزئية يحدث خلل عند اختيار الفصل ذى العدد الأقل يزداد ارتفاع الحقل ثم بعد ذلك عند اختيار الفصل ذى العدد الأكبر يصغر ارتفاع الحقل لكن تبقى الفراغات بين الحقول فأبقيت حجم الحقل رفيعا كما هو شاهد الصورة تم تعديل أبريل 29, 2017 بواسطه عبد الفتاح كيرة
jjafferr قام بنشر أبريل 29, 2017 قام بنشر أبريل 29, 2017 اولا ، الصق الحقول بالقسم العلوي من قسم Detail ، ثانيا ، اذا كنت تستخدم خاصية الاكسس 2010 في تجميع الحقول ، فتأكد ان تجعل المسافات حول الحقول = صفر ، ثالثا ، اجعل ارتفاع الحقول نفس ارتفاع قسم Detail جعفر 1
عبد الفتاح كيرة قام بنشر أبريل 29, 2017 الكاتب قام بنشر أبريل 29, 2017 1 دقيقه مضت, jjafferr said: ثالثا ، اجعل ارتفاع الحقول نفس ارتفاع قسم Detail مع هذه تحدث مشكلة الفراغات إذا كان ارتفاع الحقول رفيعا جدا مع لصقها بالأعلى و عدم وجود فراغات تحتها حال التصميم لا تظهر المشكلة لكن لا أدرى ما تفسير ذلك
jjafferr قام بنشر أبريل 29, 2017 قام بنشر أبريل 29, 2017 قصدي تعديل اطوالها في الكود ، في نفس المكان الذي تغير فيه ارتفاع القسم على العموم اذا اردت ان انظر في هذه الحيثية ، فالرجاء ارفاق التقرير من برنامجك جعفر 1
عبد الفتاح كيرة قام بنشر أبريل 29, 2017 الكاتب قام بنشر أبريل 29, 2017 يشرفنى ذلك هذه صورة من الملف التقرير الوحيد فى الملف الصف = 1 للعدد الأكبر الصف = 3 للعدد الأصغر و الفصل من 1 إلى 4 وفقكم الله SH-16-17Ssss.rar
jjafferr قام بنشر أبريل 30, 2017 قام بنشر أبريل 30, 2017 السلام عليكم اللي عملته هو: 1. يطبع التقرير صفحة واحدة بغض النظر عن عدد السجلات ، 2. التحكم في حجم الخط ، وتجعله في حجم مربع النص 1- بسبب ان اعدادات طابعتي تختلف عن طابعتك ، وطابعة المستخدم الاخير ، فجعلت الكود يحسب كل ارتفاعات الطابعة واقسام التقرير تلقائيا: hSum = Me.Section(1).Height + Me.Section(2).Height + Me.Section(3).Height + Me.Section(4).Height pSum = Me.Printer.TopMargin + Me.Printer.BottomMargin extra = 576 * 2.5 'to tighten the space h_p_t = hSum + pSum + extra 'in twips pPaper = 29.7 'Me.Printer.PaperSize A4 pPaper_t = pPaper * 576 hDetail = (pPaper_t - h_p_t) 'Me.StuName.Height = 23.2 * 576 / Me.mycount Me.StuName.Height = hDetail / Me.mycount اذا تلاحظ المتغير (والذي يساوي 2.5 سم ، والرقم هذا اتى بعد عدة محاولات) extra = 576 * 2.5 'to tighten the space وذلك حتى يرفع التقرير ويصبح صفحة واحدة بغض النظر عن عدد السجلات 2- من الرابط http://www.lebans.com/autosizefont.htm ، اضفت الوحدة النمطية modTextHeightWidth ، والتي تتحكم في حجم الخط ، وتجعله في حجم مربع النص ، وبما ان البيانات كان بالانجليزي ، فكل شيء كان تمام ، وقد اخبرتك انه قد يجب ان تتلاعب مع السطر التالي في الكود ، والذي يحدد حجم الخط .FontSize = .FontSize - 1 فقد تضطر ان تغير الرقم 1 الى رقم آخر ، ولكن بالتجربة ستتوصل فيما اذا كان يجب ان تقوم بالتغيير اصلا او لا جعفر 625.SH-16-17Ssss.accdb.zip 3
عبد الفتاح كيرة قام بنشر أبريل 30, 2017 الكاتب قام بنشر أبريل 30, 2017 (معدل) عليكم السلام و رحمة الله وفقك الله و سدد خطاك كنوز من الأكواد جارى التجربة و الفحص إلى لقاء قريب تم تعديل أبريل 30, 2017 بواسطه عبد الفتاح كيرة
عبد الفتاح كيرة قام بنشر أبريل 30, 2017 الكاتب قام بنشر أبريل 30, 2017 ملف ديناميكى من الطراز الأول لضبط أجزاء التقرير و تغيير حجم الحقول حسب عدد السجلات ملف مطلوب جدا ولا أدرى لماذا لا يكون خيارا طبيعيا فى أكسيس كما فى الإكسيل " الضبط إلى صفحة واحدة" كثيرا ما أهدرنا الأوراق بسبب طباعة التقرير فى صفحتين بسبب سطر واحد أو سطرين وفقكم الله أستاذ جعفر و سدد خطاك وجزاك عنا خيرا
jjafferr قام بنشر مايو 1, 2017 قام بنشر مايو 1, 2017 هلا والله ، وحياك الله والوحدة النمطية modTextHeightWidth تعمل عمل آخر كذلك ، لذلك اشجعك بإنزال المرفق والذي به نموذجين ، نموذج لكل لتصغير الخط ، ونموذج لتصغير/تكبير حجم الحقل ليتناسب مع حجم الخط (يعني عكس عمل الخط) جعفر 1
عبد الفتاح كيرة قام بنشر مايو 1, 2017 الكاتب قام بنشر مايو 1, 2017 (معدل) وفقكم الله أستاذ جعفر كفيت ووفيت كتب الله لك الأجر تم تعديل مايو 1, 2017 بواسطه عبد الفتاح كيرة
عبد الفتاح كيرة قام بنشر مايو 1, 2017 الكاتب قام بنشر مايو 1, 2017 فى حال كان التقرير بالعرض نغير مقاس ارتفاع الورقة إلى 21 و هو عرض ورقة a4 هذا للفائدة 1
jjafferr قام بنشر مايو 1, 2017 قام بنشر مايو 1, 2017 في الواقع ما كنت اريد اكبّر البرنامج ، ولا اعطيه وقت اكثر وإلا فيمكن عن طريق الكود معرفة حجم الورقه ، وفيما اذا كانت افقية او عمودية ، وفيتم الحساب تلقائيا ، ولا ادخال اسماء الحقول لإعطائها ارتفاعها الجديد ، ولا حجم الخط ، انما يمكن الكود يأخذ كل ذلك في الاعتبار يعني لبكرة الصبح ما كنا نخلص جعفر 1
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.