alsihran قام بنشر نوفمبر 8, 2020 قام بنشر نوفمبر 8, 2020 (معدل) السلام عليكم المطلوب : نأخذ التاريخ من أول سجل وأخر سجل في كل صفحة ووضعهم في رأس الصفحة للتقرير لتكون القيمة من تاريخ إلى تاريخ addDateHideRport.accdb addDateHideRport.accdb تم تعديل نوفمبر 8, 2020 بواسطه alsihran
mmam93 قام بنشر نوفمبر 8, 2020 قام بنشر نوفمبر 8, 2020 وعليكم السلام التقرير الي انت مسوية بناء على عملية بحث من تاريخ حتى تاريخ ؟
alsihran قام بنشر نوفمبر 8, 2020 الكاتب قام بنشر نوفمبر 8, 2020 11 دقائق مضت, mmam93 said: التقرير الي انت مسوية بناء على عملية بحث من تاريخ حتى تاريخ لا هذا تقرير عام بدون معايير وحتى لو افترضنا انه حسب معيار من تاريخ الى تاريخ المطلوب ان ان نضع تاريخ اول سجل وتاريخ اخر سجل لكل صفحه على حده وتظهر عبارة ان هذه الصفحه من تاريخ الى تاريخ ارجو ان تكون الفكرة قد وصلت
mmam93 قام بنشر نوفمبر 8, 2020 قام بنشر نوفمبر 8, 2020 لو كانت حسب معيار بامكانك تضع مصدر بيانات الحقل = "From: " & [Froms]![saerch]![Date1] & "To: " & [Froms]![saerch]![Date2]
alsihran قام بنشر نوفمبر 8, 2020 الكاتب قام بنشر نوفمبر 8, 2020 9 دقائق مضت, mmam93 said: لو كانت حسب معيار بامكانك تضع مصدر بيانات الحقل أخي الكريم هذا لن يؤدي المطلوب عدد صفحات التقرير تقريبا ٨ صفحات المطلوب كل صفحه تبدأ بتاريخ وتنتهي بتاريخ ثم الصفحه التي تليها وهكذا الى نهاية صفحات التقرير شكرا لك
ابو عارف قام بنشر نوفمبر 9, 2020 قام بنشر نوفمبر 9, 2020 5 ساعات مضت, alsihran said: المطلوب كل صفحه تبدأ بتاريخ وتنتهي بتاريخ انظر التعديل ان شاء الله يكون حسب المطلوب addDateHideRport.accdb 3
alsihran قام بنشر نوفمبر 9, 2020 الكاتب قام بنشر نوفمبر 9, 2020 8 ساعات مضت, ابو عارف said: انظر التعديل ان شاء الله يكون حسب المطلوب طلبي في رأس الصفحة والطريقة التي وضعتها في أسفل الصفحه وعند محاولة تطبيق طريقتك على رأس الصفحه لاتظهر النتيجة المطلوبة شكرا لك
alsihran قام بنشر نوفمبر 9, 2020 الكاتب قام بنشر نوفمبر 9, 2020 (معدل) 1 ساعه مضت, عبدالقدوس48 said: تفضل أخي أخ الكرم حسب فهمي لشرحك ليس هذا المطلوب أنا لا أطلب فرز المطلوب أخذ قيمة تاريخ أو سجل وأخر سجل في كل صفحة ووضعهم أعلى الصفحه تم تعديل نوفمبر 9, 2020 بواسطه alsihran
husamwahab قام بنشر نوفمبر 9, 2020 قام بنشر نوفمبر 9, 2020 تفضل هذه المحاولة ارجو ان تنفعك ملاحظة: جزء من الكود وهو الترقيم التلقائي هذا الكود للاستاذة زهرة وهو ضروري لتجنب حدوث تغيير بالبيانات عند الحذف والاضافة مراعاة عدد السجلات في التقرير لان الكود يعتمد على عدد السجلات المعروضة لذا يجب تعديل الكود بتغير عدد السجلات المعروضة addDateHideRport-1.rar 1
alsihran قام بنشر نوفمبر 9, 2020 الكاتب قام بنشر نوفمبر 9, 2020 الحل وصل للمطلوب ولكنه صعب نوعا ما وخصوصا اذا علمنا أن هناك احد الحقول قابل للنمو فسيتغير عدد السجلات المعروضة ويختل الامر أتمنى لو تستطيع ايجاد حل اسهل شكرا لك
أفضل إجابة jjafferr قام بنشر نوفمبر 9, 2020 أفضل إجابة قام بنشر نوفمبر 9, 2020 السلام عليكم 🙂 في الواقع ، هذا السؤال من الاسئلة التي تُثار بين الحينه والاخرى ، واليك السبب في عدم امكانية الحصول على قيمة ذيل الصفحة ، في رأس الصفحة : التقرير عندك فيه 3 اقسام : . خلينا نشوف قيم التاريخ لصفحة: . والآن خلينا نشوف التاريخ ، بالطريقة اللي اقسام التقرير تشوفه ، بإستخدام حدث التنسيق لكل قسم: Private Sub PageHeaderSection_Format(Cancel As Integer, FormatCount As Integer) Debug.Print "Header= " & Me.Edate End Sub Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer) Debug.Print " Detail= " & Me.Edate End Sub Private Sub PageFooterSection_Format(Cancel As Integer, FormatCount As Integer) Debug.Print "Footer= " & Me.Edate Debug.Print End Sub . والنتيجة لصفحتين : Header= 18-Oct-20 Detail= 18-Oct-20 Detail= 19-Oct-20 Detail= 20-Oct-20 Detail= 21-Oct-20 Detail= 22-Oct-20 Detail= 23-Oct-20 Detail= 24-Oct-20 Detail= 25-Oct-20 Detail= 26-Oct-20 Detail= 27-Oct-20 Detail= 28-Oct-20 Detail= 29-Oct-20 Detail= 30-Oct-20 Detail= 31-Oct-20 Detail= 01-Nov-20 Detail= 02-Nov-20 Detail= 03-Nov-20 Detail= 04-Nov-20 Detail= 05-Nov-20 Detail= 06-Nov-20 Detail= 07-Nov-20 Detail= 08-Nov-20 Footer= 07-Nov-20 Header= 08-Nov-20 Detail= 08-Nov-20 Detail= 09-Nov-20 Detail= 10-Nov-20 Detail= 11-Nov-20 Detail= 12-Nov-20 Detail= 13-Nov-20 Detail= 14-Nov-20 Detail= 15-Nov-20 Detail= 14-Jan-21 Detail= 15-Jan-21 Detail= 16-Jan-21 Detail= 17-Jan-21 Detail= 18-Jan-21 Detail= 19-Jan-21 Detail= 20-Jan-21 Detail= 21-Jan-21 Detail= 22-Jan-21 Detail= 23-Jan-21 Detail= 24-Jan-21 Detail= 25-Jan-21 Detail= 26-Jan-21 Detail= 27-Jan-21 Footer= 26-Jan-21 . من هنا نلاحظ ان رأس الصفحة يرى اول سجل ، بينما ذيل الصفحة يرى آخر سجل ، والتقرير يطبع / يُظهر رأس الصفحة قبل ان تكون البيانات وصلت الى ذيل الصفحة (يعني ذيل الصفحة لا يحتوي على اي قيمة حينها ، لما رأس الصفحة يحصل على القيمة) ، لهذا سبب ما نحصل على التاريخين معا في رأس الصفحة !! ------------------------------------------------------------------------------------------------------- الآن وبعد ان عرفنا طريقة عمل التقرير ، خلينا نستفيد منه في عمل المطلوب : خلينا نفتح التقرير بطريقة مخفية ، نأخذ قيمة سجل رأس صفحة التقرير وذيل صفحة التقرير لكل صفحة ، نحفظهم في مصفوفة Array ، ثم نفتح التقرير بالطريقة العادية ونأخذ بيانات رأس وذيل التقرير من المصفوفة ، ونضعهم في التقرير ، في رأس الصفحة 🙂 1. عمل نموذج لحصر البيانات بين قيمتين (مع اننا لسنا بحاجة الى هذه الخطوة ، ولكن لأن جدولك في سجلات بدون قيم تواريخ ، فهذا يعمل خلل في الكود) ، ونعمل استعلام يصفي بيانات الجدول حسب تواريخ النموذج ، ويكون هذا الاستعلام مصدر بيانات التقرير: . 2. النقر على زر فتح التقرير في النموذج ، يحتوي على هذا الكود : والذي يعمل مصفوفة لـ 100 صفحة في التقرير (اذا تقريرك يحتوي على صفحات اكثر ، فقط اجعل هذا الرقم اكبر ، ما يضر اذا تركته = 200 او اكثر) 'accept adding dates Add_Dates = True 'initilize the arrays with a larg number of pages ReDim Fd(100) 'first E_date ReDim Ld(100) 'last E_date 'open the Report in Hidden mode, to put the E_dates in an array DoCmd.OpenReport "rpt_chfit", acViewPreview, , , acHidden 'close the Hidden Report DoCmd.Close acReport, "rpt_chfit" 'stop adding dates Add_Dates = False 'now open the Report in the normal way DoCmd.OpenReport "rpt_chfit", acViewPreview . وهناك وحدة نمطية تحتفظ بقيم المصفوفة ، حتى تكون متوفرة لجميع كائنات البرنامج: Option Compare Database Option Explicit Public Add_Dates As Boolean Public Fd() As Date 'first E_date Public Ld() As Date 'last E_date . والتقرير فيه هذا الكود: Private Sub PageHeaderSection_Format(Cancel As Integer, FormatCount As Integer) If Add_Dates = True Then 'add the array items, based on the Report page number Fd(Me.Page) = Me.F_Edate Else 'show the results Me.myF_Edate = Fd(Me.Page) Me.myL_Edate = Ld(Me.Page) End If End Sub Private Sub PageFooterSection_Format(Cancel As Integer, FormatCount As Integer) If Add_Dates = True Then 'add the array items Ld(Me.Page) = Me.L_Edate End If End Sub Private Sub Report_Close() If Add_Dates = False Then 'Empty the array ReDim Fd(0) 'first E_date ReDim Ld(0) 'last E_date End If End Sub . فإذا قيمة Add_Dates = True في النموذج ، فيعمل التقرير المخفي لعمل المصفوفة ، بينما عندما تتغير قيمة Add_Dates ، فيقوم التقرير بإظهار قيم المصفوفة في التقرير الغير مخفي ، وعند اغلاق التقرير ، نقوم بحذف بيانات المصفوفة 🙂 لذلك ، وللحصول على النتائج الصحيحة ، يجب تشغيل التقرير من النموذج ، حتى يقوم الكود بما يجب 🙂 . . جعفر 1277.addDateHideRport.accdb.zip 1 2
alsihran قام بنشر نوفمبر 9, 2020 الكاتب قام بنشر نوفمبر 9, 2020 نعم هو المطلوب : 100 % شكرا لك استاذ @jjafferr أرجو منك شرح هذه الجزئية لم افهمها 38 دقائق مضت, jjafferr said: ولكن لأن جدولك في سجلات بدون قيم تواريخ
jjafferr قام بنشر نوفمبر 9, 2020 قام بنشر نوفمبر 9, 2020 2 دقائق مضت, alsihran said: أرجو منك شرح هذه الجزئية لم افهمها 45 دقائق مضت, jjafferr said: ولكن لأن جدولك في سجلات بدون قيم تواريخ . هذه السجلات بدون تواريخ . جعفر 1
alsihran قام بنشر نوفمبر 9, 2020 الكاتب قام بنشر نوفمبر 9, 2020 1 دقيقه مضت, jjafferr said: هذه السجلات بدون تواريخ صحيح هذا بسبب أنه مثال للتعديل عليه وإلا فإن الجدول الأساس لن تكون هناك سجلات بدون ادخال التاريخ اتضحت الصورة الان شكرا لك مرة أخرى
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.