كريمو2 قام بنشر ديسمبر 10 قام بنشر ديسمبر 10 السلام عليكم اساتذتي الكرام لدي كود عند تعويض رقم 2 "النظارات الطبية للمنخرط أو زوجته او أحد أبنائه او من تحت كفالته لكل 02 سنة" في التعويضات الطبية ولكن يعمل بشكل عفوي اتمنى ان تضع عليه لمسات وتصحح لي الاخطاء او تعيد صيغته من جديد مثل صيغة منحة الحج الشروط يعطي هذا التعويض للشخص الواحد مرة واحدة خلال كل 02 سنة البداية : 1- اختيار نوع ورقم التعويضات الطبية ونختار رقم 2 2- تثبيت تاريخ التعويض 3- اسم الشخص صاحب النظارات الطبية هنا يظهر MsgBox في حالة نفس الشخص ولم يتم السنتين(02) 4- ادحال مبلغ الفاتورة ملاحظة " في حالة المبلغ اكبر من 70000.00دج يحسب على 70000.00 دج" اي هي المرجع 5- النسبة تكون : 40% 20241210.rar
ناقل قام بنشر ديسمبر 10 قام بنشر ديسمبر 10 (معدل) 1 ساعه مضت, كريمو2 said: - ادحال مبلغ الفاتورة ملاحظة " في حالة المبلغ اكبر من 70000.00دج يحسب على 70000.00 دج" اي هي المرجع 5- النسبة تكون : 40% ممكن شرح مفصل لهذه الجزئية ... حتى لا نفهم خطأ وندخل مشاوير التعديلات ... اشرح بشكل مستفيض لو تتكرم علينا تم تعديل ديسمبر 10 بواسطه ناقل
كريمو2 قام بنشر ديسمبر 10 الكاتب قام بنشر ديسمبر 10 (معدل) 1 ساعه مضت, ناقل said: ممكن شرح مفصل لهذه الجزئية ... حتى لا نفهم خطأ وندخل مشاوير التعديلات ... اشرح بشكل مستفيض لو تتكرم علينا شكرا استاذ نافل على الرد بالنسبة للشرح اولا : الشرط يكون عند منح التعويض يكون مرة واحدة خلال سنتين لنفس الشخص مثلا : كريمو 1 استفادة بتعويض رقم 2 (النظارات الطبية) بتاريخ 2023/12/01 هنا تقدم بطلب تعويض اخر يوم 2024/12/10 هنا نلاحظ انه لم يستوفي شرط السنتين عنا الكود يعلمني انه استفاد بتعويض النظارات الطبية بتاريخ 2023/12/01 ةلا يمكنه التعويض حاليا الا بعد مرور سنتين من تاريخ التعويض وهنا الشرط يكون عند Nom_Beneficiaire في الفورم FrmSanté_sub تعويض النظارات الطبية يمكن يكون المنخرط او الزوجة او الابن او المتكفل بهم ثانيا : مبلغ الفاتورة التي سيتم عليها التعويض لا يكون اكبر من 7 الاف دينار جزائري في كل حالات التعويضات الطبية نفرض فاتورة بقيمة 9 الاف دج تحسب على اساس انها 7 الاف دج وتضرب في ness وهكذا اما الاقل فعادي فتأخذ قيمتها الحقيقية وتضرب في ness ملاحظة : الفرق بين التعويض رقم 2 وجميع التعويضات الاخري (1-3-4-5-6-9) ان رقم 2 يعوض مرة واحدة خلال 02 سنة للسخص الواحد مثلا نوفل استفاد خلال سنة 2024 فلا يمكنه الاستفادة مرة اخرى الا بعد سنة 2026 اما الحالات الاخرى (1-3-4-5-6-9) فيتم التعويض كلما تم تقديم فاتورة تم تعديل ديسمبر 10 بواسطه كريمو2
ناقل قام بنشر ديسمبر 10 قام بنشر ديسمبر 10 22 دقائق مضت, كريمو2 said: ثانيا : مبلغ الفاتورة التي سيتم عليها التعويض لا يكون اكبر من 7 الاف دينار جزائري نفرض فاتورة بقيمة 9 الاف دج تحسب على اساس انها 7 الاف دج وتضرب في 40% وهكذا اما الاقل فعادي فتأخذ قيمتها الحقيقية وتضرب في 40% طيب ماذا لو كان المبلغ أقل هل يحق له المنحة مرة أخرى في خلال سنتين .... يعنى لو استحق في المرة الأولى وكان المبلغ 2000 دينار وطلب منحة اخرى لعمل أيضا نظارة بمبلغ 5000 دينار هل يستحق ام لمرة واحدة فقط دون اعتبار مجموع المبالغ ب 7000 دينار 1
كريمو2 قام بنشر ديسمبر 10 الكاتب قام بنشر ديسمبر 10 (معدل) 10 دقائق مضت, ناقل said: طيب ماذا لو كان المبلغ أقل هل يحق له المنحة مرة أخرى في خلال سنتين .... يعنى لو استحق في المرة الأولى وكان المبلغ 2000 دينار وطلب منحة اخرى لعمل أيضا نظارة بمبلغ 5000 دينار هل يستحق ام لمرة واحدة فقط لا يا استاذ في النظارات الطبية مرة واحدة فقط في كل المبالغ الا بعد مرور عامين دون اعتبار مجموع المبالغ ب 7000 دينار اما هذا ليس مجموع المبالغ استاذ بل غند تقديم فاتورة جديدة بقيمة اكبر من 7000 دينار يتم حساب التعويض على 7000 دينار مثلا فاتورة بقيمة 9000 دينار او اكثر تحسب على اساس انها 7000 دينار ويتم التعويض على 7000 × 30 % خاص برقم 1-3-4-5-6-9 7000 × 40 % خاص برقم 2 تم تعديل ديسمبر 10 بواسطه كريمو2 1
كريمو2 قام بنشر ديسمبر 10 الكاتب قام بنشر ديسمبر 10 (معدل) لاحظ الصورتين استاذ وتمعن فيها توصلك للمطلوب 20241210.rar تم تعديل ديسمبر 10 بواسطه كريمو2
Barna قام بنشر ديسمبر 11 قام بنشر ديسمبر 11 16 ساعات مضت, ناقل said: ممكن شرح مفصل لهذه الجزئية ... حتى لا نفهم خطأ وندخل مشاوير التعديلات ... اشرح بشكل مستفيض لو تتكرم علينا 15 ساعات مضت, كريمو2 said: لا يا استاذ في النظارات الطبية مرة واحدة فقط في كل المبالغ الا بعد مرور عامين دون اعتبار مجموع المبالغ ب 7000 دينار اما هذا ليس مجموع المبالغ استاذ بل غند تقديم فاتورة جديدة بقيمة اكبر من 7000 دينار يتم حساب التعويض على 7000 دينار مثلا فاتورة بقيمة 9000 دينار او اكثر تحسب على اساس انها 7000 دينار ويتم التعويض على 7000 × 30 % خاص برقم 1-3-4-5-6-9 7000 × 40 % خاص برقم 2 اشكرك اخي @ناقل على الاسئلة التي شرحت لنا ما يريده اخانا @كريمو2 هل هذا التصور المطلوب :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 1
ناقل قام بنشر ديسمبر 11 قام بنشر ديسمبر 11 2 ساعات مضت, Barna said: اشكرك اخي @ناقل على الاسئلة التي شرحت لنا ما يريده اخانا @كريمو2 ما شاء الله تبارك الله ... كفيت و وفيت ... وننتظر صاحب الموضوع
كريمو2 قام بنشر ديسمبر 11 الكاتب قام بنشر ديسمبر 11 27 دقائق مضت, ناقل said: ما شاء الله تبارك الله ... كفيت و وفيت ... وننتظر صاحب الموضوع شكرا لمروركم الطيب اساتذة لاحظ الصورة استاذ Barna
ناقل قام بنشر ديسمبر 11 قام بنشر ديسمبر 11 هل شاهدت ما رسالة اخي محمد من صورة. gif 3 ساعات مضت, Barna said: @كريمو2 قصدك لكل واحد منهم فرصة واحدة خلال سنتين يعني الاب فرصة والزوجة فرصة والابن فرصة
كريمو2 قام بنشر ديسمبر 11 الكاتب قام بنشر ديسمبر 11 منذ ساعه, ناقل said: هل شاهدت ما رسالة اخي محمد من صورة. gif 4 ساعات مضت, Barna said: نعم لاحظته ووجدت المشكل كما أشرت بالصورة منذ ساعه, ناقل said: قصدك لكل واحد منهم فرصة واحدة خلال سنتين يعني الاب فرصة والزوجة فرصة والابن فرصة فعلا هذا هو المطلوب استاذ نافل بالاسم 1
Barna قام بنشر ديسمبر 11 قام بنشر ديسمبر 11 15 دقائق مضت, كريمو2 said: فعلا هذا هو المطلوب استاذ نافل بالاسم ولكن لاحظ اخي @كريمو2 ان المستخدم هو من يقوم بكتابة الاسم .... فلو اخطأ في مسافة او حرف الكمبيوتر ذكي لدرجة الغباء ... يعني يقبلها دون تردد .... فلعلاج ذلك المفترض يتم اختيار الاسم من خلال قائمة منسدلة وليس تسجيل المستخدم ,,, اليس كذلك ؟؟؟؟؟؟ 1
كريمو2 قام بنشر ديسمبر 11 الكاتب قام بنشر ديسمبر 11 13 دقائق مضت, Barna said: ولكن لاحظ اخي @كريمو2 ان المستخدم هو من يقوم بكتابة الاسم .... فلو اخطأ في مسافة او حرف الكمبيوتر ذكي لدرجة الغباء ... يعني يقبلها دون تردد .... فلعلاج ذلك المفترض يتم اختيار الاسم من خلال قائمة منسدلة وليس تسجيل المستخدم ,,, اليس كذلك ؟؟؟؟؟؟ صح فكرتك استاذ تمام الاصل يكتب "المعني بالامر" او "المنخرط " في حالة استفادته هو شخصيا اما اذا كان احد من افراد عائلته فيكتب اسمه ولقبه وهنا يتم الفلترة
Barna قام بنشر ديسمبر 12 قام بنشر ديسمبر 12 20 ساعات مضت, كريمو2 said: صح فكرتك استاذ تمام الاصل يكتب "المعني بالامر" او "المنخرط " في حالة استفادته هو شخصيا اما اذا كان احد من افراد عائلته فيكتب اسمه ولقبه وهنا يتم الفلترة طيب اذا كنت مصر على طريقتك .... هل هذا هو المطلوب
كريمو2 قام بنشر ديسمبر 12 الكاتب قام بنشر ديسمبر 12 منذ ساعه, Barna said: طيب اذا كنت مصر على طريقتك .... هل هذا هو المطلوب نعم استاذ ولكن طريقتنا في العمل الإختيار "نوع ورقم التعويضات "هو الاول وانت حسب الصورة بدات ب "الاسم ولقب المستفيد" ثم "نوع القرابة" وبعدين "الاختيار "ومن ثمة يظهر الميساج
Barna قام بنشر ديسمبر 13 قام بنشر ديسمبر 13 22 ساعات مضت, كريمو2 said: نعم استاذ ولكن طريقتنا في العمل الإختيار "نوع ورقم التعويضات "هو الاول وانت حسب الصورة بدات ب "الاسم ولقب المستفيد" ثم "نوع القرابة" وبعدين "الاختيار "ومن ثمة يظهر الميساج يعني تريد المستخدم يملأ جميع البيانات وعند الوصول للاسم تخرج له الرسالة ؟؟؟
Barna قام بنشر ديسمبر 13 قام بنشر ديسمبر 13 منذ ساعه, كريمو2 said: نعم استاذ هكذا ....................
كريمو2 قام بنشر ديسمبر 13 الكاتب قام بنشر ديسمبر 13 نعم استاذي العزيز وياريت تذكر اسم المستفيد سابقا في الميساج
Barna قام بنشر ديسمبر 13 قام بنشر ديسمبر 13 42 دقائق مضت, كريمو2 said: نعم استاذي العزيز وياريت تذكر اسم المستفيد سابقا في الميساج طيب .... قم بنقل الكود كما في الصورة من مربع القائمة الخاصة بالنوع الى مربع القائمة الخاص بنوعية القرابة ثم انسخ الفانك بدل الفانك الموجود لديك ,,,,,, Public Function CheckInkhirat(ByRef ID As Integer) As String On Error GoTo err_CheckInkhirat Dim yearNow As Integer Dim totalPaid As Currency Dim totalPaidLastYear As Currency Dim paymentMarch As Boolean Dim paymentJuly As Boolean Dim t, t2 As Integer Dim result_haj As Variant Dim latestDate As Variant Dim todayDate As Date Dim yearsDifference As Long t1 = 2 ' تحديد السنة If Month(Date) < 3 Then yearNow = Year(Date) - 1 t = 1 Else yearNow = Year(Date) t = 2 End If ' الحصول على تاريخ اليوم todayDate = Date 'إجمالي المبلغ المدفوع totalPaid = Nz(DSum("Payment_Made", "tbl_Loans", "EmployeeID = " & ID & " AND Year(Auto_Date) = " & yearNow & " AND Loan_ID = 0"), 0) If [Forms]![FrmMenah]![Etar] = "المنح العائلية" Then 'التحقق من منحة الحج والنظارات الطبية result_haj = DLookup("[Menha_Date]", "[Mena7]", "[EmployeeID] =" & ID & " And [Menha_ID] =" & [Forms]![FrmMenah]![Frm_sub].[Form]![CmdMenha] & " And [Menha_ID] =11 ") ElseIf [Forms]![FrmMenah]![Etar] = "التعويضات الطبية" And [Forms]![FrmMenah]![Frm_sub].[Form]![cmdSanitaire] = 2 Then If IsNull(DMax("[Sanitaire_Date]", "[Sanitaire]", "[EmployeeID] =" & [Forms]![FrmMenah]![EmployeeID] & " And [Nom_Beneficiaire] ='" & [Forms]![FrmMenah]![Frm_sub].[Form]![Nom_Beneficiaire] & "'")) Then latestDate = #10/1/2000# yearsDifference = DateDiff("yyyy", latestDate, todayDate) Else latestDate = DMax("[Sanitaire_Date]", "[Sanitaire]", "[EmployeeID] =" & [Forms]![FrmMenah]![EmployeeID] & " And [Nom_Beneficiaire] ='" & [Forms]![FrmMenah]![Frm_sub].[Form]![Nom_Beneficiaire] & "'") yearsDifference = DateDiff("yyyy", latestDate, todayDate) End If If yearsDifference < 2 Then result_haj = Null t1 = 1 Else result_haj = Null t1 = 2 End If Else result_haj = Null End If ' التحقق من دفع المبلغ في مارس ويوليو للسنة الحالية paymentMarch = Nz(DLookup("Payment_Made", "tbl_Loans", "EmployeeID = " & ID & " AND Year(Auto_Date) = " & yearNow & " AND Month(Auto_Date) = 3"), 0) = 1500 paymentJuly = Nz(DLookup("Payment_Made", "tbl_Loans", "EmployeeID = " & ID & " AND Year(Auto_Date) = " & yearNow & " AND Month(Auto_Date) = 7"), 0) = 1500 ' التحقق من الشروط If t1 = 2 And t = 2 And totalPaid = 3000 And paymentMarch = False And paymentJuly = False And IsNull(result_haj) Then CheckInkhirat = "عزيزي المنخرط(ة)، يمكنك الاستفادة من جميع الامتيازات لأنك دفعت مبلغ الانخراط كاملاً." ElseIf t1 = 2 And t = 2 And totalPaid = 3000 And paymentMarch = True And paymentJuly = True And IsNull(result_haj) Then CheckInkhirat = "عزيزي المنخرط(ة)، يمكنك الاستفادة من جميع الامتيازات لأنك دفعت مبلغ الانخراط كاملاً على دفعتين." ElseIf t1 = 2 And t = 1 And totalPaid = 3000 Then CheckInkhirat = "عزيزي المنخرط(ة)، يمكنك الاستفادة من الامتيازات لأنك دفعت مبلغ الانخراط الخاص بالسنة الماضية كاملاً." 'التحقق من رسائل الحج ElseIf t1 = 2 And t = 1 And totalPaid = 3000 And Not IsNull(result_haj) Then CheckInkhirat = "عزيزي المنخرط(ة)، يمكنك الاستفادة من الامتيازات لأنك دفعت مبلغ الانخراط الخاص بالسنة الماضية كاملاً." & vbNewLine & "ولكن قد استفت من منحة الحج لعام" & vbNewLine & result_haj ElseIf t1 = 2 And t = 2 And totalPaid = 3000 And paymentMarch = False And paymentJuly = False And Not IsNull(result_haj) Then CheckInkhirat = "عزيزي المنخرط(ة)، يمكنك الاستفادة من جميع الامتيازات لأنك دفعت مبلغ الانخراط كاملاً." & vbNewLine & "ولكن قد استفت من منحة الحج لعام" & vbNewLine & result_haj ElseIf t1 = 2 And t = 2 And totalPaid = 3000 And paymentMarch = True And paymentJuly = True And Not IsNull(result_haj) Then CheckInkhirat = "عزيزي المنخرط(ة)، يمكنك الاستفادة من جميع الامتيازات لأنك دفعت مبلغ الانخراط كاملاً على دفعتين." & vbNewLine & "ولكن قد استفت من منحة الحج لعام" & vbNewLine & result_haj 'التحقق من رسائل النظارات الطبية ElseIf t1 = 1 And t = 1 And totalPaid = 3000 And IsNull(result_haj) Then CheckInkhirat = "عزيزي المنخرط(ة)، يمكنك الاستفادة من الامتيازات لأنك دفعت مبلغ الانخراط الخاص بالسنة الماضية كاملاً." & vbNewLine & "ولكن قد استفت من منحةالنظارات الطبية بتاريخ" & vbNewLine & latestDate ElseIf t1 = 1 And t = 2 And totalPaid = 3000 And paymentMarch = False And paymentJuly = False And IsNull(result_haj) Then CheckInkhirat = "عزيزي المنخرط(ة)، يمكنك الاستفادة من جميع الامتيازات لأنك دفعت مبلغ الانخراط كاملاً." & vbNewLine & "ولكن قد استفت من منحةالنظارات الطبية بتاريخ" & vbNewLine & latestDate ElseIf t1 = 1 And t = 2 And totalPaid = 3000 And paymentMarch = True And paymentJuly = True And IsNull(result_haj) Then CheckInkhirat = "عزيزي المنخرط(ة)، يمكنك الاستفادة من جميع الامتيازات لأنك دفعت مبلغ الانخراط كاملاً على دفعتين." & vbNewLine & "ولكن قد استفت من منحةالنظارات الطبية بتاريخ" & vbNewLine & latestDate Else CheckInkhirat = "عزيزي المنخرط(ة)، لا يمكنك الاستفادة من الامتيازات لأنك لم تدفع مبلغ الانخراط." End If Exit Function err_CheckInkhirat: MsgBox "خطأ رقم " & Err.Number & ": " & Err.Description, vbCritical, "خطأ" CheckInkhirat = "حدث خطأ أثناء التحقق من بيانات الانخراط." End Function
كريمو2 قام بنشر ديسمبر 13 الكاتب قام بنشر ديسمبر 13 (معدل) شكرا استاذ 1 ساعه مضت, Barna said: قم بنقل الكود كما في الصورة من مربع القائمة الخاصة بالنوع الى مربع القائمة الخاص بنوعية القرابة اولا : تم النقل والنسح كما اشرت ثانيا لازم زيادة شرط عند الضفط على موافق في هذا الميساج لا يضاف سجل جديد الميساج رقم 01 وعند ظهور الميساج رقم 01 لا يظهر الميساج رقم 02 الميساج رقم 02 2024-12-13_21-33-07.rar تم تعديل ديسمبر 13 بواسطه كريمو2
Barna قام بنشر ديسمبر 13 قام بنشر ديسمبر 13 20 دقائق مضت, كريمو2 said: اولا : الصورة مافهمت كيف انقل الكود من والي الكود الموجود في حدث بعد التحديث انقله في مربع القائمة الأخرى المذكورة ... ايضا تحت حدث بعد التحديث 20 دقائق مضت, كريمو2 said: ثانيا : ولما نسخت الفانك ظهرت الكتابة بالعربية الي علامات استفهام مالحل قبل النسخ حول لوحة المفاتيح إلى عربي
كريمو2 قام بنشر ديسمبر 13 الكاتب قام بنشر ديسمبر 13 عذرا استاذي Barna على تغيير الرد اولا : تم النقل والنسح كما اشرت ثانيا لازم زيادة شرط عند الضفط على موافق في هذا الميساج لا يضاف سجل جديد الميساج رقم 01 وعند ظهور الميساج رقم 01 لا يظهر الميساج رقم 02 الميساج رقم 02
أفضل إجابة Barna قام بنشر ديسمبر 13 أفضل إجابة قام بنشر ديسمبر 13 (معدل) 12 دقائق مضت, كريمو2 said: عذرا استاذي Barna على تغيير الرد اولا : تم النقل والنسح كما اشرت ثانيا لازم زيادة شرط عند الضفط على موافق في هذا الميساج لا يضاف سجل جديد الميساج رقم 01 استخدم هذا الكود بدل الموجود لديك .................. Dim result As String Dim userResponse As VbMsgBoxResult Dim emp As Integer emp = EmployeeID ' استدعاء الدالة للتحقق من الانخراط result = CheckInkhirat(emp) ' عرض النتيجة في رسالة userResponse = MsgBox(result, vbOKOnly + vbInformation, "نتيجة التحقق") ' التحقق من استحقاق الامتياز قبل المتابعة If (result Like "*كاملا*" And Not result Like "*النظارات*") Then ' طلب تأكيد تثبيت المنحة If MsgBox("هل تريد تثبيت تاريخ التعويض الطبي؟", vbYesNo + vbQuestion, "تأكيد") = vbYes Then ' إذا وافق المستخدم، يتم تثبيت التاريخ وإكمال العملية Me.Sanitaire_Date = Date ''Me.Obsérvation = Nom_Moss ''Me.Sanitaire_Value = Me.Montent Else ' إذا رفض المستخدم، يتم التراجع عن أي تغييرات Me.Undo End If Else ' إذا لم يتم استيفاء شروط الانخراط، لا يمكن تثبيت المنحة MsgBox "لا يمكنك تثبيت التعويض الطبي لأن شروط الانخراط غير مستوفاة.", vbExclamation, "تنبيه" Me.Undo End If تم تعديل ديسمبر 13 بواسطه Barna
كريمو2 قام بنشر ديسمبر 13 الكاتب قام بنشر ديسمبر 13 (معدل) شكر استاذ Barna على الصبر والتحمل و المساعدة وربي يجعلها في ميزان حسناتك تم تعديل ديسمبر 13 بواسطه كريمو2 1
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.