اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر

السلام عليكم الأعضاء الأفاضل في هذا المنتدى الجميل

في هذا الموضوع أريد حساب:

عمر الموضوع بالسنة والشهر واليوم

و عدد سنوات عمله و .....

وذلك حسب النموذج الموجود في القاعدة المرفقة

وبارك الله فيكم وجعلها الله في ميزان حسناتكم

 

 

BASEF.accdb

  • تمت الإجابة
قام بنشر

اتفضل الحل 

اولا لحساب العمر وفترة العمل فى دالة واحده 

اتفضل هذا المديول

Function CalcAge(StartDate As Date, EndDate As Date) As String
    Dim years As Integer
    Dim months As Integer
    Dim days As Integer
    Dim intH As Integer
    
    
    intH = Int(DateDiff("m", StartDate, EndDate)) + _
              (EndDate < DateSerial(Year(EndDate), Month(EndDate), Day(StartDate)))
    
    
    years = Int(intH / 12)
    months = intH Mod 12
    
    
    days = DateDiff("d", DateAdd("m", intH, StartDate), EndDate)

    
    CalcAge = years & " سنة و " & months & " شهر و " & days & " يوم"
End Function

 

وهذا الاستعلام  شامل كل شئ


 

SELECT tbl_info_fonctionnaire.num, tbl_info_fonctionnaire.nom_arabe, tbl_info_fonctionnaire.prenom_arabe, tbl_info_fonctionnaire.date_naissance, tbl_info_fonctionnaire.date_premiere_grade_poste, tbl_info_fonctionnaire.date_grade_poste_actuel, CalcAge([date_naissance],Date()) AS CalculateAge, CalcAge([date_premiere_grade_poste],Date()) AS WorkAge, DateAdd("yyyy",60,[date_naissance]) AS After60Y, DateAdd("m",18,[date_premiere_grade_poste]) AS After18M
FROM tbl_info_fonctionnaire;

 

النتيجة
kiMXFoT.png

المرفق

BASEF.rar

  • Like 1
قام بنشر (معدل)
8 ساعات مضت, kkhalifa1960 said:

السلام عليكم أخي الطيب

بعد التجربة أخي

لا حظت أنك قمت بتحويل إلى نموذج منفرد

وعندما قمت أنا بتحويله إلى نماذج11.jpg.d41c784ae9daf2d68c05efe14cd36d04.jpg مستمرة

كمثال يكون عمر الموظف نفسه لجميع الموظفين  وعند الضغط على أي موظف يقوم بحساب عمر الموظف ويكون نفسه لجميع الموظفين

بارك الله فيك أخي الكريم على المتابعة وجعلها الله في ميزان حساناك

 

 

تم تعديل بواسطه moho58
قام بنشر
8 ساعات مضت, عمر ضاحى said:

اتفضل الحل 

اولا لحساب العمر وفترة العمل فى دالة واحده 

اتفضل هذا المديول

Function CalcAge(StartDate As Date, EndDate As Date) As String
    Dim years As Integer
    Dim months As Integer
    Dim days As Integer
    Dim intH As Integer
    
    
    intH = Int(DateDiff("m", StartDate, EndDate)) + _
              (EndDate < DateSerial(Year(EndDate), Month(EndDate), Day(StartDate)))
    
    
    years = Int(intH / 12)
    months = intH Mod 12
    
    
    days = DateDiff("d", DateAdd("m", intH, StartDate), EndDate)

    
    CalcAge = years & " سنة و " & months & " شهر و " & days & " يوم"
End Function

 

وهذا الاستعلام  شامل كل شئ


 

SELECT tbl_info_fonctionnaire.num, tbl_info_fonctionnaire.nom_arabe, tbl_info_fonctionnaire.prenom_arabe, tbl_info_fonctionnaire.date_naissance, tbl_info_fonctionnaire.date_premiere_grade_poste, tbl_info_fonctionnaire.date_grade_poste_actuel, CalcAge([date_naissance],Date()) AS CalculateAge, CalcAge([date_premiere_grade_poste],Date()) AS WorkAge, DateAdd("yyyy",60,[date_naissance]) AS After60Y, DateAdd("m",18,[date_premiere_grade_poste]) AS After18M
FROM tbl_info_fonctionnaire;

 

النتيجة
kiMXFoT.png

المرفق

BASEF.rar 39.59 kB · 20 downloads

أخي الفاضل بعد التجربة شغال بامتياز وعمل رائع ممتاز

جعله الله في ميزان حساناتك وربي يجازيك خير الجزاء

  • Like 1

انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.

سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information