الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلة تقريب تواجهنى ولا اعرف كيف السبيل لحلها؟

بدأه red_scorpion1 في 9 يونيو 2010 · 15 رد · 1,069 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

من x.x0 وحتى x.x2 يتم تقريبها الى 0.00 بمعنى 1.00 الى 1.42 تصبح 1

من x.x3 وحتى x.x7 يتم تقريبها الى 0.50 بمعنى 1.43 الى 1.47 تصبح 1.50

من x.x8 وحتى اخره يتم تقريبها الى 0.00 بمعنى 1.48 الى 1.99 تصبح 2

كذلك النسب التى يحصل عليها الموظف احيانا تكون بها كسر مثل 95.3 % أو 99.8 % واستطعت عملها ولكن المشكلة فى النسب الصحيحة يظهر بجانبها 0 مثل 70.0 % أو 100.0 % واذا قمت بإرجاع الوضع الى الوضع الطبيعى يتم تقريب الارفام 95.3 % إلى 96 % وهكذا فكيف يمكن الغاء 0 الزيادة ؟ كذلك مشكلة التقريب ؟؟

Database4.rar

#2

اخي الكريم

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

حيث تقوم بتحويل الى القيمة الى نص ومعالجتها ثم ارجاعها الى رقم بعد تعديلها ، بالاعتمادعلى تابع

يمكنن مساعدتك اذا احببت بأن تحدد لي الجدول واسم الحقل

وبالتوفيق

#3
masa-sy كتب:

اخي الكريم

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

حيث تقوم بتحويل الى القيمة الى نص ومعالجتها ثم ارجاعها الى رقم بعد تعديلها ، بالاعتمادعلى تابع

يمكنن مساعدتك اذا احببت بأن تحدد لي الجدول واسم الحقل

وبالتوفيق

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

salary * tah2e2 per * tahsel per

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

واشكرك مرة اخرى على مساعدتك واتمنى لك دوام العلم وزيادته واتمنى سرعة الرد

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

From 1.00 To 1.x2 = 1.x0 --------- 1.12 = 1.10 -- 1.52 = 1.50

From 1.x3 To 1.x7 = 1.x5 --------- 1.53 = 1.55 -- 1.57 = 1.55

From 1.x8 To 1.x0 = 1.x0 --------- 1.58 = 1.60 -- 1.98 = 2.00

تم تعديل هذه المشاركة بواسطة red_scorpion1 في 10 يونيو 2010 في 10:05

#4

هل من حل إخوانى الكرام

#5

هل المشكلة عويصة إلى تلك الدرجة ؟ أم أن اكسس لا يستطيع عمل تلك المعادلة ؟

تم تعديل هذه المشاركة بواسطة red_scorpion1 في 11 يونيو 2010 في 00:34

#6

عزيزي red_scorpion1 ،

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

Expr1: IIf((Left(Right(Round(([sm])+0.001,1)-0.001,3),1))<2,0,IIf((Left(Right(Round(([sm])+0.001,1)-0.001,3),1))<7,0,IIf((Left(Right(Round(([sm])+0.001,1)-0.001,3),1))<9,0,1)))

ولكن أخي red_scorpion1 ، هناك نقطة يجب أخذها بعين الإعتبار، أنه يوجد هناك 12 رقم بعد الفاصلة !! وهذه تغيير من كل المعادلات ! أنظر إلىالعملية الحسابية التي عملتها لك ، وذلك لأخذ 3 أرقام بعد الفاصلة فقط

جرب هذا الكود عزيزي وأخبرني بالنتيجة .

ملاحظة عزيزي : غير إسم العمود : صافى المستحق -----> SM

أخي الكود غير مكتمل ، وينقصه فقط الشروط الصحيحة ، يعني أنا وضعت لك إذا كان بين 0 و 2 و .... ولكن لم أضع له ماذا يفعل عند تحقق الشرط ، هذه تركتها حتى نتأكد أولا من أن عملنا صحيح إلى هنا .

تم تعديل هذه المشاركة بواسطة hamidymom في 11 يونيو 2010 في 03:09

post-12787-12741339659298.jpg

ومامن يد إلا يد الله فوقها *** وما من ظالم إلا سيبلى بأظلم

تفضل أخي الكريم | موسوعة الحميدي الذهبية | بأجزائها الثلاثة مع هدية الموسوعة .

#7

hamidymom كتب:

عزيزي red_scorpion1 ،

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

Expr1: IIf((Left(Right(Round(([sm])+0.001,1)-0.001,3),1))<2,0,IIf((Left(Right(Round(([sm])+0.001,1)-0.001,3),1))<7,0,IIf((Left(Right(Round(([sm])+0.001,1)-0.001,3),1))<9,0,1)))

ولكن أخي red_scorpion1 ، هناك نقطة يجب أخذها بعين الإعتبار، أنه يوجد هناك 12 رقم بعد الفاصلة !! وهذه تغيير من كل المعادلات ! أنظر إلىالعملية الحسابية التي عملتها لك ، وذلك لأخذ 3 أرقام بعد الفاصلة فقط

جرب هذا الكود عزيزي وأخبرني بالنتيجة .

ملاحظة عزيزي : غير إسم العمود : صافى المستحق -----> SM

أخي الكود غير مكتمل ، وينقصه فقط الشروط الصحيحة ، يعني أنا وضعت لك إذا كان بين 0 و 2 و .... ولكن لم أضع له ماذا يفعل عند تحقق الشرط ، هذه تركتها حتى نتأكد أولا من أن عملنا صحيح إلى هنا .

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

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

Database4.rar

#8

عزيزي أعلم أن الكود السابق غير مكتمل ، لذا قلت لك جربه أنت لنرى هل هذا طلبك !

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

Expr5: IIf((Right((Abs(Left((Round([sm]+0.001,2)),3)-(Round([sm]+0.001,2)))),1))<=2,(((Round([sm]+0.001,2))-((Right((Abs(Left((Round([sm]+0.001,2)),3)-(Round([sm]+0.001,2)))),1))*0.01))),IIf((Right((Abs(Left((Round([sm]+0.001,2)),3)-(Round([sm]+0.001,2)))),1))<=7,(((Round([sm]+0.001,2))-((Right((Abs(Left((Round([sm]+0.001,2)),3)-(Round([sm]+0.001,2)))),1))*0.01))+0.05),IIf((Right((Abs(Left((Round([sm]+0.001,2)),3)-(Round([sm]+0.001,2)))),1))>=8,(((Round([sm]+0.001,2))-((Right((Abs(Left((Round([sm]+0.001,2)),3)-(Round([sm]+0.001,2)))),1))*0.01))+0.01),0)))

عزيزي نفذت لك هذا الكود فقط في إستعلام : "استعلام سائقين"

Database4.rar

post-12787-12741339659298.jpg

ومامن يد إلا يد الله فوقها *** وما من ظالم إلا سيبلى بأظلم

تفضل أخي الكريم | موسوعة الحميدي الذهبية | بأجزائها الثلاثة مع هدية الموسوعة .

#9

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

#10

hamidymom كتب:

عزيزي أعلم أن الكود السابق غير مكتمل ، لذا قلت لك جربه أنت لنرى هل هذا طلبك !

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

Expr5: IIf((Right((Abs(Left((Round([sm]+0.001,2)),3)-(Round([sm]+0.001,2)))),1))<=2,(((Round([sm]+0.001,2))-((Right((Abs(Left((Round([sm]+0.001,2)),3)-(Round([sm]+0.001,2)))),1))*0.01))),IIf((Right((Abs(Left((Round([sm]+0.001,2)),3)-(Round([sm]+0.001,2)))),1))<=7,(((Round([sm]+0.001,2))-((Right((Abs(Left((Round([sm]+0.001,2)),3)-(Round([sm]+0.001,2)))),1))*0.01))+0.05),IIf((Right((Abs(Left((Round([sm]+0.001,2)),3)-(Round([sm]+0.001,2)))),1))>=8,(((Round([sm]+0.001,2))-((Right((Abs(Left((Round([sm]+0.001,2)),3)-(Round([sm]+0.001,2)))),1))*0.01))+0.01),0)))

عزيزي نفذت لك هذا الكود فقط في إستعلام : "استعلام سائقين"

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

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

061210080622p43cotpsg5z4.jpg

الموظف رقم 7 مبلغه بعد المعادلة 549.11 بينما مبلغه الصحيح 549.20

الموظف رقم 9 مبلغه بعد المعادلة 557.05 بينما مبلغه الصحيح 557.00

الموظف رقم 15 مبلغه بعد المعادلة 422.05 بينما مبلغه الصحيح 422.00

الموظف رقم 18 مبلغه بعد المعادلة 532.21 بينما مبلغه الصحيح 532.25

فأرجوا منك أخى الفاضل تعديل المطلوب وهذا بسبب جهلى بالمعادلة الموضوعة وعدم مقدرتى على فهمها بالكامل وقد ارفقت لك القاعدة بعد عمل إستعلام مندوبى أدوية وهو الذى به الأخطاء

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

Database4.rar

تم تعديل هذه المشاركة بواسطة red_scorpion1 في 12 يونيو 2010 في 18:09

#11

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

#12

203 مشاهدة ولا يوجد اى حل للمشكلة

#13

عزيزي red scorpion

أنظر إلى الصورة

ومن ثم حمل المرفق

وإن شاء الله يكون هذا هو طلبك

post-193655-024497600 1276701277_thumb.p

Database4up.rar

المرفقات
6-16-2010 5-52-47 PM.png

post-12787-12741339659298.jpg

ومامن يد إلا يد الله فوقها *** وما من ظالم إلا سيبلى بأظلم

تفضل أخي الكريم | موسوعة الحميدي الذهبية | بأجزائها الثلاثة مع هدية الموسوعة .

#14

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

rsm: Round(([sm]);2)*100

rrsm: Right([rsm];1)


chek: (IIf([rrsm]>7;(([rsm]-[rrsm])+10);IIf([rrsm]<=2;(([rsm]-[rrsm]));IIf([rrsm]<=7;(([rsm]-[rrsm])+5);5))))/100

والغرض من التوضيح هو فهم الكود وكيفية عمله

وجزاك الله كل خير وزادك من علمه

تم تعديل هذه المشاركة بواسطة red_scorpion1 في 16 يونيو 2010 في 19:22

#15

تكرم عزيزي red scorpion :)

إليك الشرح بالتفصيل الممل :)

سامحني لردائة الشرح ، ولكن هذا الذي بيدي :

blush: :blush:

post-193655-083547500 1276715607_thumb.p

post-193655-076681800 1276715628_thumb.p

post-193655-070854000 1276715652_thumb.p

الشروط التي وضعتها في الشرح هي حسب طلبك عزيزي

المرفقات
1.png2.png3.png

post-12787-12741339659298.jpg

ومامن يد إلا يد الله فوقها *** وما من ظالم إلا سيبلى بأظلم

تفضل أخي الكريم | موسوعة الحميدي الذهبية | بأجزائها الثلاثة مع هدية الموسوعة .

#16

hamidymom كتب:

تكرم عزيزي red scorpion :)

إليك الشرح بالتفصيل الممل :)

سامحني لردائة الشرح ، ولكن هذا الذي بيدي :

blush: :blush:

post-193655-083547500 1276715607_thumb.p

post-193655-076681800 1276715628_thumb.p

post-193655-070854000 1276715652_thumb.p

الشروط التي وضعتها في الشرح هي حسب طلبك عزيزي

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

أخى الفاضل الشرح اكثر من رائع والكود سليم 100% ولكن هناك سؤال اخير

طبعا نظام الحوافز هذا هو شهرى بمعنى انه كل شهر يتم ادخال النسب الموجودة بالبرنامج وهى Tah2e2 per & Tahsel per

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

واشكرك على مساعدتك الدائمة

وبارك الله لنا فيك

تم تعديل هذه المشاركة بواسطة red_scorpion1 في 17 يونيو 2010 في 18:34

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…