اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

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

قام بنشر

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

رمضان كريم

وكل عام وأنتم إلى الله أقرب تقبل الله منا ومنكم صالح الأعمال ..

 

.

إذا كان لدى جدول به العديد من الأسماء وكل اسم له تواريخ الحصول على الترقيات ..

 

فهل من الممكن اضافة السنوات البينية كل سنة فى سجل منفرد لكل موظف

أريد زيادة السجلات بحسب السنوات البينية بين كل درجة على سبيل المثال تكون هكذا:

post-29235-0-42990200-1434740366_thumb.j

db1.rar

قام بنشر

أخى الكريم أ/ مارد ..
جزاك الله خيراً ..
.
عندما بدأت التطبيق على المثال .. وضعت التواريخ الآتيه كمثال للموظف رقم 916:
1ـ 1/1/1992 الدرجة الثالثة .. بداية تعيين..
2ـ 1/1/2001 الدرجة الثانية .. ترقية.
3ـ 1/1/2008 الدرجة الأولى .. ترقية.
.....
بالنظر إلى النتيجة وجدت الآتى:
1ـ أعطى تاريخ 1/1/1992 إلى الدرجتين الثالثة والثانية ... والفرض أنها تخص الدرجة الثالثة فقط.
2ـ أعطى لتاريخ 1/1/2001 الدرجة الثالثة والسبب بداية تعيين ...... والصحيح هو الدرجة الثانية والسبب ترقية.
3ـ كذلك أعطى لتاريخ 1/1/2001 للدرجة الأولى ...... والصحيح هو تاريخ 1/1/2008.
4ـ أعطى تاريخ 1/1/2008 للدرجة الثانية.

 

اضافة السنوات2.rar

قام بنشر

لم استوعب المطلوب تماما ! هل ممكن توضيح اكثر ! 

قام بنشر

اخى الكريم

توضيح

زر تسجيل موظف جديد معمول علشان لو فى موظف اسمه مش موجود فى الجدول

يعنى بتسجل منه الموظف اول مره بس والترقيه بتتسجل من الموظف الثانى

 

وابشر طالما الاستاذ  رمهان شرفنا بقدومه باذن الله طلبك محلول :yes:

 

وجرب المرفق دا كدا

 

اضافة السنوات.rar

  • Like 1
قام بنشر

وابشر طالما الاستاذ  رمهان شرفنا بقدومه باذن الله طلبك محلول :yes:

 

البركة فيك استاذ مارد

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

تحياتي

قام بنشر

 

وابشر طالما الاستاذ  رمهان شرفنا بقدومه باذن الله طلبك محلول :yes:

 

البركة فيك استاذ مارد

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

تحياتي

 

 

 

وهذا ملحوظ جدا منكم

 

تسال اولا ثم تزيد فى الاستفسار ثم تتجه الى التحليل وتقلب الموازين الى ان يظن السائل  انه متهم بكثرة سؤالك له  :smile:

 

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

قام بنشر

نعم أخى (مارد ) هذا ما كنت أريده تماماً ....... بارك الله فيك وزادك علماً ..

قام بنشر

.

أستاذى (رمهان) شكراً جزيلاً على مداخلتك ..

وإن كان أ/ مارد قد أتم الإجابة إلا أنه وجب عليًَ الإجابة على استفساركم :
ـ الفكرة سيدى تقوم على إدراج عدد السنوات التى قضاها الموظف فى درجته الوظيفية (بداية تعيينه أو ترقيته) فى سجلات (لكل سنة سجل)..

ـ وبفرض أن الموظف تم تعيينه مثلا فى تاريخ 1/1/1990 وترقيته فى 5/2/2000 ، فإننى أريد حصر تلك السنوات الواقعة بين التاريخين بشكل عينى أى فى صورة سجلات أمامى أياً كان عددها ..

وهذا يفيد فى حالات عملية عديدة مثل النواحى المالية وغيرها ..

.

بارك الله فيكم وجزاكم عنى خيرا ..

قام بنشر

.

أستاذى (رمهان) شكراً جزيلاً على مداخلتك ..

وإن كان أ/ مارد قد أتم الإجابة إلا أنه وجب عليًَ الإجابة على استفساركم :

ـ الفكرة سيدى تقوم على إدراج عدد السنوات التى قضاها الموظف فى درجته الوظيفية (بداية تعيينه أو ترقيته) فى سجلات (لكل سنة سجل)..

ـ وبفرض أن الموظف تم تعيينه مثلا فى تاريخ 1/1/1990 وترقيته فى 5/2/2000 ، فإننى أريد حصر تلك السنوات الواقعة بين التاريخين بشكل عينى أى فى صورة سجلات أمامى أياً كان عددها ..

وهذا يفيد فى حالات عملية عديدة مثل النواحى المالية وغيرها ..

.

بارك الله فيكم وجزاكم عنى خيرا ..

بارك الله فيه اخي عمر والحمد لله الاستاذ مارد كفى ووفى !

قام بنشر

معذرة أساتذتى الكرام أثقلت عليكم .. لكنى أطمع فى كرمكم ..

.

....................... هل يمكن وضع التاريخ بدلا من تكراره؟ .. حتى نصل إلى السنة الحالية؟

.

بمعنى إذا كانت الدرجة هى (الثالثة) مثلا وكان تاريخها هو : 1/1/1990 .. فإن الكود يضع التاريخ مكرراً (1/1/1990) ..

.

فهل يمكن أن يكون التاريخ مسلسلاً :

فى الثالثة:

ـ 1/1/1990

ـ 1/1/1991

ـ 1/1/1992

ـ .....

وهكذا حتى نصل إلى الدرجة التى تليها ..

الثانية:

ـ 5/2/2000

ـ 5/2/2001

ـ 5/2/2002

ـ .......

وهكذا حتى نصل إلى الدرجة التى تليها ..

الأولى:

ـ 3/10/2010

ـ .....

ـ......

حتى تاريخ السنة الحالية ...

قام بنشر

الآن فهمت ! معليش يمكن الصيام له دور ! 

والآن اخي عمر وبعد اذن الاستاذ مارد :

1. هل تريد فرد السنوات في جدول مستقل مرتبط بالجدول الذي باول مشاركة !؟  ام تريده على نفس الجدول ؟!

2. كما ان هناك استفسار مهم : هل الفائدة من فرد السجلات للعرض فقط ( هنا ممكن نستخدم العنصر مربع قائمة )  ام انه سيكون هناك تعديلات عليها وباعمدة جديدة مثلا والكتابة في تلك السجلات المفرودة ! وهنا نحتاج الى فتح سجلات جديدة كما فعل الاستاذ مارد وسواء على نفس الجدول او بجدول مرتبط .

3. ممكن نشوف طريقة عمل برنامجك ! بمعنى ارفاق نموذج الادخال للترقيات !

 

بالتوفيق

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

شكراً أخى (مارد) جزاك الله خيراً ..

 

لكن التواريخ فى حالة الترقية تأخذ قيم اليوم والشهر للتاريخ الأول ..

 

مثلا الدرجة الثالثة:

25/9/21995 الثالثة

25/9/2006 الثالثة

.......

 

.

فى الثانية

 31/1/202 الثانية

25/9/2003 الثانية

........

فى الأولى

1/7/2008 الأولى

25/9/2009

.....

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

شكرا أخى (رمهان) ورمضان كريم ..

... وددت الإجابة على السؤال الأخير أولاً لأنه أساسى ...

.
3ـ الغرض مما أريد هو التعديل على العلاوات السنوية لكل موظف لأحصل على مرتبه السنوى ..
ـ ومن ثم يجب أن تتوافر بياناته الوظيفية كى تستطيع قاعدة البيانات أن تحسب الزيادات السنوية بشكل تلقائى.
.
.... أما الإجابة عن السؤالين الأول والثانى فهى:

1ـ فى الواقع أريد فرد السنوات فى نفس الجدول.
2ـ لا .. السجلات ليست للعرض فقط ، ولكنى سأتعامل معها وفقاً للدرجة، والتاريخ والسبب لكل سنة .. حتى تستطيع قاعدة البيانات إدراج القيم المالية بشكل تلقائى .. من خلال استعلام ..

db2.rar

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

اخينا عمر  ومشاركة مع الاستاذ مارد

هل هذا ماتريد؟

جرب واعطنا ملاحظتك للتعديل مع العلم انني افضل ان تكون في جدول مستقل مرتبط  وبه عمودي الرقم والتواريخ !

 

ملاحظة : تم اضافة عمودين وذلك لمعرفة كل سجل وسجلاته المفرودة فقد تحتاجها في نماذج فرعية او تقارير!

Set rs0 = CurrentDb.OpenRecordset("select distinct id from AddNwee order by id"): rs0.MoveFirst
Do While Not rs0.EOF
rs1 = CurrentDb.OpenRecordset("select * from AddNwee where id='" & rs0(0) & "' order by Daterr").GetRows(DCount("*", "AddNwee", "id='" & rs0(0) & "'"))
DoCmd.SetWarnings False
For i = LBound(rs1) To UBound(rs1, 2)
On Error Resume Next
xn = 1
For ii = Year(rs1(3, i)) To Year(rs1(3, i + 1)) - 1
DoCmd.RunSQL "insert into AddNwee(id,Degr,Daterr,Reasonn,i_d_p) values('" & rs1(1, i) & "','" & rs1(2, i) & "',#" & DateAdd("yyyy", xn, rs1(3, i)) & "#,'" & rs1(4, i) & "'," & rs1(0, i) & ")"
xn = xn + 1
Next ii
Next i
rs0.MoveNext
Loop
DoCmd.SetWarnings True

بالتوفيق

db1.rar

تم تعديل بواسطه رمهان
  • Like 1
  • 2 weeks later...
قام بنشر

جزاك الله كل خير أستاذنا رمهان ...

.

أنظر إلى الحالة المظللة بالصورة ..

نجد الدرجة الثانية وقد تداخلت مع الدرجة الأولى فى التاريخ..

post-29235-0-12285000-1436229009_thumb.j

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