safaa salem5 قام بنشر مايو 29 الكاتب قام بنشر مايو 29 (معدل) 3 hours ago, safaa salem5 said: 3 hours ago, safaa salem5 said: هامش تقرير.accdb 864 kB · 2 downloads ممكن مساعده فى طريقة عمل هامش للتقرير بدلالة قيمه هتتكتب فى فورم خاص باعدادات التقرير ويمكن تغييرها اى وقت من الفورم مثل هامش من الاعلى - الهامش من الاسفل - الهامش من الجانب تم تعديل مايو 29 بواسطه safaa salem5
ابوخليل قام بنشر مايو 30 قام بنشر مايو 30 Private Sub Report_Open(Cancel As Integer) Dim T, L, B T = Nz(DLookup("top", "settings_Report_tbl"), 1) L = Nz(DLookup("left", "settings_Report_tbl"), 1) B = Nz(DLookup("bottom", "settings_Report_tbl"), 1) Me.Printer.TopMargin = T * 567 Me.Printer.LeftMargin = L * 567 Me.Printer.BottomMargin = B * 567 End Sub هامش تقرير2.rar 3
ابو جودي قام بنشر مايو 30 قام بنشر مايو 30 اولا ننشئ جدول باسم tblMarginsSettings يحتوى على الجقول الاتية TopMargin (نوع البيانات: Number) BottomMargin (نوع البيانات: Number) LeftMargin (نوع البيانات: Number) RightMargin (نوع البيانات: Number) إنشاء نموذج لإدخال إعدادات الهوامش عناصر التحكم اللازمة لإدخال الهوامش (مربعات نصية) txtTopMargin txtBottomMargin txtLeftMargin txtRightMargin (زر أمر) btnSaveMargins الكود Private Sub btnSaveMargins_Click() ' Ensure only one record in tblMarginsSettings If DCount("*", "tblMarginsSettings") = 0 Then ' If no record, insert a new one DoCmd.RunSQL "INSERT INTO tblMarginsSettings (TopMargin, BottomMargin, LeftMargin, RightMargin) VALUES (" & Me.txtTopMargin & ", " & Me.txtBottomMargin & ", " & Me.txtLeftMargin & ", " & Me.txtRightMargin & ")" Else ' If record exists, update it DoCmd.RunSQL "UPDATE tblMarginsSettings SET TopMargin = " & Me.txtTopMargin & ", BottomMargin = " & Me.txtBottomMargin & ", LeftMargin = " & Me.txtLeftMargin & ", RightMargin = " & Me.txtRightMargin End If MsgBox "Margins settings saved successfully!" End Sub إنشاء الوحدة النمطية لإضافة الدالة العامة الكود Public Sub SetReportMargins(rpt As Report, _ Optional ByVal DefaultTop As Long = 1440, _ Optional ByVal DefaultBottom As Long = 1440, _ Optional ByVal DefaultLeft As Long = 1440, _ Optional ByVal DefaultRight As Long = 1440) ' Default values are set to 1 inch (1440 twips) which is standard for A4 paper Dim rs As DAO.Recordset On Error GoTo ErrorHandler Set rs = CurrentDb.OpenRecordset("SELECT * FROM tblMarginsSettings") If Not rs.EOF Then rpt.Printer.TopMargin = Nz(rs!TopMargin, DefaultTop) rpt.Printer.BottomMargin = Nz(rs!BottomMargin, DefaultBottom) rpt.Printer.LeftMargin = Nz(rs!LeftMargin, DefaultLeft) rpt.Printer.RightMargin = Nz(rs!RightMargin, DefaultRight) Else rpt.Printer.TopMargin = DefaultTop rpt.Printer.BottomMargin = DefaultBottom rpt.Printer.LeftMargin = DefaultLeft rpt.Printer.RightMargin = DefaultRight End If rs.Close Set rs = Nothing Exit Sub ErrorHandler: MsgBox "Error setting margins: " & Err.Description If Not rs Is Nothing Then rs.Close Set rs = Nothing End If End Sub على ان يتم استدعاءه فى التقرير عندف تح التقرير بالشكل التالى Private Sub Report_Open(Cancel As Integer) SetReportMargins Me End Sub وبذلك يكون هناك مرونة مع المعلمات الافتراضية للدالة SetReportMargins تتيح تحديد هوامش افتراضية في حال عدم وجود قيم في الجدول تم استخدام معايير A4 حيث ان القيم الافتراضية للهوامش تعادل 1 بوصة (1440 twips) لكل جانب وهي مناسبة لمقاسات ورق A4 يمكن استدعاء الدالة من أي تقرير بسهولة باستخدام هذا الكود، ستكون إعدادات الهوامش مرنة وقابلة للتعديل بسهولة، مع التأكد من وجود قيم افتراضية مناسبة عند الحاجة. 2
ابو جودي قام بنشر مايو 30 قام بنشر مايو 30 اولا اعتذر لم انتبه الى رد واجابة والدى الحبيب واستاذى الجليل ومعلمى القدير الاستاذ @ابوخليل يبدو اننى كنت منهمكا فى وضع الاجابة وبعد مشاهدة اجابة والدى الحبيب يبدو انه اعتمد فى الاجابة على تحويل قيم من سنتيمتر إلى twips ولذلك اثراء للموضع الطريقة الثانية اولا ننشئ جدول باسم tblMarginsSettings يحتوى على الجقول الاتية TopMargin (نوع البيانات: Number) BottomMargin (نوع البيانات: Number) LeftMargin (نوع البيانات: Number) RightMargin (نوع البيانات: Number) إنشاء نموذج لإدخال إعدادات الهوامش عناصر التحكم اللازمة لإدخال الهوامش (مربعات نصية) txtTopMargin txtBottomMargin txtLeftMargin txtRightMargin (زر أمر) btnSaveMargins الكود Private Sub btnSaveMargins_Click() ' Ensure only one record in tblMarginsSettings If DCount("*", "tblMarginsSettings") = 0 Then ' If no record, insert a new one DoCmd.RunSQL "INSERT INTO tblMarginsSettings (TopMargin, BottomMargin, LeftMargin, RightMargin) VALUES (" & Me.txtTopMargin & ", " & Me.txtBottomMargin & ", " & Me.txtLeftMargin & ", " & Me.txtRightMargin & ")" Else ' If record exists, update it DoCmd.RunSQL "UPDATE tblMarginsSettings SET TopMargin = " & Me.txtTopMargin & ", BottomMargin = " & Me.txtBottomMargin & ", LeftMargin = " & Me.txtLeftMargin & ", RightMargin = " & Me.txtRightMargin End If MsgBox "Margins settings saved successfully!" End Sub إنشاء الوحدة النمطية لإضافة الدالة العامة الكود Public Function CmToTwips(cm As Double) As Long CmToTwips = cm * 567 End Function وذلك لتحويل القيم من سنتيمتر إلى twips Public Sub SetReportMargins(rpt As Report, _ Optional ByVal DefaultTopCm As Double = 2.54, _ Optional ByVal DefaultBottomCm As Double = 2.54, _ Optional ByVal DefaultLeftCm As Double = 2.54, _ Optional ByVal DefaultRightCm As Double = 2.54) ' Convert default values from cm to twips Dim DefaultTop As Long Dim DefaultBottom As Long Dim DefaultLeft As Long Dim DefaultRight As Long DefaultTop = CmToTwips(DefaultTopCm) DefaultBottom = CmToTwips(DefaultBottomCm) DefaultLeft = CmToTwips(DefaultLeftCm) DefaultRight = CmToTwips(DefaultRightCm) Dim rs As DAO.Recordset On Error GoTo ErrorHandler Set rs = CurrentDb.OpenRecordset("SELECT * FROM tblMarginsSettings") If Not rs.EOF Then rpt.Printer.TopMargin = CmToTwips(Nz(rs!TopMargin, DefaultTopCm)) rpt.Printer.BottomMargin = CmToTwips(Nz(rs!BottomMargin, DefaultBottomCm)) rpt.Printer.LeftMargin = CmToTwips(Nz(rs!LeftMargin, DefaultLeftCm)) rpt.Printer.RightMargin = CmToTwips(Nz(rs!RightMargin, DefaultRightCm)) Else rpt.Printer.TopMargin = DefaultTop rpt.Printer.BottomMargin = DefaultBottom rpt.Printer.LeftMargin = DefaultLeft rpt.Printer.RightMargin = DefaultRight End If rs.Close Set rs = Nothing Exit Sub ErrorHandler: MsgBox "Error setting margins: " & Err.Description If Not rs Is Nothing Then rs.Close Set rs = Nothing End If End Sub على ان يتم الاستدعاء فى التقرير عند فتح التقرير بالشكل التالى Private Sub Report_Open(Cancel As Integer) SetReportMargins Me End Sub 2
safaa salem5 قام بنشر مايو 30 الكاتب قام بنشر مايو 30 13 hours ago, ابو جودي said: اولا ننشئ جدول باسم tblMarginsSettings يحتوى على الجقول الاتية TopMargin (نوع البيانات: Number) BottomMargin (نوع البيانات: Number) LeftMargin (نوع البيانات: Number) RightMargin (نوع البيانات: Number) إنشاء نموذج لإدخال إعدادات الهوامش عناصر التحكم اللازمة لإدخال الهوامش (مربعات نصية) txtTopMargin txtBottomMargin txtLeftMargin txtRightMargin (زر أمر) btnSaveMargins الكود Private Sub btnSaveMargins_Click() ' Ensure only one record in tblMarginsSettings If DCount("*", "tblMarginsSettings") = 0 Then ' If no record, insert a new one DoCmd.RunSQL "INSERT INTO tblMarginsSettings (TopMargin, BottomMargin, LeftMargin, RightMargin) VALUES (" & Me.txtTopMargin & ", " & Me.txtBottomMargin & ", " & Me.txtLeftMargin & ", " & Me.txtRightMargin & ")" Else ' If record exists, update it DoCmd.RunSQL "UPDATE tblMarginsSettings SET TopMargin = " & Me.txtTopMargin & ", BottomMargin = " & Me.txtBottomMargin & ", LeftMargin = " & Me.txtLeftMargin & ", RightMargin = " & Me.txtRightMargin End If MsgBox "Margins settings saved successfully!" End Sub إنشاء الوحدة النمطية لإضافة الدالة العامة الكود Public Sub SetReportMargins(rpt As Report, _ Optional ByVal DefaultTop As Long = 1440, _ Optional ByVal DefaultBottom As Long = 1440, _ Optional ByVal DefaultLeft As Long = 1440, _ Optional ByVal DefaultRight As Long = 1440) ' Default values are set to 1 inch (1440 twips) which is standard for A4 paper Dim rs As DAO.Recordset On Error GoTo ErrorHandler Set rs = CurrentDb.OpenRecordset("SELECT * FROM tblMarginsSettings") If Not rs.EOF Then rpt.Printer.TopMargin = Nz(rs!TopMargin, DefaultTop) rpt.Printer.BottomMargin = Nz(rs!BottomMargin, DefaultBottom) rpt.Printer.LeftMargin = Nz(rs!LeftMargin, DefaultLeft) rpt.Printer.RightMargin = Nz(rs!RightMargin, DefaultRight) Else rpt.Printer.TopMargin = DefaultTop rpt.Printer.BottomMargin = DefaultBottom rpt.Printer.LeftMargin = DefaultLeft rpt.Printer.RightMargin = DefaultRight End If rs.Close Set rs = Nothing Exit Sub ErrorHandler: MsgBox "Error setting margins: " & Err.Description If Not rs Is Nothing Then rs.Close Set rs = Nothing End If End Sub على ان يتم استدعاءه فى التقرير عندف تح التقرير بالشكل التالى Private Sub Report_Open(Cancel As Integer) SetReportMargins Me End Sub وبذلك يكون هناك مرونة مع المعلمات الافتراضية للدالة SetReportMargins تتيح تحديد هوامش افتراضية في حال عدم وجود قيم في الجدول تم استخدام معايير A4 حيث ان القيم الافتراضية للهوامش تعادل 1 بوصة (1440 twips) لكل جانب وهي مناسبة لمقاسات ورق A4 يمكن استدعاء الدالة من أي تقرير بسهولة باستخدام هذا الكود، ستكون إعدادات الهوامش مرنة وقابلة للتعديل بسهولة، مع التأكد من وجود قيم افتراضية مناسبة عند الحاجة. عملت نفس الطريقه دى بس مش شغال معايا عند فتح التقرير بيطلب من ادخل الهوامش هامش التقرير.accdb 1
ابو جودي قام بنشر مايو 30 قام بنشر مايو 30 8 دقائق مضت, safaa salem5 said: عملت نفس الطريقه دى بس مش شغال معايا عند فتح التقرير بيطلب من ادخل الهوامش هو مش بيطلبهم من حضرتك ولا حاجة حضرتك عامل ان التقرير مصدر سجلاته الجدول افتحى التقرير فى وضع التصميم هتلاقى مصدر بيانات مربعات النص مش مظبوظ علشان كده بتحثل مع حصرتك المشكلة دى
safaa salem5 قام بنشر مايو 30 الكاتب قام بنشر مايو 30 (معدل) 18 minutes ago, ابو جودي said: هو مش بيطلبهم من حضرتك ولا حاجة حضرتك عامل ان التقرير مصدر سجلاته الجدول افتحى التقرير فى وضع التصميم هتلاقى مصدر بيانات مربعات النص مش مظبوظ علشان كده بتحثل مع حصرتك المشكلة دى تمام انا غيرت مصدر بيانات التقرير بس القيم اللى انا حطاها فى الفورم مش بتأثر عالتقرير حاول حضرتك تغير فى القيم الموجوده هتلاقى شكل التقرير ثابت مش بيحصل تغيير للهامش اتمنى حضرتك تعدل الملف جزاك الله خيرا هامش التقرير.accdb تم تعديل مايو 30 بواسطه safaa salem5
hanan_ms قام بنشر مايو 30 قام بنشر مايو 30 انا جديده بالمنتدى وجدة لكي يا صفاء مثال بسيط من احدى المنتديات لتحكم بهوامش الصفحات وعدد طباعة التقرير من غير استخدام دوال اتوقع تشغيل التقارير بحدث التقرير Dim DefaultTop As Long Dim DefaultBottom As Long Dim DefaultLeft As Long Dim DefaultRight As Long ؟! Chack data tablet (1) Function into Report At Top And At Bottom At Mid >> .. How only Building Function Control report ?! sorry for Help U Function Error No Error Now Only Cod On_Click_Button '==================================(OPen_Control Report = ( acHidden)) تحكم بأعدادة طباعة وهوامش التقرير.rar 2
safaa salem5 قام بنشر مايو 30 الكاتب قام بنشر مايو 30 7 minutes ago, hanan_ms said: انا جديده بالمنتدى وجدة لكي يا صفاء مثال بسيط من احدى المنتديات لتحكم بهوامش الصفحات وعدد طباعة التقرير من غير استخدام دوال اتوقع تشغيل التقارير بحدث التقرير Dim DefaultTop As Long Dim DefaultBottom As Long Dim DefaultLeft As Long Dim DefaultRight As Long ؟! Chack data tablet (1) Function into Report At Top And At Bottom At Mid >> .. How only Building Function Control report ?! sorry for Help U Function Error No Error Now Only Cod On_Click_Button '==================================(OPen_Control Report = ( acHidden)) تحكم بأعدادة طباعة وهوامش التقرير.rar 54.4 kB · 0 downloads تسلمى اختى حنان انا عايزه اعمل فورم زى بتاع الاكسيس كدا متشكره جدا @ابو جودي ان شاء الله هيرد ويكمل جميله بس اكيد هو مشغول دلوقتى كان الله بالعون
ابو جودي قام بنشر مايو 30 قام بنشر مايو 30 اتفضلى يا استاذة @safaa salem5 المرفق هوامش التقارير.accdb 2
ابو جودي قام بنشر مايو 30 قام بنشر مايو 30 35 دقائق مضت, hanan_ms said: انا جديده بالمنتدى وجدة لكي يا صفاء اهلا بيكى يا افندم وفكرة حضرتك حلوة جدا فكرتنى بشئ انتظروا وسوف اوافيكم بأفكار رائعة ان شاء الله 1
safaa salem5 قام بنشر مايو 30 الكاتب قام بنشر مايو 30 11 minutes ago, ابو جودي said: اتفضلى يا استاذة @safaa salem5 المرفق هوامش التقارير.accdb 512 kB · 2 downloads متشكره لحضرتك تعبتك معايا 1
ابو جودي قام بنشر مايو 30 قام بنشر مايو 30 18 دقائق مضت, safaa salem5 said: متشكره لحضرتك تعبتك معايا لا شكر على واجب تحت امرك يا دكتور 1
hanan_ms قام بنشر مايو 30 قام بنشر مايو 30 كود يعمل ولكن تتحرك صفحة التقرير ما يضبط الهوامش اما اعلى او اسفل عند اختيار كل الحقول 0 كيف اضبط تحجيم الهوامش تختلف ارقام المسجلة باعدادة الصفحة @ابو جودي 🌹 استاذ متمرس اشكرك جدا سأضيف الدالة بالمكتبة
ابو جودي قام بنشر مايو 30 قام بنشر مايو 30 9 دقائق مضت, hanan_ms said: تختلف ارقام المسجلة باعدادة الصفحة بصى يا باش مهندسة حنان خلينا نتفق على شئ الاكسس لا يتعامل بمقياس السنتيمتر فى القياسات ولكن يتعامل بالـ Twips يعنى الرقم اللى حضرتك ناوية تسجليه فى الجدول هيكون بالسنتميتر وطبعا ده كان وفقا لطلب الدكتورة سلمى اللى لازم تطلع عنينا بطلباتها لانها عاوزة تسجل الهوامش بالسنتميتر طيبا علشان نحول من انا كتبت الدالة دى Public Function CmToTwips(cm As Double) As Long CmToTwips = cm * 567 End Function فطبيعيى ان حضرتك لو كتبتى ارقام غير منطقية تحصلى على نتيجة غير منطقية لذلك انا افضل فكرة حضرتك DoCmd.RunCommand acCmdPageSetup 1
أفضل إجابة ابو جودي قام بنشر مايو 30 أفضل إجابة قام بنشر مايو 30 باش مهندسة @hanan_ms والدكتورة @safaa salem5 اتفضلو المرفق ده Full Control Of Print Report التحكم في الطابعة وخصائصها طباعة التقارير.mdb 4 1
ابو جودي قام بنشر مايو 31 قام بنشر مايو 31 للتوضيح المرفق السابق بمجرد إضافة أي تقارير تظهر بطريقة الية ضمن قائمة التقارير وللأمانة العلمية والأخلاقية حتى يأخذ كل ذي حق حقه المرفق في الأساس اعتقد ان لم تخونني الذاكرة كان للأستاذة زهرة ام عهود بارك الله فيها وفى ذريتها والتي لم بسعدني الحظ بالتعرف عليها او التعامل معها شخصيا الا ان لها فضل كبير في ما تعلمته وهى غائبة اسال الله تعالى ان يرزقها وكل اساتذتنا الذين نتعلم منهم خير الجزاء وان يتقبل ما يقدمونه في موازين أعمالهم صدقة جارية وعلم ينتفع به اللهم امين امين امين انا فقط اضفت وقمت ببعض التعديلات ليتناسب مع النواتان 32,64 ولاضفاء مرونة اكبر والتى تناسب تطلعاتى وقتها
hanan_ms قام بنشر مايو 31 قام بنشر مايو 31 🌹 @ابو جودي مشكور جدا استاذي CmToTwips فكرتك ممتازة بتحكم لكل هوامش التقارير بستخدام من غير تغير بإعداداة الصفحة لكل تقرير if Dlookup name Report ,Number=Number then ولكن هل يعمل على تغير التقرير بدل من الطول الى (العرض : عرض التقرير بوضع الاوفقي ) Public Function CmToTwips2(cm As Double) As Long CmToTwips2 = cm * ???'567 End Function جاري التجربة ❤️ 1
hanan_ms قام بنشر مايو 31 قام بنشر مايو 31 (معدل) 🌹🌹 عدلة مرفقك كان الخطأ عند\ تغير هوامش تغير حجم عرض الحقل في آخر اليمين فقط كود تحريك الحقول ان كان صفر فتتحرك سنتيمتر 8.2 واذا كانت 1 او 2 تقل سنتيمتر عرض التقريك بتحرك الحقل ليصل الى 7 او 6 او 5 فقط وتم اضافة الاطار لكل التقارير واماكنية تحجيم الاطار والغاء واضافة قائمة بكج التقارير ==================================================== هل يوجد دالة لتحجم آخر حقل لكل تقرير من الرأس الى تذليل الصفحة آخر اليمين ؟ (لتشغيل هوامش التقرير) في الوضع الحالي سأستخدم تقرير محجم بوضع التصميم للتشغيل الهوامش وتختلف التوسع بالحقل اذا كان التقرير بوضع الطولي او العرض (افقي ) @ابو جودي اشكر كثيرا استاذي 🌹❤️ Full Control Of Print Report التحكم في الطابعة وخصائصها طباعة التقارير.rar تم تعديل مايو 31 بواسطه hanan_ms 1
ابو جودي قام بنشر مايو 31 قام بنشر مايو 31 8 دقائق مضت, hanan_ms said: 🌹🌹 عدلة مرفقك با نهار ابيض وجالك قلب تعدلى مرفقى بسهولة كده انتى بتهزرى يا باش مهندسة لا وبتقوليها فى وشى كمان تسلم ايدك بجد .. طبعا بهزر كل نرفقاتى ملك لاخوانى واخواتى الا شخص واحد الاستاذ @Moosak صاحب المكتبة العامرة جزاكم الله خيـــــــــرا وشرف لى يا باش مهندسة مشاركة حضرتك بجد والله 1
ابو جودي قام بنشر مايو 31 قام بنشر مايو 31 ما شاء الله بجد يا باش مهندسة @hanan_ms روعة تسلم ايدك وأفكار قمة في الابداع 1
hanan_ms قام بنشر مايو 31 قام بنشر مايو 31 🌹 @ابو جودي مرفقك رائع استاذي 🥰 @Moosak اعتذر اضفة نموذج صاحب المكتبة العامرة ولكن ما لقية بمكتبتة مثل مرفقك 😂
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.