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

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

قام بنشر

السلام عليكم

احبتي الكرام

في المثال المرفق  جدول  يشتمل على سجلات حضور لموظفين وهي متفاوتة في العدد

ونريد استخراج عدد ايام العمل الفعلية بناء على اكبر عدد حضور  من أي واحد (بدون تخصيص)  من الموظفين الموجودين في الجدول

بمعنى اي موظف عدد توقيعاته هي الاكبر  = عدد ايام العمل الفعلية

المطلوب : اقصر طريق لاستخراج الرقم 

سواء  من خلال كود برمجي او استعلام 

dbCountDays.mdb

قام بنشر

هلا ابو خليل

شرايك نفكر خارج الصندوق

رتب عمود التاريخ للجميع وبدون تكرار وهذه ايام العمل !

ولنفس سؤالك يوجد حل ان شاء الله ولكن بعد رأيك في الفكرة اعلاه لانها ستعطيك ماتسمو اليه

وكذلك انتبه يا استاذنا من لو غابو جميعا !!

تحياتي

قام بنشر (معدل)

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

هل تريد  العدد في شهر ام على مستوى سنه كامله وضح اكثر واين اسم الحقل المقصود

تم تعديل بواسطه طاهر الوليدي
قام بنشر

ياهلا ألف بالاستاذ العزيز رمهان  ، تغيب وتجي سالم

34 دقائق مضت, رمهان said:

رتب عمود التاريخ للجميع وبدون تكرار وهذه ايام العمل !

تمام  .. 

ولكني اريده رقما ، واريده كما في طلبي أقصر الطرق . ولا اخفيك اعرف طريقين للتنفيذ 

ولكني احببت ان استشير لأستنير  بالعقول والخبرة  ، للوصول الى الأفضل .. وسرني مداخلتك .

اقتباس

وكذلك انتبه يا استاذنا من لو غابو جميعا

:wink2: المشكلة الحقيقية لو واحد وقع حضور في يوم اجازة

28 دقائق مضت, طاهر الوليدي said:

هل تريد  العدد في شهر ام على مستوى سنه كامله وضح اكثر واين اسم الحقل المقصود

اهلا استاذ طاهر  .. اريده على مستوى السجلات الموجودة في الجدول ، وكما بينت اعلاه 

قام بنشر
30 دقائق مضت, AlwaZeeR said:

حسب ما فهمت اخي ابو خليل

شكرا استاذنا اطلعت على الحل

المطلوب : (الرقم 18) اللي هو عدد السجلات  الموجودة في Q1

الطريقتين اللي اعرفهما :

الاولى : عن طريق استعلامين الاول تجميعي  والثاني يقوم بعد التجميعي

والثانية : وهي الاقرب عندي : عمل وحدة نمطية  واضمن الاستعلام التجميعي داخلها

فهل يوجد طريقة اقرب  مثلا :

1- استعلام واحد يظهر الرقم

أو

2- سطر برمجي باستخدام الدالة Dcount

قام بنشر

لأن الايام التي تم التوقيع فيها 18 يوم

كما هو عندك في الاستعلام q1

وايضا رأي الاستاذ رمهان

منذ ساعه, رمهان said:

رتب عمود التاريخ للجميع وبدون تكرار وهذه ايام العمل !

طبعا على حسب البيانات في الجدول الحالي

قام بنشر
منذ ساعه, ابوخليل said:

:wink2: المشكلة الحقيقية لو واحد وقع حضور في يوم اجازة

صحيح وبرافو

معناته ليس اكبر عدد حضور لموظف هو الايام الفعلية !!

جرب هذا استاذنا وشيخنا

SELECT Count(*) from (SELECT DISTINCT tblcomIn.Datem
FROM tblcomIn)

تحياتي

قام بنشر

يا سلام   رائع .. رائع  كما عودتنا استاذنا الكريم

ولي عودة للاستفسار  لانه يحدث اشياء غريبة عند اللصق وعند اعادة فتح الاستعلام تختلف وتتغير بعض البيانات

لاني كنت اكتب ما ذكرته سابقا  مارأيكم :

Dim db1 As Database
Dim rs As Recordset
Set db1 = CurrentDb
Set rs = db1.OpenRecordset("SELECT tblcomIn.Datem FROM tblcomIn GROUP BY tblcomIn.Datem")
MsgBox rs.RecordCount

 

 

9 دقائق مضت, ابوخليل said:

ولي عودة للاستفسار  لانه يحدث اشياء غريبة عند اللصق وعند اعادة فتح الاستعلام تختلف وتتغير بعض البيانات

نعم  .. اتضحت .. الاستعلام يضيف للكود اسماء مستعارة للحقل وللجدول 

قام بنشر
8 دقائق مضت, ابوخليل said:

 


Dim db1 As Database
Dim rs As Recordset
Set db1 = CurrentDb
Set rs = db1.OpenRecordset("SELECT tblcomIn.Datem FROM tblcomIn GROUP BY tblcomIn.Datem")
MsgBox rs.RecordCount

 

 

اعتقد ابا خليل يحتاج الكود اعلاه المرور على السجلات بجملتي التحرك لاول السجلات ثم التحرك لاخر السجلات لبعطيك العدد الفعلي

دمتم بخير

  • Like 1
قام بنشر
1 دقيقه مضت, ابوخليل said:

صحيح .. لا شك ان جملة سلكت اسرع  

السؤال الآن استاذنا  كيف اعلن  عن هذا الرقم الناتج ؟

لم افهم المطلوب تمام يا غالي

هل تقصد كيف تحصل على الرقم ؟ حدد المكان ؟

  • Like 1
قام بنشر

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

2. تحفظ الاستعلام و تستخدم دالة لوك اب

3. تحفظ الاستعلام التجميعي كما بمشاركتك وتستخدم دي كاونت

4. دالة بالكود

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

تحياتي

  • Like 1
قام بنشر
7 دقائق مضت, رمهان said:

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

الذي عندي بعضا مما عندكم ، جزاك الله خير 

8 دقائق مضت, رمهان said:

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

2. تحفظ الاستعلام و تستخدم دالة لوك اب

3. تحفظ الاستعلام التجميعي كما بمشاركتك وتستخدم دي كاونت

4. دالة بالكود

الثلاث الاول واضحة ومفهومة .

نريد الرابعة  لا حرمك الله الأجر

  • Like 1
قام بنشر

الاعلان عن القيمة وبدون المرور على السجلات

  لانها حقل واحد  :smile:

Dim rs As Recordset
Set rs = CurrentDb.OpenRecordset("SELECT Count(*) as expr1 FROM (SELECT DISTINCT tblcomIn.Datem FROM tblcomIn)as expr2 ")
MsgBox rs!expr1

شكرا ابا جود ،،،

قام بنشر (معدل)

فكرة حلو استاذ ابو اخليل

زالرساله بتكون بهذا الشكل

Dim rs As Recordset
Set rs = CurrentDb.OpenRecordset("SELECT Count(*) as expr1 FROM (SELECT DISTINCT tblcomIn.Datem FROM tblcomIn)as expr2 ")
MsgBox " (  عدد ايام العمل الفعلية  " & "  ( " & rs!expr1 & " ", vbOKOnly + vbInformation, "  تنبيه "


 

تم تعديل بواسطه ابو ياسين المشولي
  • Thanks 1
قام بنشر
36 دقائق مضت, ابوخليل said:

الاعلان عن القيمة وبدون المرور على السجلات

  لانها حقل واحد  :smile:


Dim rs As Recordset
Set rs = CurrentDb.OpenRecordset("SELECT Count(*) as expr1 FROM (SELECT DISTINCT tblcomIn.Datem FROM tblcomIn)as expr2 ")
MsgBox rs!expr1

شكرا ابا جود ،،،

جميل استاذ 

ممكن نختصره كالتالي وداخل دالة لكي اناديها من اي مكان ()xc=

Function xc()
xc = CurrentDb.OpenRecordset("SELECT Count(*) FROM (SELECT DISTINCT tblcomIn.Datem FROM tblcomIn)")(0)
End Function

تحياتي 

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