
Barna
الخبراء-
Posts
1062 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
24
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو Barna
-
التعديل على دالة مهمتها التنبيه وظهور MsgBox بشرط
Barna replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
تفضل ...... 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 As Integer Dim result_haj As Variant ' تحديد السنة If Month(Date) < 3 Then yearNow = Year(Date) - 1 t = 1 Else yearNow = Year(Date) t = 2 End If 'إجمالي المبلغ المدفوع 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 ") 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 t = 2 And totalPaid = 3000 And paymentMarch = False And paymentJuly = False And IsNull(result_haj) Then CheckInkhirat = "عزيزي العامل، يمكنك الاستفادة من جميع الامتيازات لأنك دفعت مبلغ الانخراط كاملاً." ElseIf t = 2 And totalPaid = 3000 And paymentMarch = True And paymentJuly = True And IsNull(result_haj) Then CheckInkhirat = "عزيزي العامل، يمكنك الاستفادة من جميع الامتيازات لأنك دفعت مبلغ الانخراط كاملاً على دفعتين." ElseIf t = 1 And totalPaid = 3000 Then CheckInkhirat = "عزيزي العامل، يمكنك الاستفادة من الامتيازات لأنك دفعت مبلغ الانخراط الخاص بالسنة الماضية كاملاً." 'التحقق من رسائل الحج ElseIf t = 1 And totalPaid = 3000 And Not IsNull(result_haj) Then CheckInkhirat = "عزيزي العامل، يمكنك الاستفادة من الامتيازات لأنك دفعت مبلغ الانخراط الخاص بالسنة الماضية كاملاً." & vbNewLine & "ولكن قد استفت من منحة الحج لعام" & vbNewLine & result_haj ElseIf t = 2 And totalPaid = 3000 And paymentMarch = False And paymentJuly = False And Not IsNull(result_haj) Then CheckInkhirat = "عزيزي العامل، يمكنك الاستفادة من جميع الامتيازات لأنك دفعت مبلغ الانخراط كاملاً." & vbNewLine & "ولكن قد استفت من منحة الحج لعام" & vbNewLine & result_haj ElseIf t = 2 And totalPaid = 3000 And paymentMarch = True And paymentJuly = True And Not IsNull(result_haj) Then CheckInkhirat = "عزيزي العامل، يمكنك الاستفادة من جميع الامتيازات لأنك دفعت مبلغ الانخراط كاملاً على دفعتين." & vbNewLine & "ولكن قد استفت من منحة الحج لعام" & vbNewLine & result_haj Else CheckInkhirat = "عزيزي العامل، لا يمكنك الاستفادة من الامتيازات لأنك لم تدفع مبلغ الانخراط." End If Exit Function err_CheckInkhirat: MsgBox "خطأ رقم " & Err.Number & ": " & Err.Description, vbCritical, "خطأ" CheckInkhirat = "حدث خطأ أثناء التحقق من بيانات الانخراط." End Function -
التعديل على دالة مهمتها التنبيه وظهور MsgBox بشرط
Barna replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
-
التعديل على دالة مهمتها التنبيه وظهور MsgBox بشرط
Barna replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
طبعا منحة الحج كغيرها من المنح يشترط انخراط العامل ودفع المستحق ولكن الفرق بينها وبين المنح الأخرى أنها تعطى مرة واحدة خلال عمل العامل أليس كذلك ... -
هههه .... كلام سليم واصبحنا لا نعرف اي التعديلات المناسبة لك أخي @يونس محمد الخطابي
-
التعديل على دالة مهمتها التنبيه وظهور MsgBox بشرط
Barna replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
جرب هذا ... Private Sub CmdMenha_AfterUpdate() Dim result As String Dim userResponse As VbMsgBoxResult Dim emp As Integer Dim f As Integer emp = EmployeeID ' استدعاء الدالة للتحقق من الانخراط result = CheckInkhirat(emp) ' عرض النتيجة في رسالة userResponse = MsgBox(result, vbOKOnly + vbInformation, "نتيجة التحقق") ' التحقق من منحة الحج f = DCount("year(Menha_Date)", "Mena7", "EmployeeID=" & Me.EmployeeID) If f >= 1 And Me.Menha_ID = "11" Then MsgBox "هذا المنخرط (ة) استفاد بمنحة الحج لسنة :" & "" & Year(Me.Menha_Date), vbExclamation, "تنبيه" Me.Undo Exit Sub End If ' التحقق من استحقاق الامتياز قبل المتابعة If result Like "*كاملا*" Then ' طلب تأكيد تثبيت المنحة If MsgBox("هل تريد تثبيت تاريخ المنحة؟", vbYesNo + vbQuestion, "تأكيد") = vbYes Then ' إذا وافق المستخدم، يتم تثبيت التاريخ وإكمال العملية Me.AwardMonth = Date Me.Menha_Value = CmdMenha.Column(2) Me.Obsérvation = Nom_Menha Me.annee = Year(Me.AwardMonth) Else ' إذا رفض المستخدم، يتم التراجع عن أي تغييرات Me.Undo End If Else ' إذا لم يتم استيفاء شروط الانخراط، لا يمكن تثبيت المنحة MsgBox "لا يمكنك تثبيت المنحة لأن شروط الانخراط غير مستوفاة.", vbExclamation, "تنبيه" Me.Undo End If End Sub -
هل بحث في المنتدى عن الأمثلة الكثيرة عن هذا الموضوع
-
-
التعديل على دالة مهمتها التنبيه وظهور MsgBox بشرط
Barna replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
يبدو انك مكرر اسم الدالة لديك ابحث عنها ( اما تغير اسمائها او تحذف القديم الذي لا تحتاجه ) -
مشاركة من الحبيب @ابوخليل انظر اخي @يونس محمد الخطابي المرفق التالي يقوم بمهام : استخلاص رمز ( الحرفين الاول من الاسم الاول - الاسم الثاني - الاسم الثالث - بالاضافة للحرفين الاول للعنوان ) وذلك عن طريق الاستعلام GeneratedCodeQuery SELECT TAAA.Idd3, TAAA.Asm, TAAA.Anoan, Left(Trim(Mid([asm],1,InStr(Trim([asm]),' ')-1)),2) & IIf(InStr(Trim([asm]),' ')>0,Left(Trim(Mid([asm],InStr(Trim([asm]),' ')+1,InStr(InStr(Trim([asm]),' ')+1,Trim([asm]),' ')-InStr(Trim([asm]),' '))),2),'') & IIf(InStr(InStr(Trim([asm]),' ')+1,Trim([asm]),' ')>0,Left(Trim(Mid([asm],InStr(InStr(Trim([asm]),' ')+1,Trim([asm]),' ')+1)),2),'') & Left(Trim([Anoan]),2) AS Rmz FROM TAAA WHERE (((Left(Trim(Mid([asm],1,InStr(Trim([asm]),' ')-1)),2) & IIf(InStr(Trim([asm]),' ')>0,Left(Trim(Mid([asm],InStr(Trim([asm]),' ')+1,InStr(InStr(Trim([asm]),' ')+1,Trim([asm]),' ')-InStr(Trim([asm]),' '))),2),'') & IIf(InStr(InStr(Trim([asm]),' ')+1,Trim([asm]),' ')>0,Left(Trim(Mid([asm],InStr(InStr(Trim([asm]),' ')+1,Trim([asm]),' ')+1)),2),'') & Left(Trim([Anoan]),2)) Like "*" & [forms]![NAAA1]![DDD] & "*")); جرب عملية البحث الان بعد اضافة عناوين ..... واعلمنا بالنتيجة Barna_5.accdb
-
التعديل على دالة مهمتها التنبيه وظهور MsgBox بشرط
Barna replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
هلا بالبشمهندس محمد ..... هل يستأذن اخي الغالي صاحب الدار .... بل يسلم ويدخل الدار بارك الله فيه جرب هذا الكود اخي @كريمو2 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 As Integer ' تحديد السنة If Month(Date) < 3 Then yearNow = Year(Date) - 1 t = 1 Else yearNow = Year(Date) t = 2 End If 'إجمالي المبلغ المدفوع totalPaid = Nz(DSum("Payment_Made", "tbl_Loans", "EmployeeID = " & ID & " AND Year(Auto_Date) = " & yearNow & " AND Loan_ID = 0"), 0) ' التحقق من دفع المبلغ في مارس ويوليو للسنة الحالية 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 t = 2 And totalPaid = 3000 And paymentMarch = False And paymentJuly = False Then CheckInkhirat = "عزيزي العامل، يمكنك الاستفادة من جميع الامتيازات لأنك دفعت مبلغ الانخراط كاملاً." ElseIf t = 2 And totalPaid = 3000 And paymentMarch = True And paymentJuly = True Then CheckInkhirat = "عزيزي العامل، يمكنك الاستفادة من جميع الامتيازات لأنك دفعت مبلغ الانخراط كاملاً على دفعتين." ElseIf t = 1 And totalPaid = 3000 Then CheckInkhirat = "عزيزي العامل، يمكنك الاستفادة من الامتيازات لأنك دفعت مبلغ الانخراط الخاص بالسنة الماضية كاملاً." Else CheckInkhirat = "عزيزي العامل، لا يمكنك الاستفادة من الامتيازات لأنك لم تدفع مبلغ الانخراط." End If Exit Function err_CheckInkhirat: MsgBox "خطأ رقم " & Err.Number & ": " & Err.Description, vbCritical, "خطأ" CheckInkhirat = "حدث خطأ أثناء التحقق من بيانات الانخراط." End Function -
التعديل على دالة مهمتها التنبيه وظهور MsgBox بشرط
Barna replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
Public Function CheckInkhirat(ByRef ID As Integer) As String On Error GoTo err_CheckInkhirat Dim yearNow As Integer Dim totalPaid As Currency Dim paymentMarch As Boolean Dim paymentJuly As Boolean ' تحديد السنة الحالية 'yearNow = Year(Date) If Month(Date) < 3 Then yearNow = Year(Date) - 1 Else yearNow = Year(Date) End If ' إجمالي المبلغ المدفوع ' totalPaid = Nz(DSum("Payment_Made", "tbl_Loans", "EmployeeID = " & ID & " AND Year(Auto_Date) = " & yearNow), 0) totalPaid = Nz(DSum("Payment_Made", "tbl_Loans", "EmployeeID = " & ID & " AND Year(Auto_Date) = " & yearNow & " AND Loan_ID = 0"), 0) ' التحقق من دفع المبلغ في مارس ويوليو 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 totalPaid = 3000 And paymentMarch = False And paymentJuly = False Then CheckInkhirat = "عزيزي العامل، يمكنك الاستفادة من جميع الامتيازات لأنك دفعت مبلغ الانخراط كاملاً." ElseIf totalPaid = 3000 And paymentMarch = True And paymentJuly = True Then CheckInkhirat = "عزيزي العامل، يمكنك الاستفادة من جميع الامتيازات لأنك دفعت مبلغ الانخراط كاملاً على دفعتين." Else CheckInkhirat = "عزيزي العامل، لا يمكنك الاستفادة من الامتيازات لأنك لم تدفع مبلغ الانخراط." End If Exit Function err_CheckInkhirat: MsgBox "خطأ رقم " & Err.Number & ": " & Err.Description, vbCritical, "خطأ" CheckInkhirat = "حدث خطأ أثناء التحقق من بيانات الانخراط." End Function Public Function GetOther(ByRef ID As Integer) As Boolean On Error GoTo err_GetOther Dim rst As DAO.Recordset Dim MySQL As String Dim sadad As Boolean Dim anne As Integer If Month(Date) < 3 Then anne = Year(Date) - 1 Else anne = Year(Date) End If sadad = IIf(DLookup("sadad", "tbl_Loans", "EmployeeID =" & ID & " And Year(tbl_Loans.Auto_Date) =" & anne) = True, True, False) If sadad = False Then Choix = 0: Exit Function Choix = 1 If Month(Date) <= 3 Then: GetOther = True: Exit Function MySQL = "" MySQL = "SELECT tbl_Loans.Auto_ID, tbl_Loans.EmployeeID, tbl_Loans.Auto_Date, tbl_Loans.Loan_Type, tbl_Loans.Remarks, Year(tbl_Loans.Auto_Date) AS Dats" MySQL = MySQL & " FROM tbl_Loans" MySQL = MySQL & " WHERE tbl_Loans.Loan_Type ='Inkhirat'" MySQL = MySQL & " And tbl_Loans.EmployeeID =" & ID MySQL = MySQL & " And Year(tbl_Loans.Auto_Date) =" & Year(Date) MySQL = MySQL & " ORDER BY tbl_Loans.Auto_Date" 'Debug.Print MySQL Set rst = CurrentDb.OpenRecordset(MySQL) rst.MoveLast: rst.MoveFirst Rec = rst.RecordCount If Month(Date) = 7 Then tot = DSum("Payment_Made", "tbl_Loans", "EmployeeID = " & ID & " And Year(Auto_Date) = " & Year(Date)) = 3000 If Not tot Then GetOther = False: Exit Function End If If Rec = 0 Then GetOther = False Else GetOther = True End If 'Debug.Print Adding rst.Close: Set rst = Nothing Exit Function err_GetOther: If Err.Number = 3021 Then 'Or Err.Number = 3061 Then 'ignor, No Record Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description End If End Function -
التعديل على دالة مهمتها التنبيه وظهور MsgBox بشرط
Barna replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
جرب هذا واعلمنا Public Function CheckInkhirat(ByRef ID As Integer) As String On Error GoTo err_CheckInkhirat Dim yearNow As Integer Dim yearNext As Integer Dim totalPaid As Currency Dim paymentMarch As Boolean Dim paymentJuly As Boolean ' تحديد السنة الحالية والسنة التالية yearNow = Year(Date) yearNext = yearNow + 1 ' إجمالي المبلغ المدفوع في السنة الحالية وحتى مارس من السنة التالية totalPaid = Nz(DSum("Payment_Made", "tbl_Loans", _ "EmployeeID = " & ID & _ " AND ((Year(Auto_Date) = " & yearNow & ") " & _ " OR (Year(Auto_Date) = " & yearNext & " AND Month(Auto_Date) <= 3))" & _ " AND Loan_ID = 0"), 0) ' التحقق من دفع المبلغ في مارس ويوليو من السنة الحالية 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 totalPaid = 3000 And paymentMarch = False And paymentJuly = False Then CheckInkhirat = "عزيزي العامل، يمكنك الاستفادة من جميع الامتيازات لأنك دفعت مبلغ الانخراط كاملاً." ElseIf totalPaid = 3000 And paymentMarch = True And paymentJuly = True Then CheckInkhirat = "عزيزي العامل، يمكنك الاستفادة من جميع الامتيازات لأنك دفعت مبلغ الانخراط كاملاً على دفعتين." Else CheckInkhirat = "عزيزي العامل، لا يمكنك الاستفادة من الامتيازات لأنك لم تدفع مبلغ الانخراط." End If Exit Function err_CheckInkhirat: MsgBox "خطأ رقم " & Err.Number & ": " & Err.Description, vbCritical, "خطأ" CheckInkhirat = "حدث خطأ أثناء التحقق من بيانات الانخراط." End Function -
التعديل على دالة مهمتها التنبيه وظهور MsgBox بشرط
Barna replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
ممكن تدخل بعض تلك الاحتمالات في الجدول .... وتوضح ماذا تريد بالضبط من نتائج -
التعديل على دالة مهمتها التنبيه وظهور MsgBox بشرط
Barna replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
تفضل ...................... Public Function CheckInkhirat(ByRef ID As Integer) As String On Error GoTo err_CheckInkhirat Dim yearNow As Integer Dim totalPaid As Currency Dim paymentMarch As Boolean Dim paymentJuly As Boolean ' تحديد السنة الحالية yearNow = Year(Date) ' إجمالي المبلغ المدفوع ' totalPaid = Nz(DSum("Payment_Made", "tbl_Loans", "EmployeeID = " & ID & " AND Year(Auto_Date) = " & yearNow), 0) totalPaid = Nz(DSum("Payment_Made", "tbl_Loans", "EmployeeID = " & ID & " AND Year(Auto_Date) = " & yearNow & " AND Loan_ID = 0"), 0) ' التحقق من دفع المبلغ في مارس ويوليو 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 totalPaid = 3000 And paymentMarch = False And paymentJuly = False Then CheckInkhirat = "عزيزي العامل، يمكنك الاستفادة من جميع الامتيازات لأنك دفعت مبلغ الانخراط كاملاً." ElseIf totalPaid = 3000 And paymentMarch = True And paymentJuly = True Then CheckInkhirat = "عزيزي العامل، يمكنك الاستفادة من جميع الامتيازات لأنك دفعت مبلغ الانخراط كاملاً على دفعتين." Else CheckInkhirat = "عزيزي العامل، لا يمكنك الاستفادة من الامتيازات لأنك لم تدفع مبلغ الانخراط." End If Exit Function err_CheckInkhirat: MsgBox "خطأ رقم " & Err.Number & ": " & Err.Description, vbCritical, "خطأ" CheckInkhirat = "حدث خطأ أثناء التحقق من بيانات الانخراط." End Function -
التعديل على دالة مهمتها التنبيه وظهور MsgBox بشرط
Barna replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
طيب ... جرب كده ..... 20241128.mdb -
التعديل على دالة مهمتها التنبيه وظهور MsgBox بشرط
Barna replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
-
التعديل على دالة مهمتها التنبيه وظهور MsgBox بشرط
Barna replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
الواضح من جدول الدفعات ان كريمو قد دفع المبلغ كاملا .... انظر والدليل غير الرقم 3000 الى 2000 انظر النتيجة -
التعديل على دالة مهمتها التنبيه وظهور MsgBox بشرط
Barna replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
طيب جرب هذا Dim result As String Dim userResponse As VbMsgBoxResult ' استدعاء الدالة للتحقق من الانخراط result = CheckInkhirat(EmployeeID) ' عرض النتيجة في رسالة userResponse = MsgBox(result, vbOKOnly + vbInformation, "نتيجة التحقق") ' التحقق من استحقاق الامتياز قبل المتابعة If result Like "*يمكنك الاستفادة*" Then ' طلب تأكيد تثبيت المنحة If MsgBox("هل تريد تثبيت تاريخ المنحة؟", vbYesNo + vbQuestion, "تأكيد") = vbYes Then ' إذا وافق المستخدم، يتم تثبيت التاريخ وإكمال العملية Me.AwardMonth = Date Me.Menha_Value = CmdMenha.Column(2) Me.Obsérvation = Nom_Menha Me.annee = Year(Me.AwardMonth) Else ' إذا رفض المستخدم، يتم التراجع عن أي تغييرات Me.Undo End If Else ' إذا لم يتم استيفاء شروط الانخراط، لا يمكن تثبيت المنحة MsgBox "لا يمكنك تثبيت المنحة لأن شروط الانخراط غير مستوفاة.", vbExclamation, "تنبيه" End If -
التعديل على دالة مهمتها التنبيه وظهور MsgBox بشرط
Barna replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
جرب هذا Dim result As String ' استدعاء الدالة للتحقق من الانخراط result = CheckInkhirat(EmployeeID) ' عرض النتيجة في رسالة تنبيه MsgBox result, vbOKOnly + vbInformation, "تنبيه" ' طلب تأكيد تثبيت المنحة If MsgBox("هل تريد تثبيت تاريخ المنحة؟", vbYesNo + vbQuestion, "تأكيد") = vbYes Then ' إذا وافق المستخدم، يتم تثبيت التاريخ وإكمال العملية Me.AwardMonth = Date Me.Menha_Value = CmdMenha.Column(2) Me.Obsérvation = Nom_Menha Me.annee = Year(Me.AwardMonth) Else ' إذا رفض المستخدم، يتم التراجع عن أي تغييرات Me.Undo End If -
التعديل على دالة مهمتها التنبيه وظهور MsgBox بشرط
Barna replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
حسب فهمي ... جرب هذا Public Function CheckInkhirat(ByRef ID As Integer) As String On Error GoTo err_CheckInkhirat Dim yearNow As Integer Dim totalPaid As Currency Dim paymentMarch As Boolean Dim paymentJuly As Boolean ' تحديد السنة الحالية yearNow = Year(Date) ' إجمالي المبلغ المدفوع totalPaid = Nz(DSum("Payment_Made", "tbl_Loans", "EmployeeID = " & ID & " AND Year(Auto_Date) = " & yearNow), 0) ' التحقق من دفع المبلغ في مارس ويوليو 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 totalPaid = 3000 Then CheckInkhirat = "عزيزي العامل، يمكنك الاستفادة من جميع الامتيازات لأنك دفعت مبلغ الانخراط كاملاً." ElseIf paymentMarch And paymentJuly Then CheckInkhirat = "عزيزي العامل، يمكنك الاستفادة من جميع الامتيازات لأنك دفعت مبلغ الانخراط كاملاً على دفعتين." Else CheckInkhirat = "عزيزي العامل، لا يمكنك الاستفادة من الامتيازات لأنك لم تدفع مبلغ الانخراط." End If Exit Function err_CheckInkhirat: MsgBox "خطأ رقم " & Err.Number & ": " & Err.Description, vbCritical, "خطأ" CheckInkhirat = "حدث خطأ أثناء التحقق من بيانات الانخراط." End Function يتم استدعاء الكود بهذا الشكل Dim result As String result = CheckInkhirat(EmployeeID) MsgBox result -
اذا كان الهدف ليس تسلسل ولكن عدد فقط استخدم count
-
سِحر جداول الاكسس في تسجيل الوقائع عن طريق Tables Data Macro
Barna replied to jjafferr's topic in قسم الأكسيس Access
بارك الله فيك اخي الاستاذ @jjafferr شامم ريحة بخور .. من وين الريحة الزينة هذه ؟؟؟ -
ممكن عينة لهذه البيانات الموجودة في الحقل ... او مثال مبسط ولو وهمي لنفهم ما تريد فعله
-
اعمل استعلام تحديث الحقول المطلوبة
-
اشكرك اخي @شايب على التعقيب .... لذلك وضع له في البداية الكود الاول وحسب طلبه ادرجت الثاني انا دائما ( رأي شخصي ) اتردد في التعديل على الريجستري في برامجي .... هل هذا التردد في محله ؟ من وجهة نظر @شايب .... علما اني امتلك بفضل الله معلومات كافية حول ذلك ...