User user قام بنشر نوفمبر 22, 2021 قام بنشر نوفمبر 22, 2021 (معدل) محتاج كود لتحكم فى لون وحجم ونوع الخط من خلال المستخدم من خلال نموذج بحيث اتحكم فى كل عنصر بشكل منفصل عن الاخر مثلا لو لدى Test 1 ده مثلا لونه احمر ونوع الخط تيم نيو وبولد Test 2 ده مثلا لونه ازرق ونوع الخط كايرو وبولد Test 3 ده مثلا لونه اخضر ونوع الخط تهوما وبولد Test 4 ده مثلا لونه اصفر ونوع الخط اريل وبولد وهكذا ارجوا انت تكون وصل المطلوب وهذا كود لاستاذنا الفاضل @jjafferr من فضلك لو تتكرم وتبلغنا ننفذ المطلوب كيف ؟ Function Convert_img_Embed_to_Link() Dim frm As AccessObject Dim rpt As AccessObject Dim dbs As Object Dim frm1 As Access.Form Dim rpt1 As Access.Report Dim ctl As Access.Control Set dbs = Application.CurrentProject For Each frm In dbs.AllForms DoCmd.OpenForm frm.Name, acDesign Set frm1 = Forms(frm.Name) For Each ctl In frm1.Controls If ctl.ControlType = acComboBox Or _ ctl.ControlType = acCommandButton Or _ ctl.ControlType = acLabel Or _ ctl.ControlType = acListBox Or _ ctl.ControlType = acOptionButton Or _ ctl.ControlType = acTextBox Then Debug.Print frm.Name & " > " & ctl.ControlType & " > " & ctl.Name ctl.FontName = "Cairo" If frm1.DefaultView = 2 Then frm1.DatasheetFontName = "Cairo" 'DataSheetForms End If End If Next ctl DoCmd.Close acForm, frm.Name, acSaveYes Next frm Exit Function For Each rpt In dbs.AllReports DoCmd.OpenReport rpt.Name, acDesign Set rpt1 = Reports(rpt.Name) For Each ctl In rpt1.Controls If ctl.ControlType = acComboBox Or _ ctl.ControlType = acCommandButton Or _ ctl.ControlType = acLabel Or _ ctl.ControlType = acListBox Or _ ctl.ControlType = acOptionButton Or _ ctl.ControlType = acTextBox Then Debug.Print rpt.Name & " > " & ctl.ControlType & " > " & ctl.Name ctl.FontName = "Cairo" If rpt1.DefaultView = 2 Then frm1.DatasheetFontName = "Cairo" End If End If Next ctl DoCmd.Close acReport, rpt.Name, acSaveYes Next rpt End Function تم تعديل نوفمبر 23, 2021 بواسطه jjafferr إظهار الكود بالطريقة الصحيحة بإستعمال زر <> من القائمة
ابو جودي قام بنشر نوفمبر 22, 2021 قام بنشر نوفمبر 22, 2021 طيب مبدئيا انا قمت بعمل بعض التعديلات الطفيفة جدا على الكود لأنه كان يتوقف بعد تغيير خطوط النماذج بسبب Exit Function قمت بإزالتها قمت بتغيير اسم الروتين العام حتى يتناسب مع الوظيفة ليسهل مستقبلا لأى احد معرفتها إضافة كود تصيد الأخطاء لمعرفة التوصيف والرقم المناسب لأى خطأ حتى يسهل تفاديه إضاقة متغير ثابت في اول الكود ليتم وضع اسم الخط فقط مرة واحدة ملاحظة هامة جدا جدا لابد من تغير اسم الخط الذى قمت انا باستخدامه في الوحدة النمطية وهو Calibri (Detail) باسم الخط الذى تريد أنت التغيير إليه وقمت بوضع هذا التلميح للتذكير في الوحدة النمطية عند المتغير الثابت الذى يحمل اسم الخط <<---------< Font name must be changed here between the quotation marks يتم استدعاء الكود من خلال Call ApplyDefaultFont ويتم وضع الكود الاتي في موديول Function ApplyDefaultFont() On Error GoTo ErrorHandler Const strFontName = "Calibri (Detail)" ' <<---------< Font name must be changed here between the quotation marks Dim frm As AccessObject Dim rpt As AccessObject Dim dbs As Object Dim frm1 As Access.Form Dim rpt1 As Access.Report Dim ctl As Access.Control Set dbs = Application.CurrentProject ' Apply Default Font for All Forms For Each frm In dbs.AllForms DoCmd.OpenForm frm.Name, acDesign Set frm1 = Forms(frm.Name) For Each ctl In frm1.Controls If ctl.ControlType = acComboBox Or _ ctl.ControlType = acCommandButton Or _ ctl.ControlType = acLabel Or _ ctl.ControlType = acListBox Or _ ctl.ControlType = acOptionButton Or _ ctl.ControlType = acTextBox Then ctl.FontName = strFontName 'Debug.Print frm.Name & " > " & ctl.ControlType & " > " & ctl.Name If frm1.DefaultView = 2 Then frm1.DatasheetFontName = strFontName End If End If Next ctl DoCmd.Close acForm, frm.Name, acSaveYes Next frm ' Apply Default Font for All Reports For Each rpt In dbs.AllReports DoCmd.OpenReport rpt.Name, acDesign Set rpt1 = Reports(rpt.Name) For Each ctl In rpt1.Controls If ctl.ControlType = acComboBox Or _ ctl.ControlType = acCommandButton Or _ ctl.ControlType = acLabel Or _ ctl.ControlType = acListBox Or _ ctl.ControlType = acOptionButton Or _ ctl.ControlType = acTextBox Then ctl.FontName = strFontName 'Debug.Print rpt.Name & " > " & ctl.ControlType & " > " & ctl.Name If rpt1.DefaultView = 2 Then frm1.DatasheetFontName = strFontName End If End If Next ctl DoCmd.Close acReport, rpt.Name, acSaveYes Next rpt Set frm = Nothing Set rpt = Nothing Set dbs = Nothing Set frm1 = Nothing Set rpt1 = Nothing Set ctl = Nothing Exit Function ExitHandler: Exit Function ErrorHandler: MsgBox "Error Number : " & Err.Number & vbNewLine & "Error Description : " & Err.Description End Function وهذا التطبيق العملي Change Font.mdb 1
User user قام بنشر نوفمبر 23, 2021 الكاتب قام بنشر نوفمبر 23, 2021 14 ساعات مضت, ابا جودى said: طيب مبدئيا انا قمت بعمل بعض التعديلات الطفيفة جدا على الكود لأنه كان يتوقف بعد تغيير خطوط النماذج بسبب Exit Function قمت بإزالتها قمت بتغيير اسم الروتين العام حتى يتناسب مع الوظيفة ليسهل مستقبلا لأى احد معرفتها إضافة كود تصيد الأخطاء لمعرفة التوصيف والرقم المناسب لأى خطأ حتى يسهل تفاديه إضاقة متغير ثابت في اول الكود ليتم وضع اسم الخط فقط مرة واحدة ملاحظة هامة جدا جدا لابد من تغير اسم الخط الذى قمت انا باستخدامه في الوحدة النمطية وهو Calibri (Detail) باسم الخط الذى تريد أنت التغيير إليه وقمت بوضع هذا التلميح للتذكير في الوحدة النمطية عند المتغير الثابت الذى يحمل اسم الخط <<---------< Font name must be changed here between the quotation marks يتم استدعاء الكود من خلال Call ApplyDefaultFont ويتم وضع الكود الاتي في موديول Function ApplyDefaultFont() On Error GoTo ErrorHandler Const strFontName = "Calibri (Detail)" ' <<---------< Font name must be changed here between the quotation marks Dim frm As AccessObject Dim rpt As AccessObject Dim dbs As Object Dim frm1 As Access.Form Dim rpt1 As Access.Report Dim ctl As Access.Control Set dbs = Application.CurrentProject ' Apply Default Font for All Forms For Each frm In dbs.AllForms DoCmd.OpenForm frm.Name, acDesign Set frm1 = Forms(frm.Name) For Each ctl In frm1.Controls If ctl.ControlType = acComboBox Or _ ctl.ControlType = acCommandButton Or _ ctl.ControlType = acLabel Or _ ctl.ControlType = acListBox Or _ ctl.ControlType = acOptionButton Or _ ctl.ControlType = acTextBox Then ctl.FontName = strFontName 'Debug.Print frm.Name & " > " & ctl.ControlType & " > " & ctl.Name If frm1.DefaultView = 2 Then frm1.DatasheetFontName = strFontName End If End If Next ctl DoCmd.Close acForm, frm.Name, acSaveYes Next frm ' Apply Default Font for All Reports For Each rpt In dbs.AllReports DoCmd.OpenReport rpt.Name, acDesign Set rpt1 = Reports(rpt.Name) For Each ctl In rpt1.Controls If ctl.ControlType = acComboBox Or _ ctl.ControlType = acCommandButton Or _ ctl.ControlType = acLabel Or _ ctl.ControlType = acListBox Or _ ctl.ControlType = acOptionButton Or _ ctl.ControlType = acTextBox Then ctl.FontName = strFontName 'Debug.Print rpt.Name & " > " & ctl.ControlType & " > " & ctl.Name If rpt1.DefaultView = 2 Then frm1.DatasheetFontName = strFontName End If End If Next ctl DoCmd.Close acReport, rpt.Name, acSaveYes Next rpt Set frm = Nothing Set rpt = Nothing Set dbs = Nothing Set frm1 = Nothing Set rpt1 = Nothing Set ctl = Nothing Exit Function ExitHandler: Exit Function ErrorHandler: MsgBox "Error Number : " & Err.Number & vbNewLine & "Error Description : " & Err.Description End Function وهذا التطبيق العملي Change Font.mdb 348 kB · 8 downloads اشكرك على تعبك للاسف ليس هذا المطلوب محتاج نعمل نموذج المستخدم النهائى يتحكم فى كل شى فى التقرير من خلاله 1
ابو جودي قام بنشر نوفمبر 23, 2021 قام بنشر نوفمبر 23, 2021 5 ساعات مضت, User user said: اشكرك على تعبك للاسف ليس هذا المطلوب محتاج نعمل نموذج المستخدم النهائى يتحكم فى كل شى فى التقرير من خلاله انا اسف يبدو أنى لم انتبه جيدا لطلبكم واختلط على الامر وظننت انكم تريدون تشغيل الكود الذى أشرتم اليه في طلبكم
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.