-
Posts
9,871 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
403
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو jjafferr
-
ارجو المساعدة استخراج تقارير على شكل PDF تلقائيا
jjafferr replied to HERO92's topic in قسم الأكسيس Access
جرب هذا المرفق الموضوع له علاقة بصيغة التاريخ جعفر 78.2.TEST.accdb.zip -
ارجو المساعدة استخراج تقارير على شكل PDF تلقائيا
jjafferr replied to HERO92's topic in قسم الأكسيس Access
وعليكم السلام الآن وقد وفرت ووضحت الأمور بالتفصيل ، اليك الجواب بالتفصيل الآن النموذج يحتوي على حقلين: حقل التاريخ ، حيث تختار التاريخ المطلوب ، اما حقل IDD ، فهو ليس لك ، وانما للبرنامج ، لذا يمكنك ان تجعله مخفي والزر Exporter يحتوي على هذا الكود: Private Sub cmd_Export_to_pdf_Click() On Error GoTo err_cmd_Export_to_pdf_Click Dim rst As DAO.Recordset 'get the unique IDDs from qry_Test_Sums Set rst = CurrentDb.OpenRecordset("Select * From qry_Test_Sums Where [Date]=#" & Me.Idate & "#") rst.MoveLast: rst.MoveFirst RC = rst.RecordCount 'now loop through the IDDs, printing a Report for each For i = 1 To RC 'write the IDD to the Form, 'where qry_Test uses it with the Date from Me.iIDD = rst!IDD 'Output_Path= "c:\" & rst!IDD & ".pdf" Output_Path = Application.CurrentProject.Path & "\" & rst!IDD & ".pdf" 'The print to pdf cpmmand DoCmd.OutputTo acOutputReport, "AAAA", "PDFFormat(*.pdf)", Output_Path, False, , 0, acExportQualityPrint rst.MoveNext Next i 'cleaning up Me.iIDD = "" rst.Close: Set rst = Nothing MsgBox "pdf Printing completed" cmd_Export_to_pdf_Click_Exit: Exit Sub err_cmd_Export_to_pdf_Click: If Err.Number = 3021 Then MsgBox "No Records to Print" Resume cmd_Export_to_pdf_Click_Exit Else MsgBox Error$ End If End Sub والكود يرسل قيمة IDD من الاستعلام qry_Test_Sums ، حيث يتم استعمال هذه القيمة ، مع قيمة التاريخ في النموذج ، لتصفية سجلات الاستعلام qry_Test ، والنتيجة 300.pdf يقوم البرنامج بتصدير جميع ملفات pdf الى نفس المجلد الذي به البرنامج ، وقد وضعت لك مثال لتغيير المسار. جعفر 78.2.TEST.accdb.zip -
ارجو المساعدة استخراج تقارير على شكل PDF تلقائيا
jjafferr replied to HERO92's topic in قسم الأكسيس Access
أنا آسف ، فانت تتكلم عن حقلين ، بينما انا اتكلم عن حقل واحد هو التاريخ !! الحل سهل ، والامر هو: Private Sub Command1_Click() On Error GoTo Command1_Click_Err Dim rst As DAO.Recordset Set rst = CurrentDb.OpenRecordset("Select * From TTTT Where [date]=#" & Me.iDate & "#") rst.MoveLast: rst.MoveFirst RC = rst.RecordCount 'Output_Path= "c:\" Output_Path = Application.CurrentProject.Path & "\" For i = 1 To RC DoCmd.OutputTo acOutputReport, "AAAA", "PDFFormat(*.pdf)", Output_Path & rst!Cen, False, , 0, acExportQualityPrint rst.MoveNext Next i rst.Close: Set rst = Nothing Command1_Click_Exit: Exit Sub Command1_Click_Err: MsgBox Error$ Resume Command1_Click_Exit End Sub ولكن يجب ان اعرف تفاصيل أدق ، لذا رجاء ، اعمل لي/او ارفق سجلات صحيحة بتواريخ وارقام صحيحة ، كما ارفق لي سواء في اكسل ، او صورة ، توضح فيها السجلات التي تكون مجموعة مع بعض بالتاريخ و cen ، وعلى اساسه اضبط لك الكود ان شاء الله جعفر -
ارجو المساعدة استخراج تقارير على شكل PDF تلقائيا
jjafferr replied to HERO92's topic in قسم الأكسيس Access
عفوا انت قلت سابقا: والان تقول: يعني انت لا تريد جميع التقارير في ملف pdf واحد ، وانما تريد كل تقرير في ملف pdf مستقل؟ هل هذا صحيح؟ جعفر -
ارجو المساعدة استخراج تقارير على شكل PDF تلقائيا
jjafferr replied to HERO92's topic in قسم الأكسيس Access
وعليكم السلام خلينا على السؤال الاصل ، ومن ثم نرى الباقي ان شاء الله لوسمحت تفتح الجدول TTTTTT (أسف ما حسبت كم T يوجد في اسم الجدول ) ، وستلاحظ ان التواريخ فيها كلها عبارة عن سجل واحد فقط !! وافتح الاستعلام Query ، وبدون اي تاريخ ، سترى ان عندك تاريخين مختلفين كذلك !! يعني ، لو ان عندك اكثر من سجل بنفس التاريخ ، لرأيت جميع السجلات تُطبع في تقرير واحد. جرب وخلي السجلات في الجدول بنفس التاريخ ، ثم اطبع من النموذج ، واخبرنا النتيجة جعفر -
أخي الفاضل مشاركة أخونا مارد رقم 10 فيها إجابة ومرفق ، وهو اعطاك الحل ، لذا: 1. كان يجب ان تقرأ شرحه لك في المشاركة ، وتتفهمه ، 2. ان تجرب المرفق الذي اتعب نفسه وعمله لك ، وتعرف نتائجه ، 3. ان تختار مشاركته كأفضل إجابة (وانا هنا اطلب من المشرفين تعديل هذا لوسمحوا وتكرموا ). 4. مشاركتي رقم 11هي للعلم وإضافة معلومات فقط جعفر
-
ارجو المساعدة استخراج تقارير على شكل PDF تلقائيا
jjafferr replied to HERO92's topic in قسم الأكسيس Access
-
وعليكم السلام أخي ناصر ما واضح ايش القصد من آخر سجلين ، وعليه يصبح السؤال كله غامض اذا امكنك ان ترفق صورة من سجلاتك وتوضح المطلوب ، او طبعا جزء البرنامج الذي فيه المشكلة ، مع توضيح اسم النموذج والحقول. جعفر
-
هاي مشكلة العلاقات ، لما الأمور تمام ، مافي أحلى منها العلاقة ، ولما الأمور تتلخبط ، الواحد لازم يفك العلاقة الخطأ ، ويضبطها او يعمل واحدة ثانية ، على أمل ان لا تتلخبط هذه المرة وما نتفهم كيف نقيم علاقة صحيحة ، إلا بعد خبرة انا شخصيا أنصح المبتدئين بعدم عمل أي علاقة ، في البداية ، لأنها راح تعمل لك مشاكل انت في غنى عنها وتعقد لك الامور ، يعني ، اهتم بالامور الاخرى في البرنامج ، وبعدين اعمل العلاقات بين الجداول ، واذا صادفتك مشكلة ، فستعرف انها من العلاقة جعفر
-
اللي انا فاهمه حأقوله First-Last هما لمعرفة اول حقل تم ادخال اول/آخر معلومة في الحقل ، فيمكننا ان نطلب First لحقل معين ، ولكن نعمل الفرز من الكبير للصغير ، فينقلب الترتيب!! هو ده اللي انا فهمته من الاكسس بس سؤال: يا راعي الغنم أفندي ، ايش دخل هالموضوع بالسؤال؟ الحين بتحصل كرت أحمر لخروجك عن الموضوع جعفر
-
الظاهر ان الجدول له علاقة بجدول آخر جعفر
-
وعليكم السلام حقل AutoNumber هو لفهرسة الجدول ، والاكسس يعتمد عليه لسرعة الوصول الى السجل المطلوب ، ويجب على المبرمج ان لا يعتمد على هذا الحقل ابدا إلا للفهرسة ، اي ، هذا الحقل هو لإستعمال البرنامج ، والمبرمج يجب عليه الاستفادة منه كونه للفهرسة ، وليس للترقيم التلقائي. جعفر
-
زيادة مبلغ إيقاف الخصم الشهري الى مبلغ القرض
jjafferr replied to كريمو2's topic in قسم الأكسيس Access
السلام عليكم انا لم التفت لهذه الخطوات ، فهي لا ضرورة لها للعمل بالطريقة الجديدة ، ملاحظة مهمة ، لقد تم العمل على اساس اقتراحاتي في المشاركة رقم 80. وكذلك لم التفت الى التقرير او اي من استعلاماتك ، فعملي كان فقط على الكائنات التي تم مناقشتها سابقا فقط. الجدول tbl_Loans بدون اصفار ، وهو واضح بهذه الطريقة ، وانما تم اضافة الامر NZ للاستعلام qr_Loans_Step2 ، كما تم حذف الحقل الذي انت ادخلت عليه الشرط ، فلا داعي له ، لأن الطريقة الجديدة تجلب السجلات الصحيحة فقط. لم افهم ؟؟ والذي جربته هو عند فتح النموذج واختيار التاريخ ، يفتح الاستعلام بدون مشاكل. لا يجب ادخال اي بيانات يدويا في الجدول tbl_Loans ، فالكود يقوم بعمل الازم ، والشئ الوحيد الذي تعمله عن طريق frm_Loans ، هو دفع اقتطاع لـ Cridi او Elec لمبالغ غير القسط الشهري (يعني اذا اراد موظف دفع مبلغ اكبر لذلك الشهر مثلا). ومساهمة شهري 3 و 7 تتم في هذين الشهرين فقط ، فاذا اردت التجربة ، فيجب ان تغير تاريخ كمبيوترك لشهر 3 مثلا ، فسترى عند فتح النموذج FrmDiscountReport ، انه تم ادخال المبالغ في الجدول tbl_Loans. رجاء تجربة ما عملناه ببيانات حقيقة ، ومادام الموضوع طازج في بالي ، فانا على سفر قريب جدا ، وانت تعرف ان سفراتي طويلة ولا ادخل الانترنت غالبا جعفر 11.7.FrmDiscountReport.mdb.zip -
هلا والله بالجندبي المستعار
-
زيادة مبلغ إيقاف الخصم الشهري الى مبلغ القرض
jjafferr replied to كريمو2's topic in قسم الأكسيس Access
وعليه ، تم إلغائه من tbl_Loans ، والان تقول: لا تنسى ان الطريقة الجديدة هي توثيق كل اقتطاع/دفع في الجدول tbl_Loans ، والطريقة تعطينا مرونة وتوثيق تام لكل دفعة ولكل شهر ، وكل ما علينا عمله لاحقا ، ان نعمل استعلام للشئ الذي نريده ، وعليه نحصل على النتائج. اذا اردت اخيرا ان تضيف Loan_Other مرة ثانية في الجدول tbl_Loans ، فاقترح ان تجعل الزر "سدد مبالغ الاقتطاعات" يقوم بادخال هذه المبالغ ايضا ، فقط عندما يكون للأشهر التي تريد (مارس و؟ ) ، وإدخال المبلغ. كيف التعامل مع هذه الدفعات؟ لمن؟ كم؟ وتفاصيل اخرى!! جعفر -
ونحن من المنتظرين إن شاء الله
-
زيادة مبلغ إيقاف الخصم الشهري الى مبلغ القرض
jjafferr replied to كريمو2's topic in قسم الأكسيس Access
حياك الله 1. انت قلت: وعليه ، تم إلغائه من tbl_Loans ، والان تقول: لا تنسى ان الطريقة الجديدة هي توثيق كل اقتطاع/دفع في الجدول tbl_Loans ، والطريقة تعطينا مرونة وتوثيق تام لكل دفعة ولكل شهر ، وكل ما علينا عمله لاحقا ، ان نعمل استعلام للشئ الذي نريده ، وعليه نحصل على النتائج. اذا اردت اخيرا ان تضيف Loan_Other مرة ثانية في الجدول tbl_Loans ، فاقترح ان تجعل الزر "سدد مبالغ الاقتطاعات" يقوم بادخال هذه المبالغ ايضا ، فقط عندما يكون للأشهر التي تريد (مارس و؟ ) ، وإدخال المبلغ. 2. أعتقد ان الافضل ان تجعله على حدث تحميل النموذج FrmDiscountReport ، 3. بإستخدام الدالة NZ مثلا. 4. انت في سؤالك السابق طلبت حذف Cridi و Elec من الاستعلام ، فهما قيمة كل قرض شهري ، والذي يدخله البرنامج من النماذج الفرعية لـ Cridi و Elec ، اما الاقتطاع/الدفع فهو Payments ، والسبب ان الرقمين متماثلين ، لأنك تدفع نفس مبلغ القرض الشهري ، ولكنك اذا دفعت مبلغ أكبر للقرض لذلك الشهر ، فسترى الفرق جعفر -
حياك الله وهذه معادلة R1 الموجودة في التقرير: حولنا الساعات والدقائق الى ثواني ، ثم جمعنا الثواني =Sum(DatePart("h",[OT R1])*3600 + DatePart("n",[OT R1])*60 + DatePart("s",[OT R1])) جعفر
-
وعليكم السلام تفضل في التقرير حولنا الساعات والدقائق الى ثواني ، ثم جمعنا الثواني ، بطريقة مستقلة لكل من R1 , R2 ، ثم استخدمنا الوحدة النمطية التالية لتحويل الثواني الي يوم : ساعة : دقيقة : ثانية : Function TimeInterval(value As Long) As String 'from 'http://bytes.com/topic/access/answers/532311-conversion-seconds-hours-minutes ' ' pass in a value in seconds Dim secVal As Integer Dim minVal As Integer Dim hourVal As Integer Dim dayVal As Integer Dim days As Long Dim hours As Long Dim mins As Long days = 86400 hours = 3600 mins = 60 dayVal = Fix(value / days) value = value - (dayVal * days) hourVal = Fix(value / hours) value = value - (hourVal * hours) minVal = Fix(value / mins) value = value - (minVal * mins) secVal = value 'TimeInterval = dayVal & ":" & hourVal & ":" & minVal & ":" & secVal TimeInterval = dayVal & "D : " & hourVal & "H : " & minVal & "M : " & secVal & "S" End Function والنتيجة في التقرير: جعفر 75.sum time.accdb.zip
-
مادام الاستاذ رمهان حامل الراية ، نريد الحل بالمعكوس كذلك ، يعني نتكلم بالعربي ، والبرنامج يحول الكلام الى نص بس قبل لا أخونا أبوخليل يعطيني كرت أحمر (طبعا أخونا عبدالرحمن عنده الصلاحية بعد ) ، لخروجنا عن الموضوع ، ويحتاج نفتح موضوع جديد عندكم الصلاحية لفصل الموضوع لاحقا لوسمحتوا ، اذا أخونا الاستاذ رمهان تكرم بالاجابة جعفر
-
-
زيادة مبلغ إيقاف الخصم الشهري الى مبلغ القرض
jjafferr replied to كريمو2's topic in قسم الأكسيس Access
وعليكم السلام تفضل المجاميع تعتمد على الشهر المختار في FrmDiscountReport ، فعلى اساسه تظهر النتائج ، لذا تأكد بأنك تضغط على زر سداد الاقتطاع لك شهر على حدة. هناك الان استعلامان ، qry_Loans_Step1 ، والذي قد تستفيد منه انت لاحقا ، لأنه لكل قرض بصفة مستقلة ، والاستعلام المهم هو qry_Loans_Step2 والذي يأخذ نتائجه من الاستعلام الاول qry_Loans_Step1. هذا مجرد استعلام يعطي النتائج الصحيحة ، لذا لا تهتم بالحقول الزيادة التي به ، حيث انك عندما تعمل التقرير ، فضع فيه بصمتك النهائية واعتقد اننا بهذا الملف المرفق قد اقفلنا الموضوع ، اي موضوع Remaining ، بحلته الجديدة جعفر 11.6.FrmDiscountReport.mdb.zip -
السلام عليكم اولا ، اللي اوله شرط ، آخره نور انا ما عندي الاكسس 64 بت ، وما عندي تجربة في الموضوع ، لكني اتذكر ان اختنا الفاضلة الدكتورة أم عهود (حفظها الله اينما كانت) ، كان لها اجابة لهذا الموضوع ، فانا هنا ساعي بريد ، اكتب لكم بالضبط ما كتبته هي في منتدى الفريق العربي للبرمجة ، والشرط هنا ، اني قد لا استطيع مساعدتكم للنهاية ، لأني لا املك اكسس 64 بت والظاهر هنا ، ان الشئ الوحيد الذي يختلف فيه 64 بت عن 32 بت هو في بعض اوامر الكود والوحدات النمطية التي تنادي user32 مثلا ، اي انها 32 بت. والان من هنا ورايح هي مشاركة اختنا الفاضلة زهرة: في حالة وجود اكثر من وحدة نمطية بها Declare فإننا سوف نضع مثل هذا الكود في كل وحده نمطية على حده لتعمل على النظامين 32 بت و 64 بت وطبعا تختلف التصاريح من وحده نمطية والأخرى عن بعضها البعض #If Win64 Then Private Declare PtrSafe Function DisplaySize Lib "user32" Alias "GetSystemMetrics" (ByVal nIndex As Long) As Long #Else Private Declare Function DisplaySize Lib "user32" Alias "GetSystemMetrics" (ByVal nIndex As Long) As Long #End If دالة تحجيم النموذج بعد التعديل Option Compare Database #If Win64 Then Private Declare PtrSafe Function DisplaySize Lib "user32" Alias "GetSystemMetrics" (ByVal nIndex As Long) As Long #Else Private Declare Function DisplaySize Lib "user32" Alias "GetSystemMetrics" (ByVal nIndex As Long) As Long #End If Public Function resizefrom(frm As Form, bestw As Integer, besth As Integer) On Error Resume Next wrate = DisplaySize(0) / bestw hrate = DisplaySize(1) / besth frm.InsideWidth = frm.InsideWidth * wrate frm.InsideHeight = frm.InsideHeight * hrate Dim fc As Control For Each fc In frm.Controls fc.Top = fc.Top * hrate fc.Left = fc.Left * wrate fc.Width = fc.Width * wrate fc.Height = fc.Height * hrate fc.FontSize = fc.FontSize * wrate Next End Function اما الوحدات النمطية التي ليس بها Declare فتبقى كما هي بدون اي تغيير ملاحظة هامة للفهم عند اضافة PtrSafe فإنها تحتاج ايضا الى تعديل بعض المؤشرات Long تتغير الى LongPtr مثال Dim lStructSize As LongPtr دالة ()Len تتغير الى ()LenB حتى يتم قبولها في نظام 64 فقط مثال tsFN.lStructSize = LenB(tsFN) بقية المؤشرات مثل String و Boolean فإنها تبقى كما هي بدون تغيير راجع المصدر https://msdn.microsoft.com/en-us/library/office/gg264421.aspx بالتوفيق
-
زيادة مبلغ إيقاف الخصم الشهري الى مبلغ القرض
jjafferr replied to كريمو2's topic in قسم الأكسيس Access
1. أخي كريمو ، وكيف استطيع ان اصلح ما قلت ، وانت لم تخبرني ما المشكلة!! وللعلم ، يجب التفريق بين شيئين مختلفين ، الجدول tbl_Loans و الاستعلام qry_Loans ،والاستعلام مجرد أداه للجدول. 2. نعم نستطيع ان نعمل زر لدفع قروض الشهر ، في النموذج FrmDiscountReport للشهر الذي تم اختياره لإستقطاعات الشهر. الزر هو "سدد مبالغ شهر الاقتطاعات" ، وهذا هو الكود الذي يملئ حقول الدفع للشهر المختار: Private Sub cmd_Pay_installments_Click() Dim rst As DAO.Recordset Set rst = CurrentDb.OpenRecordset("Select * From tbl_Loans Where [Payment_Month]=#" & Me.txtMonth & "#") rst.MoveLast: rst.MoveFirst RC = rst.RecordCount For I = 1 To RC rst.Edit 'check, maybe a manual payment is done, so don't over write it If Len(rst!Payment_Made_Cridi & "") = 0 And Not IsNull(rst!Loan_Cridi) Then rst!Payment_Made_Cridi = rst!Loan_Cridi End If If Len(rst!Payment_Made_Elec & "") = 0 And Not IsNull(rst!Loan_Elec) Then rst!Payment_Made_Elec = rst!Loan_Elec End If rst.Update rst.MoveNext Next I MsgBox "Payments made" End Sub يجب ان تعرف ان برنامج القروض الان يعتمد على الجدول tbl_Loans ، لذا ، فجميع خطوات الدفع لابد ان ندخلها في الجدول اولا (طبعا عن طريق النموذج frm_Loans) ، ثم يقوم الاستعلام بأخذ البيانات من هذا الجدول وعمل الحساب مثل ما تريد. 3. انا قلت: "هذه الحقول قد تبدو زيادة عن الازم في الوهلة الاولى ، وان بامكاننا ان نستعيض عن هذه الحقول ببعض الاوامر في الاستعلام (وهذه المشكلة التي كنا نعاني منها في البرنامج السابق) ، ولكنها تسهل الامور إن شاء الله." فجمع الحقلين في استعلام او حتى في تقرير سهل ، ولكن اذا اردت ان تفصلهم اذا كانوا مجتمعين ، فالمسألة ستكون صعبة وللعلم ، هذين الحقلين يتم احتساب نتائجهم عن طريق الوحدة النمطية ، وسترى هناك اننا نقوم بعمل معادلات مختلفة ، واذا اردت انت لاحقا ان تقوم بتغيير شئ ، فكما اخبرتك سابقا ، المعادلات سهلة التغيير الآن ، رجاء ، الغي جميع البيانات من جداول القروض ، وادخل مجموعة بيانات صحيحة ، ثم جرب البرنامج ، واذا اردت اي تعديل ، فرجاء ارسال البرنامج ذو البيانات الصحيحة ، والرجاء ان تكون دقيق في شرح المطلوب ، كالعادة جعفر 11.5.FrmDiscountReport.mdb.zip -
زيادة مبلغ إيقاف الخصم الشهري الى مبلغ القرض
jjafferr replied to كريمو2's topic in قسم الأكسيس Access
السلام عليكم أخي كريمو الثاني بحمد الله ومنته ، توصلت الى عمل الاستعلام والذي يعطي بقية مبلغ القرض Remaining طبعا اضطررت لعمل بعض التغييرات البسيطة على الجدول tbl_Loans ، واهمها هو عمل حقل Loan_Type لسهولة عمل استعلام لاحقا ، سواء لـ Cridi او Elec ، بالاضافة الى عمل حقل خاص لدفعات Cridi ودفعات Elec. هذه الحقول قد تبدو زيادة عن الازم في الوهلة الاولى ، وان بامكاننا ان نستعيض عن هذه الحقول ببعض الاوامر في الاستعلام (وهذه المشكلة التي كنا نعاني منها في البرنامج السابق) ، ولكنها تسهل الامور إن شاء الله. لا يوجد تغيير في طريقة العمل ، ولكن لدفع القرض الشهري ، فيجب عليك ان تفتح نموذج frm_Loans عن طريق الضغط على الزر سداد مبلغ ، وتضيف قيمة الدفعة يدويا (هذا ما اردته انت سابقا ، وخصوصا بأن الموظف الان يستطيع ان يدفع اي مبلغ يريده شهريا ) ، ولقد سهلت عليك ايضا ، بان تنقر الفأرة مرتين في حقل الدفع لذلك الشهر ، ليكتب المبلغ تلقائيا ). هنا وحدة نمطية جديدة Count_Remaining ، وهي التي تعطي Remaining ، بأخذ القيم من الجداول ، والكود سهل جدا: Function Count_Remaining(ID_Emp As Integer, ID_Loan As Integer, T As String) As Currency 'ID_Loan = Loan ID 'S = Sum of payments 'Type = Cridi or Elec 'we need to know how much is the Loan, from tables Cridi and ElectroMeng 'ans SUM the paid, from tbl_Loans If T = "Cridi" Then a = DLookup("[Cridi_Value]", "Cridi", "[ID]=" & ID_Loan) S = DSum("[Payment_Made_Cridi]", "tbl_Loans", "[EmployeeID]=" & ID_Emp) ElseIf T = "Elec" Then a = DLookup("[Elec_Value]", "ElectroMeng", "[ID]=" & ID_Loan) S = DSum("[Payment_Made_Elec]", "tbl_Loans", "[EmployeeID]=" & ID_Emp) End If Count_Remaining = a - Nz(S, 0) End Function هذا شكل الاستعلام: حاليا الاستعلام يجمع جميع مبالغ الموظف التي تم سدادها ، ولم اجربه لعدة قروض او قروض منتهية ، او .... ، فرجاء التجربة وإخباري بالنتيجة. جعفر 11.5.FrmDiscountReport.mdb.zip