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

تحديث حقل بجدول طرف من جدول اطراف


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

اخوانى واخواتى الكرام

عندى جدول رئيس للموظفين (طرف) بيانات اساسيه  وجدول اخر (اطراف) للتقارير السريه كل سنه لها تقرير للموظف الواحد

عايزه  اخر سنتين من هذا الجدول يتم نسخهما بالجدول الاساسى الرئيسى حيث يوجد به حقلين لاستقبال  رتبه هذه التقارير

مرفق قاعده وبها المطلوب

مع شكرى لحضراتكم

db1.rar

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

20 دقائق مضت, ساره عبدالمنعم said:

عندى جدول رئيس للموظفين (طرف) بيانات اساسيه  وجدول اخر (اطراف) للتقارير السريه كل سنه لها تقرير للموظف الواحد

عايزه  اخر سنتين من هذا الجدول يتم نسخهما بالجدول الاساسى الرئيسى حيث يوجد به حقلين لاستقبال  رتبه هذه التقارير

::: مالفائدة من تكرار بيانات الجدول Emp المرتبطة .... يمكن عمل استعلام بذلك .. او الاستعانة بدالة Dmax ... هذا ان كنت فهمت سؤالك جيدا .

Last years.rar

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

وعليكم السلام أختي:smile:

 

تابعيني بالصور:

السنة الاعلى والاقل لكل رقم

655.Clipboard01-1.jpg.a7340a811c212cb74b96d6f6bb60ef15.jpg

.

والنتيجة

655.Clipboard04.jpg.14c2c118ee20836262134ab164393885.jpg

.

والآن لنستخرج القيم الاعلى والاقل

655.Clipboard02-2.jpg.8147abe8620c84cc1c2cf0e086ceb335.jpg

.

والنتيجة:

655.Clipboard05.jpg.fc8f09cef4e057225434e9ea511c9298.jpg

.

ثم نأخذ هذه النتيجة الى استعلام تحديث للجدول emp

655.Clipboard03-5.jpg.11ca6a9d9589cf0c547b8227c52ca229.jpg

.

والنتيجة في الجدول:

655.Clipboard06.jpg.53ab670a89cec1216b22000f1d37bb3e.jpg

.

جعفر

655.db1.mdb.zip

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

47 دقائق مضت, عبد الفتاح كيرة said:

هل هذه النتيجة صحيحة

 

::: اهلا اخي عبد الفتاح .. الاستاذ جعفر استخدم Max 1917    و  Min 1913  ..... وليس قبل الاخيرة ... ملاحظة جيدة .

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

افترضت - على غير المطلوب- أن 

المطلوب سنتان محددتان هما 1916 - 1917

و هذا المرفق

ربما يحتاجه أحد غير الأخت السائلة

655kera.db1.rar

تم تعديل بواسطه عبد الفتاح كيرة
  • Like 1
رابط هذا التعليق
شارك

المطلوب اخر سنتان ايا كانت نحن الان فى سنه 1917  يكون المطلوب تقرير 1916 -1917

السنه القادمه يكون المطلوب هما تقرير 1917- 1918 وهكذا

مع شكرى لحضرتك استاذ عبدالفتاح

تم تعديل بواسطه ساره عبدالمنعم
  • Like 1
رابط هذا التعليق
شارك

9 دقائق مضت, ساره عبدالمنعم said:

المطلوب اخر سنتان ايا كانت نحن الان فى سنه 1917  يكون المطلوب تقرير 1916 -1917

السنه القادمه يكون المطلوب هما تقرير 1917- 1918 وهكذا

مع شكرى لحضرتك استاذ عبدالفتاح

نعم أدرك أن هذا ليس هو المطلوب

لكن قد يحتاجه آخرون

أما الحصول على آخر سجل (سجل واحد)

فهو مطلب معتاد

أما الحصول على أحدث سجلين

فقد بحثت كثيرا عنه فلم أجده

و أتمنى أن يتحفنا  أستاذنا جعفر بما لديه

فيكون هذا إنجازا عظيما

وفقكم الله

لدينا حالة مشابهة

 هى جدول درجات الموظف

يسجل فيه الدرجات الوظيفية التى حصل عليها و كل درجة بتاريخ

و نريد جلب آخر درجتين إلى جدول بيانات الموظف

حيث يطلب دائما

الدرجة الحالية

الدرجة السابقة

 

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

الفاضل الكريم الاستاذ محمد نجار

جدول التقارير هو جدول تاريخى يسرد جميع تقارير الموظف فى حياته وقد يصل مثلا لعسرين او ثلاثين سنه 

وفائدته للاطلاع على تقارير الموظف  فى حاله فو تمت ترقيته لوظيفه عليا فهم يشترطون دائما ان يكون الموظف تقاريره كلها امتياز

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

اتمنى ان تكون الفكره صائبه واقنعت بها حضرتك  

انا فضلت هذا الاسلوب عن اجراء استعلام تجميعى  يشمل الجدولين معا 

 

الاستاذ الفاضل الكريم عبدالفتاح حغظكم الله

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

يتطلب عمل ذلك به

شكرا لحضرتك استاذ عبدالفتاح اتعبتكم معى

الفاضل الكريم الاستاذ جعفر حفظكم الله

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

لكن يتطلب ذلك عمل   ثلاثه استعلامات

طالما لا يوجد حلا غيره الان فالامر لله وحده  لان اى خلل لا قدر الله يدمر حياه موظف ويعطيه مرتبه خطأ 

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

والشكر للاساتذه الاتاسذ عبدالفتاح والاستاذ محمد نجار 

كل عام وحضراتكم بخير بمناسبه شهر رمضان المعظم اعاده الله عليكم بالخير وعلى المسلمين جميعا

تم تعديل بواسطه ساره عبدالمنعم
  • Like 1
رابط هذا التعليق
شارك

35 دقائق مضت, عبد الفتاح كيرة said:

أما الحصول على أحدث سجلين

فقد بحثت كثيرا عنه فلم أجده

 اذا تريد ان تحصل الى احدث سجل انت ستحتاج حقل اخر وهو حقل الان اي NOW

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

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

23 دقائق مضت, Shivan Rekany said:

 اذا تريد ان تحصل الى احدث سجل انت ستحتاج حقل اخر وهو حقل الان اي NOW

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

المطلوب أحدث سجلين اثنين

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

39 دقائق مضت, عبد الفتاح كيرة said:

المطلوب أحدث سجلين اثنين

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

اولا عملت استعلام لكي احصل على احدث سجل 
ثانيا عملت استعلام لكي احصل على كل الاسماء في الجدول عدا اسم اللي في استعلام الاول

ثالثا على استعلام الثاني انا عمل استعلام اخر لكي احصل على احدث سجل بينهم

بعدين عملت استعلام تجميع يونيون لكي احصل اجمع كلا السجلين مع البعض

واحتمال ان يكون هناك طرق مبسط من هذا 

اتفضل مع القاعدة

 

احدث 2 سجلين.rar

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

4 دقائق مضت, عبد الفتاح كيرة said:

باقى استعلام تحديث للجدول employees

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

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

2 ساعات مضت, عبد الفتاح كيرة said:

أما الحصول على أحدث سجلين

نعم اعرف انا لا استخدمت قاعدة بياناتها لان بعد ما وضح  لي المطلوب
الى اختنا @ساره عبدالمنعم مثلا السنين تابع لموظف الاول مثلا هما 1914 و 1915 و 1916 و 1917
ولموظف اخر هو 1915 و 1916 و 1917 و 1918

ولموظف اخر هو 1915 و 1916 و 1917 و 1918 و 1919
ما تريد الان
هل تريد ان يظهر لكل موظف سنتين الاخرين ام تريد ان تظهر السنتين الاخرين 1918 و 1919 وفي هذه الحالة سيكون للموظ الاول ما بها اي سجل
 

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

المطلوب السنتان الأخيرتان أيا كانا

يتغير ذلك سنويا

و مع ذلك فقد توصلت لحل بسيط جدا

يتطلب إضافة واحدة

و هى 

حقل فى جدول REPORT

يسجل فيه رقم تقرير الموظف

يعنى رقم داخلى غير الرقم العام المسلسل

كما بالصورة MYPIC.PNG.80adc3774d71baec49b6ed3e4a3309e3.PNG

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

DLookUp("[REP]";"REPORT";"[EMP_ID]=" & [EMP_ID] & "AND [EMP_TAQNO]=" & DCount("[EMP_ID]";"REPORT";"[EMP_ID]=" & [EMP_ID]))

و مفادها

البحث عن القيمة فى حقل REP  بالجدول REPORT بحيث

أولا : تساوى رقم الموظف

ثانيا : رقم تقرير الموظف = عدد تقاريره التى حصل عليها (هذا لتقرير العام الحالى

و عدد تقارير الموظف -1   و هذا لتقرير العام السابق

و نبتعد عن التواريخ غير المنضبطة

هاكم الملف بعد التعديل

655keraFINAL.db1.rar

وشكرا لتعاونكم

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

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

 

انا قرأت الموضوع بالخطأ ، قرأته اول وآخر سنه ، فأعتذر:blink:

 

ارى انكم ما شاء الله اكملتوا الموضوع ، ولكني هنا اعطيكم الحل بنفس الطريقة السابقة :

655.Clipboard07.jpg.898fd6ba36e15d1f8ca14f835be1a4f0.jpg

.

والنتائج:

655.Clipboard08.jpg.cc9a61e237d8197f68161b42b0f4bbad.jpg

.

ولكن في شيء لم انتبه له البارحة لما وضعت جوابي ، وهو ان السنة في الجدول emp هو نص وليس رقم ، والذي معناه اننا يجب ان نحوله الى رقم قبل ان نأخذ Max ، وإلا فلن نحصل على السنة الصحيحة (صحيح ان النتائج الان ستكون صحيحة ، ولكننا نعرف ان تسلسل النص يكون غير صحيح ، وتسلسل الرقم يكون صحيح)

 

3 ساعات مضت, ساره عبدالمنعم said:

لكن يتطلب ذلك عمل   ثلاثه استعلامات

طالما لا يوجد حلا غيره الان فالامر لله وحده  لان اى خلل لا قدر الله يدمر حياه موظف ويعطيه مرتبه خطأ 

 

أختي ، لا تهتمي بالاستعلامات الاولى ، فالاستعلام الاخير qry_Update_Values سيأخذ القيم بنفسه ويُتم التحديث:smile:

 

جعفر

655.db1.mdb.zip

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

سؤال للأستاذ @jjafferr  

لماذا استخدمت  دالة int  هنا

مع أن الرقم صحيح

وقد تم تحويل النث إلى رقم باستخدام  val

و شكرا لكم

و حبذا لو شرحت لنا ما تم بعد ذلك من ربط الاستعلامات

وفقكم الله

 

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

مشاركة 

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

Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim j, i, ii, x As Integer
Dim r, rr As String
  Set db = CurrentDb
  Set rs = db.OpenRecordset("emp")
  rs.MoveLast
  rs.MoveFirst
For j = 1 To rs.RecordCount
x = rs!emp_id
i = DMax("rep_year", "report", "emp_id=" & x)
ii = DMax("rep_year", "report", "emp_id=" & x) - 1
r = DLookup("rep", "report", "val(rep_year) =" & i & " and emp_id=" & x)
rr = DLookup("rep", "report", "val(rep_year) =" & ii & " and emp_id=" & x)
 rs.Edit
  rs!rep_last = r
  rs!rep_befor = rr
  rs.Update
  rs.MoveNext
 Next j
MsgBox "تم"
Set db = Nothing
Set rs = Nothing

 

تحديث حسب سجل وما قبله.rar

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

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

ولكن في شيء لم انتبه له البارحة لما وضعت جوابي ، وهو ان السنة في الجدول emp هو نص وليس رقم ، والذي معناه اننا يجب ان نحوله الى رقم قبل ان نأخذ Max ، وإلا فلن نحصل على السنة الصحيحة (صحيح ان النتائج الان ستكون صحيحة ، ولكننا نعرف ان تسلسل النص يكون غير صحيح ، وتسلسل الرقم يكون صحيح)

 

لتوضيح ما قلته اعلاه:

عملت جدول tbl_Numbers فيه حقلين ، احدهما نص str_Numbers والآخر رقم int_Numbers ، وادخلت الارقام من 1 الى 21 في كليهما ، 

1 و 2. من النظر الى تنسيق البيانات في الجدول او الاستعلام ، نستطيع ان نعرف نوع الحقل ، نرى ان حقل الرقم 1 يميل الى اليمين ، بينما حقل النص 2 يميل الى اليسار ،

3. نستخدم حقل النص str_Numbers مع الامر Max ، ونرى انها ليست النتائج الصحيحة ، وهذا الذي كنت احذر منه في ملاحظتي في مشاركتي السابقة ، وللأسف وقع أخي ابوخليل في هذا الفخ (جرب الكود على الارقام التي وضعتها انا وسترى قصدي):')

والاسوء ان نتيجة الاستعلام ، احدهما نص والآخر رقم (انظر الى تنسيق الاستعلام وملاحظتي رقم 1 و 2 اعلاه) ،

4. تم تحويل بيانات الحقل str_Numbers الى ارقام ، وثم استعمل الامر Max ، فنحصل على النتائج الصحيحة بصيغة رقم ، وهذا الذي عملته في برنامجي اعلاه:smile:

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

لذا اضطررت ان احول بيانات الجدول من نص الى ارقام  بواسطة val او int ، وهذا جواب السؤال:

8 ساعات مضت, عبد الفتاح كيرة said:

لماذا استخدمت  دالة int  هنا ، مع أن الرقم صحيح

وقد تم تحويل النث إلى رقم باستخدام  val

 

اذن ، كل هذه الخطوات عملناها ، بسبب ان السنة في المرفق الاصل هو حقل نص وليس حقل رقم ،

 

5. بينما لو كان الحقل رقم ، لكنا نقتصر على هذه الطريقة:smile:

655.1.Clipboard01.jpg.d3cfa074a1f1500afabfaf54fbac458c.jpg

.

جعفر

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

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