2saad قام بنشر منذ 2 ساعات قام بنشر منذ 2 ساعات اخواني اعضاء المنتدي الكرام بعد سلام الله عليكم ورحمته وبركاته محتاج آلية اختار منها الخط وحجمه وارتفاع الصف كما في الكمبوبكس في النماذج والتقرير بحيث تطبق علي كل النملذج والتقارير بقاعدة البيانات ولكم جزيل الشكر ووافر الاحترام
ابوخليل قام بنشر منذ 2 ساعات قام بنشر منذ 2 ساعات سألت الذكاء الاصطناعي فاعطاني الاجابة التالية : ... وعذرا لتقدم الكلمات وتأخرها لوجود كلمات انجليزية بين العبارات العربية محتاج آلية vba اختار منها الخط وحجمه وارتفاع الصف بحيث تطبق علي كل النملذج والتقارير بقاعدة البيانات اكسس _____________________________________________________________________________________________________________________________ لتطبيق آلية موحدة لتغيير الخط، حجمه، وارتفاع الصفوف في جميع النماذج والتقارير داخل قاعدة بيانات Microsoft Access، فإن أفضل وأسرع طريقة هي استخدام كود VBA يمر على كافة عناصر قاعدة البيانات (Forms & Reports) ويعدل خصائصها برمجياً دفعة واحدة، بدلاً من تعديلها يدوياً نموذجاً تلو الآخر. إليك الطريقة بالتفصيل مع الكود الجاهز: 1. كود الـ VBA الموحد قم بفتح محرر الـ VBA (بالضغط على Alt + F11)، ثم اختر Insert -> Module وانصخ الكود التالي بداخله. ملاحظة: تم تعيين قيم افتراضية في أعلى الكود (اسم الخط، الحجم، وارتفاع الصف)، يمكنك تغييرها مباشرة من الكود بما يناسبك. VBA Sub ApplyGlobalFormatting() Dim db As DAO.Database Dim doc As DAO.Document Dim frm As Form Dim rpt As Report Dim ctl As Control ' ---- حدد الإعدادات المطلوبة هنا ---- Const MY_FONT As String = "Arial" ' اسم الخط Const MY_SIZE As Integer = 12 ' حجم الخط Const ROW_HEIGHT As Integer = 450 ' ارتفاع الصف (بالتويت Twips: كل 1 سم تقريباً 567 تويت) ' ---------------------------------- Set db = CurrentDb ' أولاً: تطبيق الإعدادات على جميع النماذج (Forms) On Error Resume Next ' لتجنب الأخطاء في حال كان العنصر لا يدعم الخاصية For Each doc In db.Containers("Forms").Documents ' فتح النموذج في وضع التصميم وخفي DoCmd.OpenForm doc.Name, acDesign, , , , acHidden Set frm = Forms(doc.Name) ' المرور على كل العناصر داخل النموذج For Each ctl In frm.Controls ' تعديل الخط والحجم لعناصر النصوص والتسميات If ctl.ControlType = acTextBox Or ctl.ControlType = acComboBox Or ctl.ControlType = acListBox Or ctl.ControlType = acLabel Then ctl.FontName = MY_FONT ctl.FontSize = MY_SIZE End If ' تعديل ارتفاع الصف في حال كان النموذج يعرض كجدول (Datasheet) frm.DatasheetRowHeight = ROW_HEIGHT Next ctl ' إغلاق وحفظ التعديلات DoCmd.Close acForm, doc.Name, acSaveYes Next doc ' ثانياً: تطبيق الإعدادات على جميع التقارير (Reports) For Each doc In db.Containers("Reports").Documents ' فتح التقرير في وضع التصميم وخفي DoCmd.OpenReport doc.Name, acDesign, , , acHidden Set rpt = Reports(doc.Name) ' المرور على كل العناصر داخل التقرير For Each ctl In rpt.Controls If ctl.ControlType = acTextBox Or ctl.ControlType = acComboBox Or ctl.ControlType = acLabel Then ctl.FontName = MY_FONT ctl.FontSize = MY_SIZE End If Next ctl ' إغلاق وحفظ التعديلات DoCmd.Close acReport, doc.Name, acSaveYes Next doc ' تنظيف الذاكرة Set db = Nothing MsgBox "تم تطبيق الخط الجديد، الحجم، وارتفاع الصفوف على جميع النماذج والتقارير بنجاح!", vbInformation, "اكتملت العملية" End Sub 2. طريقة تشغيل الآلية أمامك خياران لتشغيل هذا الكود بناءً على رغبتك: الخيار أ: التشغيل المباشر والسريع (لمرة واحدة) وأنت داخل محرر الـ VBA وضمن الكود أعلاه، ضع مؤشر الماوس في أي مكان داخل الكود. اضغط على زر F5 من لوحة المفاتيح أو اضغط على زر التشغيل الأخضر (Run) في الشريطة العلوية. ستستغرق العملية ثوانٍ معدودة (تعتمد على حجم قاعدة البيانات)، ثم ستظهر لك رسالة النجاح. الخيار ب: ربط الكود بزر أمر (للتحكم المستقبلي) إذا كنت تريد إتاحة هذه الميزة للمستخدم أو لنفسك لتغيير الخطوط مستقبلاً عبر واجهة البرنامج: قم بإنشاء نموذج جديد (Form) وسمِّه مثلاً "لوحة التحكم بالخطوط". أضف زر أمر (Button). في حدث "عند النقر" (On Click) الخاص بالزر، اختر [Event Procedure] واكتب: VBA Call ApplyGlobalFormatting 💡 نصائح هامة جداً قبل التشغيل: خذ نسخة احتياطية: يرجى أخذ نسخة احتياطية من قاعدة البيانات قبل تشغيل الكود، لأن عمليات الـ VBA التي تقوم بحفظ النماذج تلقائياً لا يمكن التراجع عنها (Ctrl + Z). وحدة قياس الارتفاع (Twips): الـ Access يتعامل مع ارتفاع الصفوف بوحدة قياس تُدعى Twip. (الـ 1 بوصة = 1440 تويت، والـ 1 سم = 567 تويت تقريباً). القيمة 450 الموجودة في الكود تعطي ارتفاعاً مناسباً ومريحاً للعين، ويمكنك زيادتها أو نقصها حسب رغبتك. النماذج المفتوحة: تأكد من إغلاق جميع النماذج والتقارير قبل تشغيل الكود حتى لا يحدث تعارض أثناء محاولة الكود فتحها وتعديلها في وضع التصميم.
الردود الموصى بها
انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد
يجب ان تكون عضوا لدينا لتتمكن من التعليق
انشئ حساب جديد
سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .
سجل حساب جديدتسجيل دخول
هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.
سجل دخولك الان