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

اظهار اكبر تاريخ ناقص واحد


Allfaaleh

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

السلام عليكم ورحمة الله وبركاته

مرفق قاعدة بيانات ( مثال )

المطلوب عند فتح التقرير اظهار التاريخ الماضي ونوع الاجازة الماضية حيث اني ارغب بمعرفة الاجازة الماضية للموظف ونوعها في التقرير بالاضافة للاجازة الحالية ونوعها 

وسلامتكم 

Database19.rar

رابط هذا التعليق
شارك

 

وبالمثال يتضح المقال

اذهب الى سجل 2 في النموذج الفرعي للموظف سامي واعط امر لعرض التقرير   بتلاحظ تكرار التاريخ  والنوع مع التاريخ الماضي والنوع الماضي السجلات بالاحمر مثل الصورة الاولى 

 

ارغب يطلع التقرير مثل الصورة رقم 2 حيث طلع التاريخ الماضي والنوع الماضي 

اتمنى اني وفقت في ايصال المطلوب

 

 

5a1477f35fd8b_11.png.754aa9c49e35e9dbc20f31845e45967a.png

 

5a1479fc2c197_.png.9e69f2ce59302d877bf7390c1bf333ad.png

 

تم تعديل بواسطه Allfaaleh
للتوضيح
رابط هذا التعليق
شارك

وعليكم السلام ورحمة الله وبركاته:smile:

 

اهلا وسهلا بك في المنتدى:smile:

 

هذا النموذج

746.Clipboard01.jpg.11766f519f1eafc1756e026c88ad0907.jpg

.

وهذا الاستعلام هو مصدر بيانات التقرير ،

وهذا الاستعلام يرسل رقم "مرتبط" الى الوحدة النمطية:

746.Clipboard02.jpg.70fc1975e038564c84a85e03cf04f1ea.jpg 

 

وهذه الوحدة النمطية التي تقوم بإستخراج البيانات المطلوبة من الجدول:

Option Compare Database
Option Explicit

    Public M_Date As Date
    Public M_Type As String
    Public P_Date As Date
    Public P_Type As String
    
    
Function qry_Date(ID)
'On Error Resume Next

    M_Date = vbNull
    M_Type = ""
    P_Date = vbNull
    P_Type = ""
    
    If Len(ID & "") = 0 Then Exit Function
    
    
    Dim rst As DAO.Recordset
    Set rst = CurrentDb.OpenRecordset("Select * From [جدول2] Where [مرتبط]=" & ID & " Order By [التاريخ] Desc")
    rst.MoveLast: rst.MoveFirst
    
    M_Date = rst![التاريخ]
    M_Type = rst![النوع]
        rst.MoveNext
    P_Date = rst![التاريخ]
    P_Type = rst![النوع]
    
    rst.Close: Set rst = Nothing
        
    
End Function


Function Max_Date()
    Max_Date = M_Date
End Function

Function Max_Type()
    Max_Type = M_Type
End Function

Function Prev_Date()
    Prev_Date = P_Date
End Function

Function Prev_Type()
    Prev_Type = P_Type
End Function

.

وهذه النتيجة:

746.Clipboard03.jpg.7d096ba52d5e7a74bc8117324d445f53.jpg

.

جعفر

746.Database19.accdb.zip

رابط هذا التعليق
شارك

الف شكر لك اخي جعفر على الرد بس المطلوب النموذج الفرعي يكون نموذج مفرد ويطلع النتيجة بناء على السجل المعروض حاليا في النموذج الفرعي والتاريخ الاقدم من السجل المعروض مباشرة وشكرا لك على الرد ما قصرت

ولزيادة توضيح المطلوب 

الان باضيف اجازة جديدة لموظف ما بعد اضافة التاريخ عرض التقرير بناء على سجل الاجازة الجديدة وتاريخ ونوع الاجازة الجديدة وهذا ما فيه مشكلة 

المشكلة في التاريخ الماضي والنوع الماضي للاجازة الحالية الجديدة 

تم تعديل بواسطه Allfaaleh
رابط هذا التعليق
شارك

14 دقائق مضت, jjafferr said:

الف الف شكر هذا المطلوب 

بس لو تكرمت اشرح لي الطريقة لان هذا مثال وبطبقه على القاعدة الي عندي 

والشي الثاني افتح الاستعلام في وضع التصميم يطلع الجداول فقط والجدول الي تحت ما يطلع

رابط هذا التعليق
شارك

6 دقائق مضت, Allfaaleh said:

الف الف شكر هذا المطلوب  

والشي الثاني افتح الاستعلام في وضع التصميم يطلع الجداول فقط والجدول الي تحت ما يطلع

حياك الله:smile:

 

عفوا ما فهمت قصدك؟

 

جعفر

رابط هذا التعليق
شارك

منذ ساعه, jjafferr said:

حياك الله:smile:

 

عفوا ما فهمت قصدك؟

 

جعفر

الف شكر لك الغلط من عندي 

اخي الكريم حولت التاريخ الى هجري فطلعت لي مشكلة 

تم تعديل بواسطه Allfaaleh
رابط هذا التعليق
شارك

اخوي جعفر تعبتك معي وطلعت لي مشاكل بعدما طبقت طريقتك على برنامجي

اقترح اخوي اضيف حقلين في الجدول 2 باسم التاريخ الماضي والنوع الماضي 

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

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

اتمنى وصلت الفكرة وشكرا لك وللاخوان في المنتدى  

 

Database19_Backup.rar

تم تعديل بواسطه Allfaaleh
رابط هذا التعليق
شارك

الحل لسؤال الموضوع هو فرز وتسلسل التواريخ (والذي قمت بعمله في المرفق السابق ، حسب التاريخ الميلادي) ،

ويجب ان اعمل شيء (سواء جدول خاص لتواريخ السنه الهجرية ، او وحدة نمطية) حتى استطيع فرز التاريخ الهجري!!

 

وبعد النظر في جدولك :

746.1.Clipboard01.jpg.1876bf52f502e582302a791331fe90f9.jpg

.

سؤال:

من المعروف ان حقل ID بصيغة الرقم التلقائي ، يعطي ارقام مسلسله للسجلات ،

وبعد النظر في جدولك والحقل ID و تواريخ الاجازات لكل موظف ،

هل من الممكن ان تُعطى اجازة ، ثم تُعطى اجازة بتاريخ قبل تاريخ الاجازة السابقة (انظر في المربعات الحمراء)؟

 

اذا كان الجواب لا يمكن ، فرجاء ارفق جدول به بيانات صحيحة ، حتى اعمل الفرز والتسلسل بحقل ID ، ثم اطبقه على التاريه الهجري ،

اما اذا كان الجواب انه يمكن حصوله ، فيجب ان احك رأسي بطريقة لحل الموضوع:smile:

 

ياريت لو انك ارفقت البيانات الصحيحة منذ البداية ، حتى لا نصل الى هذه النقطة!!

 

جعفر

رابط هذا التعليق
شارك

20 دقائق مضت, jjafferr said:

الحل لسؤال الموضوع هو فرز وتسلسل التواريخ (والذي قمت بعمله في المرفق السابق ، حسب التاريخ الميلادي) ،

ويجب ان اعمل شيء (سواء جدول خاص لتواريخ السنه الهجرية ، او وحدة نمطية) حتى استطيع فرز التاريخ الهجري!!

 

وبعد النظر في جدولك :

746.1.Clipboard01.jpg.1876bf52f502e582302a791331fe90f9.jpg

.

سؤال:

من المعروف ان حقل ID بصيغة الرقم التلقائي ، يعطي ارقام مسلسله للسجلات ،

وبعد النظر في جدولك والحقل ID و تواريخ الاجازات لكل موظف ،

هل من الممكن ان تُعطى اجازة ، ثم تُعطى اجازة بتاريخ قبل تاريخ الاجازة السابقة (انظر في المربعات الحمراء)؟

 

اذا كان الجواب لا يمكن ، فرجاء ارفق جدول به بيانات صحيحة ، حتى اعمل الفرز والتسلسل بحقل ID ، ثم اطبقه على التاريه الهجري ،

اما اذا كان الجواب انه يمكن حصوله ، فيجب ان احك رأسي بطريقة لحل الموضوع:smile:

 

ياريت لو انك ارفقت البيانات الصحيحة منذ البداية ، حتى لا نصل الى هذه النقطة!!

 

جعفر

لا يمكن ان اعطي اجازة بتاريخ قبل الاجازة الماضية واعذرني بياناتي غلط

واتمنى تطبيق الفكره على اخر مشاركة لي بكود يضيف تاريخ الاجازة الماضية في حقل في النموذج والجدول وايضا نوعها 

ولو تلاحظ اخر قاعدة تم ارفاقها اضفت حقلين في جدول 2 الاول التاريخ الماضي والثاني النوع الماضي 

وبكذا ما نحتاج استعلامات ووحدة نمطيه وتنحل المشكلة وسامحني غلبتك معي 

رابط هذا التعليق
شارك

8 دقائق مضت, Allfaaleh said:

1. لا يمكن ان اعطي اجازة بتاريخ قبل الاجازة الماضية واعذرني بياناتي غلط

2. واتمنى تطبيق الفكره على اخر مشاركة لي بكود يضيف تاريخ الاجازة الماضية في حقل في النموذج والجدول وايضا نوعها 

ولو تلاحظ اخر قاعدة تم ارفاقها اضفت حقلين في جدول 2 الاول التاريخ الماضي والثاني النوع الماضي 

3. وبكذا ما نحتاج استعلامات ووحدة نمطيه وتنحل المشكلة وسامحني غلبتك معي 

 

1. ممتاز ، بس رجاء ارفق قاعدة بيانات فيها تواريخ صحيحة ، علشان يتم العمل عليها ،

2. هذه الفكرة غير محبذة في قواعد البيانات ، حيث لا نحفظ بيانات حقول محسوبة ،

3. معنى قاعدة البيانات:

ادخال ، فرز وتصفية ، واخراج

واذا اردت ان تحذف جزء الفرز والتصفية ، فيتحول برنامجك الى شيء آخر غير قاعدة بيانات:smile:

 

اطمئن ، هناك ملايين الاستعلامات والوحدات النمطية في ملايين برامج قواعد البيانات ،

الاهم في العملية كلها هي ، ان تجعلها تعمل ، ومن ثم يمكنك ان تنسى انها موجودة ، لأنها تعمل بالخفاء ، وبكفاءة:smile:

 

جعفر

رابط هذا التعليق
شارك

3 ساعات مضت, jjafferr said:

 

1. ممتاز ، بس رجاء ارفق قاعدة بيانات فيها تواريخ صحيحة ، علشان يتم العمل عليها ،

2. هذه الفكرة غير محبذة في قواعد البيانات ، حيث لا نحفظ بيانات حقول محسوبة ،

3. معنى قاعدة البيانات:

ادخال ، فرز وتصفية ، واخراج

واذا اردت ان تحذف جزء الفرز والتصفية ، فيتحول برنامجك الى شيء آخر غير قاعدة بيانات:smile:

 

اطمئن ، هناك ملايين الاستعلامات والوحدات النمطية في ملايين برامج قواعد البيانات ،

الاهم في العملية كلها هي ، ان تجعلها تعمل ، ومن ثم يمكنك ان تنسى انها موجودة ، لأنها تعمل بالخفاء ، وبكفاءة:smile:

 

جعفر

اخوي جعفر تم التوصل لهذا الحل وكل شي تمام بس واجهتني مشكلة صغيرة

مرفق قاعدة بيانات ومضاف فيها البيانات بشكل صحيح وتعمل بشكل جيد 

في الاستعلام الفرز واضهار التاريخ الماضي بناء على حقل ID وينقص منه 1 ويعمل بشكل ممتاز اذا كان تسلسل ID صحيحا مثلا 1 2 3 4 5 6 اما اذا كان ناقص رقم في التسلسل فلا يظهر النتيجة مثلا 1 2 3 5 6 حيث اختفى رقم 4 وذهب التسلسل الى موظف اخر 

وهذه الصور اتمنى توضح المشكلة حيث الاولى يعمل البرنامج بشكل جيد اما في الثانية فلا يظهر تاريخ اخر اجازة ولا نوعها ولا مدتها

وقاعدة البيانات المرفقه المطلوب في التقرير الخط الاحمر وشكرا لك اخوي جعفر 

صورة1.png

وهذه الصورة رقم 2 مع قاعدة البيانات 

صورة3.jpg

OK .rar

اخوي جعفر اذهب الى الموظف ناصر عن طريف النموذج AAA واعط امر فتح التقرير ستلاحظ عدم ظهور النتيجة في التقرير ( تاريخ اخر اجازة ونوعها ومدتها ) اللون الاحمر

بعدها اذهب الى جدول الاجازات واحذف سجل  ID رقم 8 وقم بحذفه وافتح التقرير عن طريق النموذج AAA لنفس الموظف ستلاحظ اختفاء المشكلة وتظهر النتائج بشكل جيد 

اتمنى اني وضحت المشكلة وشكرا لك 

كيف اتغلب على هذه المشكلة 

رابط هذا التعليق
شارك

اسال الله ان يزيدك علما والف شكر لك اخوي جعفر  وما شاء الله عليكم دائما مبدع

واشكر القائمين على هذه النتدى العظيم

 

وكرما اخوي جعفر اذا اضفت اجازة جديدة بتاريخ جديد لازم اخرج من النموذج وبعدين ادخل مره ثانية عشان تطلع النتيجة صحيحة في التقرير

والمشكلة الثانية لو اضفت موضف جديد تطلع مشكلة الفرز يعني كلما اضيف موضف ادخل جدول الاجازات واسوي لرقمه فرز وهذه الحل غير عملي

بصراحة لي اسبوع احاول وما وصلت لحل شافي وما قصرت غلبتك معي

تم تعديل بواسطه Allfaaleh
رابط هذا التعليق
شارك

وعليكم السلام:smile:

 

المرفق يحل "اولا" ،

اما اضافة موظف جديد فلا دخل له بالفرز ، انا قلت:

10 ساعات مضت, jjafferr said:

بس رجاء لا تغير فرز النموذج الفرعي ، فهو يبدأ بآخر تاريخ.

.

اي ان مصدر بيانات النوذج الفرعي به الفرز جاهز.

 

على العموم ، انسى موضوع الفرز ، لأني برمجيا استطيع تضبيطه ، واعمل النموذج الفرعي بالطريقة التي تريدها ، ومرة ثانية ارفق برنامجك ، وعلى اساس تضبيطاتك ، انا اضبط الكود:smile:

 

جعفر

746.3.OK.accdb.zip

رابط هذا التعليق
شارك

5 ساعات مضت, jjafferr said:

وعليكم السلام:smile:

 

المرفق يحل "اولا" ،

اما اضافة موظف جديد فلا دخل له بالفرز ، انا قلت:

.

اي ان مصدر بيانات النوذج الفرعي به الفرز جاهز.

 

على العموم ، انسى موضوع الفرز ، لأني برمجيا استطيع تضبيطه ، واعمل النموذج الفرعي بالطريقة التي تريدها ، ومرة ثانية ارفق برنامجك ، وعلى اساس تضبيطاتك ، انا اضبط الكود:smile:

 

جعفر

746.3.OK.accdb.zip

السلام عليكم ورحمة الله وبركاته 

اخي الكريم جعفر تم حل المشكله وتجربة البرنامج بنجاح وتعجز الكلمات والعبارات عن شكرك فلك مني دعوه بظهر الغيب والشكر موصول للقايمين على المنتدى العظيم اوفيسنا 

والسلام عليكم ورحمة الله وبركاته

 

 

تم تعديل بواسطه Allfaaleh
رابط هذا التعليق
شارك

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



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

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

Important Information