imad2024 قام بنشر ديسمبر 23, 2023 قام بنشر ديسمبر 23, 2023 السلام عليكم طلب مساعده في تحديث جميع بيانات السجلات في النموذج عند فتحه حيث انه يوجد عملية حسابيه لكل سجل ، تعتمد العملية الحسابيه على تاريخ اليوم مثلاً عند فتح البرنامج يوم غدا يجب ان تتغير احتساب الايام المتبقيه للعقد عند فتح بعد اسبوع يجب ان تتغير ايام الاحتساب تلقائياً للمده المتبقية للعقد حيث ان البرنامج عند الادخال وتغير تاريخ نهاية عقد العمل فقط يتم التغير واحتساب مدة نهاية العقد انا بحاجه عند فتح النموذج ( نموذج1)ان يتم تغير جميع الاحتسابات لجميع السجلات ويقوم بحساب المده المتبقيه للعقد بناء وكذلك عند فتح التقرير ان يقوم قبلها بتحديث جميع السجلات مع الشكر التاريخ.accdb
kkhalifa1960 قام بنشر ديسمبر 27, 2023 قام بنشر ديسمبر 27, 2023 تفضل أخي المرفق بعد التعديل ووافني بالرد . التاريخ-1.rar
imad2024 قام بنشر ديسمبر 28, 2023 الكاتب قام بنشر ديسمبر 28, 2023 شكرا لك على الرد وعلى اهتمامك المطلوب ان يتم تحديث كافة السجلات عند فتح البرانامج بناء على تاريخ الكمبيوتر ويقوم بالاحتساب وليس للسجل الاول فقط عند عمل تقرير بالعمال والموظفين يجب ان اعرف المده المتبقيه له وكم بقي له لانتهاء عقد العمل حاليا يجب ان اقوم بالدخول على السجلات ( سجل سجل ) والضعط على الرز ( do it ) حتى يقوم بالاحتساب وعدد السجلات كثير عند تشغيل التقرير يعطني المده المتبقيه خاطئة اذا لم اقم بتحديث جميع السجلات بشكل يدوي انا بحاجه عند الدخول الى التقرير او النموذج ان تكون جميع السجلات محدثه حسب تاريخ الكمبيوتر لان العملية الحسابيه مرتبطه بالتاريخ مثال اذا كان عندي عامل اسمه ( احمد ) بداية عقد العمل 2023/1/1 نهاية عقد العمل 2024/1/8 وتاريخ اليوم هو 2023/12/8 يجب عند فتح البرنامج ان يكون نهاية العقد ( 0 years, 1 months, 0 days ) واذا قمت بفتح البرنامج بتاريخ 2023/12/13 يجب ان يكون نهاية العقد ( 0 years, 0 months, 26 days ) وهكذا واسف على الاطاله
kkhalifa1960 قام بنشر ديسمبر 28, 2023 قام بنشر ديسمبر 28, 2023 تفضل أخي المحاولة الثانية . نصيحه اجعل أسماء الجداول والنماذج والتقارير وحقولهم باللغة الانجليزية وبدون فواصل بين الكلمات . تم عمل استعلام وتم التحديث من خلالة. تفضل المرفق وجرب ووافني بالرد . التاريخ-2.rar
imad2024 قام بنشر ديسمبر 29, 2023 الكاتب قام بنشر ديسمبر 29, 2023 شكرا لك كثيرا على اهتمامك وصبرك معي ارفقت صوره يوجد مشكله وهي المده المتبقيه يوجد بها خطا قمت بادخال اسم جديد حيث يجب ان يعطني ان المده المتبقيه هي ثلاثة ايام فقط على نهاية العقد لان تاريخ اليوم هو 12/29 بعد التدقيق في المده تبين انها المده التي عمل بها وهي 11 شهر و 28 يوم وهي صحيحه انا اريد المده المتبقيه وهي 3 ايام - شهر 0 - سنه 0 حتى اعلم انه بقي له فقط 3 ايام على نهاية العقد وشكرا لك مره اخرى
سامي الحداد قام بنشر يناير 4 قام بنشر يناير 4 السلام عليكم بالاضافة لما تفضل به الاستاذ @kkhalifa1960 جزاه الله خيرا اليك التعديل في 29/12/2023 at 15:57, imad2024 said: يوجد مشكله وهي المده المتبقيه يوجد بها خطا يوجد خطاء في هذا الفانكشن remainingDays = Day(DateSerial(Year(currentDate), Month(currentDate) + 1, 0)) + remainingDays التعديل هنا Function CalculateRemainingPeriod(startDate As Date, endDate As Date) As String Dim remainingYears As Integer Dim remainingMonths As Integer Dim remainingDays As Integer Dim currentDate As Date currentDate = Date remainingYears = Year(endDate) - Year(currentDate) remainingMonths = Month(endDate) - Month(currentDate) remainingDays = Day(endDate) - Day(currentDate) If remainingDays < 0 Then remainingMonths = remainingMonths - 1 remainingDays = DateDiff("d", DateSerial(Year(currentDate), Month(currentDate) + 1, 0), endDate) End If If remainingMonths < 0 Then remainingYears = remainingYears - 1 remainingMonths = remainingMonths + 12 End If CalculateRemainingPeriod = remainingYears & " years, " & remainingMonths & " months, " & remainingDays & " days" End Function تم إضافة صندوق للرسائل لكل موظف بتاريخ انتهاء العقد بامكانك الاستغناء عنه إذا كان عدد الموظفين كثير والاكتفاء فقط برسائل العقود التي قاربت على الانتهاء. الرسالة تختفي بعد ثانيتين لكل موظف. وهذا الكود هنا. Opt = MesgBox(rs![الاسم] & ": " & remainingDays & " يوم/ أيام ", 1, vbInformation, "الأيام المتبقية لإنتهاء عقد السيد") وهذا الكود للعقود التي قاربت على الانتهاء بامكانك التعديل عليها بما يناسبك . Private Sub Form_Current() UpdateFields Dim rs As DAO.Recordset Set rs = Me.RecordsetClone If Not rs.EOF Then rs.MoveFirst Do Until rs.EOF If rs![نهاية عقد العمل] <= (Date + 1) Then If rs![نهاية عقد العمل] = (Date + 1) Then MsgBox "سينتهي عقد العمل يوم غد للسيد / " & rs!الاسم, 0 + 48, " !!! تنبيــــــــــــــــــــــــــــــــــه" ElseIf rs![نهاية عقد العمل] = Date Then MsgBox "اليوم هو أخر يوم لعقد العمل للسيد / " & rs!الاسم, 0 + 64, " !!! تنبيــــــــــــــــــــــــــــــــــه" ElseIf rs![نهاية عقد العمل] < Date Then MsgBox " إنتهى عقد العمل قبل (" & Str(Date - rs![نهاية عقد العمل]) & ") يوم / أيام للسيد / " & rs!الاسم, 48, "!!! إنتهى التاريخ المحدد لعقد العمل " End If End If rs.MoveNext Loop End If rs.Close Set rs = Nothing End Sub واخيرا اليك الملف عسى ان يكون هو المطلوب. بالتوفيق التاريخ.accdb
imad2024 قام بنشر يناير 6 الكاتب قام بنشر يناير 6 (معدل) شكرا لك على المساعده يوجد مشكله في المده المتبقيه للايام . اذا كان نهاية العقد اقل من تاريخ اليوم كما في الصوره الاولى يعطني باقي المده المتبقيه بالايام خطأ وهي ( 340 يوم متبقي ) اذا كان نهاية العقد يساوي تاريخ اليوم او اكثر يعطي المده المتبقيه بالايام صحيحه ( 1 يوم ) ولك الشكر على الاهتمام تم تعديل يناير 6 بواسطه imad2024
سامي الحداد قام بنشر يناير 6 قام بنشر يناير 6 اخي الكريم وكما ذكر الاستاذ @kkhalifa1960جزاه الله خيرا في 29/12/2023 at 00:31, kkhalifa1960 said: نصيحه اجعل أسماء الجداول والنماذج والتقارير وحقولهم باللغة الانجليزية وبدون فواصل بين الكلمات اليك التعديل ووافني بالنتيجة. التاريخ.accdb
imad2024 قام بنشر يناير 7 الكاتب قام بنشر يناير 7 شكرا لك مره اخرى على صبرك معي اذا كان تاريخ اليوم 2024/1/7 وكان تاريخ نهاية العقد ليس في نفس السنه واقل من تاريخ اليوم 2025/1/6 سوف يعطني باقي الايام خطأ ( 365 ) 2024/1/7 وكان تاريخ نهاية العقد في نفس السنه واقل من تاريخ اليوم 2024/3/6 سوف يعطني باقي الايام خطأ متبقي ( 59 يوم و شهر واحد ) اذا كان تاريخ اليوم 2024/1/7 وكان تاريخ نهاية العقد ليس في نفس السنه وتاريخ اليوم اكبر او يساوي من ( 7 وهو تاريخ اليوم ) 2025/1/9 سوف يعطني النتيجة صحيحه اذا كان تاريخ اليوم 2024/1/7 وكان تاريخ نهاية العقد في نفس السنه تاريخ اليوم اكبر او يساوي من ( 7 وهو تاريخ اليوم ) 2024/1/13 سوف يعطني باقي الايام صحيحه فقط المشكله في المده المتبقية بالايام عند الاحتساب
سامي الحداد قام بنشر يناير 7 قام بنشر يناير 7 أخي الكريم @imad2024 4 ساعات مضت, imad2024 said: اذا كان تاريخ اليوم 2024/1/7 وكان تاريخ نهاية العقد ليس في نفس السنه واقل من تاريخ اليوم 2025/1/6 سوف يعطني باقي الايام خطأ ( 365 ) يمكنك التأكد من حساب الايام يوجد العديد من المواقع يهذا الخصوص وعلى سبيل المثال هذا الموقع Date Calculator - Calculate Duration Between Two Dates (indiatimes.com) بامكانك التأكد ضع اي تاريخ وقارن النتيجة مع البرنامج. التعديل الاخير صحيح اخي الكريم لقد اجريت الكثير من التجارب على التعديل الاخير وتاكدت من عدة مواقع بخصوص حساب التاريخ . تحياتي
سامي الحداد قام بنشر يناير 7 قام بنشر يناير 7 4 ساعات مضت, imad2024 said: 2024/1/7 وكان تاريخ نهاية العقد في نفس السنه واقل من تاريخ اليوم 2024/3/6 سوف يعطني باقي الايام خطأ متبقي ( 59 يوم و شهر واحد ) ساتحقق من هذا فقط امهلني بعض الوقت.
أفضل إجابة سامي الحداد قام بنشر يناير 7 أفضل إجابة قام بنشر يناير 7 السلام عليكم اخي الكريم نعم معك حق .. الدالة لم تكن تعمل بشكل صحيح اليك التعديل وبالنسبة الى إرجاع الدالة شهرين و-1 يوم بدلاً من 59 يومًا هو أنها تستخدم الدالة DateDiff مع الفاصل الزمني "m"، الذي يحسب عدد أشهر التقويم بين تاريخين وهذا يعني أنه يتجاهل العدد الفعلي للأيام في كل شهر وينظر فقط إلى الفرق بين أجزاء الشهر من التواريخ. على سبيل المثال، الفرق بين 01/07/2024 و01/08/2024 هو شهر واحد، على الرغم من وجود 31 يومًا بينهما. Function CalculateRemainingPeriod(StartDate As Date, EndDate As Date) As String Dim Years As Long Dim Months As Long Dim Days As Long Dim Result As String Dim TodayDate As Date TodayDate = Date Years = DateDiff("yyyy", TodayDate, [نهاية عقد العمل]) TodayDate = DateAdd("yyyy", Years, TodayDate) Months = DateDiff("m", TodayDate, [نهاية عقد العمل]) TodayDate = DateAdd("m", Months, TodayDate) Days = DateDiff("d", TodayDate, [نهاية عقد العمل]) Result = Years & " years, " & Months & " months, " & Days & " days" CalculateRemainingPeriod = Result End Function الملف بعد التعديل التاريخ.accdb
imad2024 قام بنشر يناير 7 الكاتب قام بنشر يناير 7 شكرا لك كثيرا هذا ما اريده 💗وشكرا لكل من ساعدني😀 بارك الله فيكم وجزاكم الله خيرا
سامي الحداد قام بنشر يناير 7 قام بنشر يناير 7 حياك الله اخي الكريم الشكر لله عز وجل ولاساتذتنا الذين تعلمنا منهم وما زلنا نتعلم منهم . بالتوفيق
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.