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

حساب عمر الموظفين وعدد سنوات العمل


moho58
إذهب إلى أفضل إجابة Solved by عمر ضاحى,

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

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

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

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

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

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

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

 

 

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
رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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

Important Information