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

العمليات الحسابية في أكسس

رائج
بدأه الفهد138 في 1 ديسمبر 2004 · 55 رد · 60,902 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

إخواني في الله

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

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

شروط الاشتراك : (ولكم الحرية في الاضافة أو الحذف ).أو حذف الموضوع بالكلية

1- أن يوضح الهدف من العملية الحسابية

2- أن تشرح طريقة عمل العملية الحسابية

3- أن يكون الشرح وافي في نفسه وبالشرح الممل (أي يتخيل أن المستفيد مبتدئ لا يعرف شئ في الاكسس )وأهل الخبرة الله يعينهم يصبرون

4- إذا كانت العملية معقدة أرفق المثال

5- إذا كانت العملية تم التطرق لها من قبل أرفق الرابط وإذا كانت تحتاج إلى شرح اشرحه

ارجو من جميع الاخوة المشاركة

ولا تحتقر المعلومة التي عندك مهما كان صغرها

( ما رأي المشرفين في فصل الاستعلام بموضوع والنماذج بموضوع والتقارير بموضوع وإلا هذا ما يحتاج) في هذا الموضوع بالذات

ملاحظة:

إذا كنت أخطأت بالموضوع أو تعديت على الآخرين اعتذر اعتذر اعتذر

2
#2

وهذه البداية :

الهدف من العملية:

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

الادوات المطلوبة :

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

اريد أن أجمع الدفعة الاولى مع الدفعة الثانية

طريقة الجمع :

1- اذهب إلى استعلام جديد

2- تظهر نافدة بها الجداول التي عملتها -اعمل إضافة للجدول المراد الجمع لحقوله وليكن جدولنا مبالغ

3- اسحب الحقول المراد جمعها مثلاً وضعها في الاستعلام السفلي : دفعة أولى - دفعة ثانية

4-اذهب لخانة فاضية بعد الحقلين المنزّلة وكتب أولا اسم الحقل الذي تريد ان يظهر به الحقل الجديد وليكن ( المجموع )ثم نقطتين فوق بعض ثم القوس المركن ثم اسم الحقل ... حسب الطريقة التالية

ملاحظة : الاقواس السابقة ليس لها دخل في الجمع والتي تخص الجمع أسفل

5- المجموع : [الدفعة أولى]+[دفعة ثانية]

وتعمل الطريقة مع أكثر من حقلين

وكذلك الطرح وكذلك القسمة والضرب

#3

بسم الله الرحمن الرحيم

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

أخيكم أبو نعيم

#4

اشكرك يا اخي

انا جديد على المنتدى وجديد على اكسس

لكن والله استفدت من مثالك

الان اذا اردت ان اجعل حقل دائما يجمع لي التوتال total

اشلون

#5

جمع لكل فئة

الهدف من العملية :

حصول على جمع لكل فئات الحقل

( أريد أن أحصل على عدد الاشخاص الذين في كل من المدن التالية : الرياض - الدمام - جدة - مكة

الأدوات المطلوبة :

1-جدول باسم :شخصية

2- حقول الجدول : رقم الشخص - اسم الشخص - المدينة

3- عمل استعلام جديد بأي اسم وأضف فيه جدول شخصية

شرح طريقة عمل الجمع لكل فئة :

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

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

نذهب للحقل الفارغ بجوار الحقل الذي وضعناه ونكتب التالي

مجموع الاشخاص حسب المدن :المدينة

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

عليها المؤشر يظهر مسمى هذه الأيقونة باسم ( مجاميع )اضغظ عليها

تجد أنه ظهر حقل اسمه إجمالي ومقابله تجميع حسب

في الحقل الثاني عدل من تجميع حسب إلى Count

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

#6

أخي العزيز nasermh

الأولى والأفضل في النماذج أو التقارير

أما إذا أردت في استعلام جديد فهذا ممكن وذلك عن طريق عمل استعلام جديد ثم اختر الاستعلام الذي عملته فيه المجموع ونزل المجموع ثم مجاميع

من الشريط كما ذكرت سابقاً ثم اختر sum

أما في نفس الاستعلام فلا أعلم ويفيدوك الاخوان كما أفادوني

ولكن عما قلت لك في التقرير أو النماذج أفضل لك وما الفائدة منها في الاستعلام شكراً وعذراً

#7

جزاك الله خيرا على المعلومة ولكن حاولت أني أطبق على كلامك

ولكن ما نفعت الطريقة

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

أبو وائل.zip

#8

السلام عليكم

أشكركم أخواني على طرح الموضوع

عندي سؤال : كيف لي أن أجمع مجموع حقل معين في نموذج أو تقرير ، مع ملاحظة أن هذا الحقل الذي أريد أن أحصل على مجموعه نفسه يأخذ قيمته من مجموع حقلين .

مثال :

عندي كمية من رزم الورق :

الحقل الأول : عدد الرزم

الحقل الثاني : كمية الورق في الرزمة الواحدة .

الحقل الثالث : بالطبع = الحقل الأول × الحقل الثاني .

المطلوب : كيف لي أن أحصل على مجموع الحقل الثالث ( سواء كان ذلك في النماذج أم في التقارير )

ولكم خالص تحياتي ( الشاعر )

#9

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

أخي ابو وائل

أزل من العبارة التي أضفتها كلمة sum والقوسين الصغيرتين

تفضل المثال

أبو وائل.zip

#10

اخي العزيز الشاعر

استعجلت سوف يأتي دور النماذج والتقارير

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

أولا : هل استفدت من المثال الأول إذا عملته تكون عملت الخطوة الأولى

ثانياً : اعمل على الاستعلام الذي عملته نموذج

ثالثاً : اعمل مربع نص عير منضم جديد في النموذج طبعاً في ذيل النموذج أو رأسه

رابعاً : حدد مربع النص الذي عملته ( أي انقر عليه نقرة واحدة يتحدد بمربعات )

خامساً : اض0غط على زر الفأرة الأيمن تظهر من ضمن المجموعات خصائص اخترها

سادساً : حدد الكل ثم منه ضع المؤشر داخل مصدر عنصر التحكم ثم اكتب التعبير التالي:

=Sum([لحقل الثالث])

هنا فيه بعض اللخبطة في التعبير ولكن لو نسخته كان أفضل

اما إذا أدرت جمع الحقلين في النموذج

فغير التعبير من sum إلى التالي:

=[الحقل الأول]+[الحقل الثاني]

#11

السلام عليكم

أشكرك أخي الفهد على هذا التجاوب

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

ولكن المشكلة التي تواجهني ليست في جمع حقل ذو قيم عادية ، أي :

لو أردت مجموع الحقل الأول لكتبت المعادلة

=Sun([الحقل الأول])

وهكذا بالنسبة للثاني

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

أرجو إفادتي للأهمية ، وبالفعل أخي الفهد أنا مستعجل على الرد ، ولكم سعدت بعد أن قرأت وتصفحت هذه المشاركة الجميلة ، والتي أتمنى أن تجد حلا لمشكلتي ، ولا بأس بإرفاق مثال إن كنت ( أنا ) مخطأ في أحد تفسيراتي لما أريد

أرجو منك أخي الفهد التكرم علينا بإرفاق مثال لذلك لكي تجرب أنت أيضا عمليا ما أريد .

تحياتي ( الشاعر )

#12

آسف المعادلة التي في الأعلى خطأ ، والصحيح هو :

=sum([الحقل الأول])

تحياتي ( الشاعر )

#13

مرحبا يا شباب

هذه أول مشاركة لي

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

وكنت في حاجة للحصول لأفضل حل لعمل حساب مجموع ولكن في النماذج وليس في الكويري

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

أولا عملت نموذج كالتالي:

2.JPG

(1) اضغط بالزر الأيمن عليه ثم properties

(2) اختر On lost focus واضغط على النقط

يطلعلك مثل الصورة التالية:

3.JPG

(3) تختار Code Builder

(4) ثم OK

تطلع لك الصورة التالية ، فأنا قمت بجمع المتغيرات بالطريقة التالية

وعليك أن تنسخه على On lost focus لكل متغير على حدة مثل ما في الصورة

1.JPG

أتمنى أن أكون وفيت في طريقة الشرح وأتمنى الإستفادة والانتقاد إن وجد

ولكم مني جزيل الشكر

1
#14

ألف ألف مشكور أخي العزيز الفهد 138 وجزاك الله خيرا

وجعل ذالك في ميزان حسناتك

#15

up

#16

up

#17

UP

#18

أخي الكريم ،،، الشاعر 815 ،،، السلام عليكم ورحمة الله وبركاته

يوجد لحل مشكلتك عدة حلول سوف أطرح لك الآن الحل رقم ( 1 ) :

الحل الأول : هو أن تضيف حقلاً ثالثاً في الجدول وليكن بإسم ( مجموع الورق )

ما رأيك في شرح للبرنامج من البداية :

أنشيء جدول وليكن بإسم ( tb1 ) مثلا .

ضع في هذا الجدول عدد ثلاثة حقول :

الحقل الأول : ( a ) توجد خاصية للحقل بإسم ( تسمية توضيحية ) ضع فيها تعريفا لهذا

الحقل ( عدد الرزم ) .

الحقل الثاني : ( b ) وتعريفا لهذا الحقل ضع ( كمية الورق في الرزمة الواحة ) .

الحقل الثالث : ( c ) وتعريفا لهذا الحقل ضع ( مجموع الورق ) .

طبعا سوف تكون خاصية ( نوع البيانات ) للحقول الثلاثة هي من نوع ( رقم ) .

تعمل نموذجاً لهذا الجدول وتضع في حدث بعد التحديث لحقلي ( عدد الرزم ) و ( كمية الورق في الرزمة الواحدة ) أن حقل ( مجموع الورق ) يساوي ( عدد الرزم × كمية الورق في الرزمة الواحدة ) . هكذا :

c = a * b

وتعمل حقلاً غير منضم وليكن بإسم ( tot ) وتضع مصدر هذا الحقل هو :

=Sum([c])

أي مجموع ما في الحقل ( c ) من الأوراق . وبهذه الطريقة تكون قد تغلبت على هذه المشكلة .

مرفق لك مثال على هذا الشرح ،،،

تحياتي : أبو عقيل

عملية حسابية1.rar

1

المسلم من سلم الناس من لسانه ويده

#19

أخي الكريم ،،، الشاعر 815 ،،، السلام عليكم ورحمة الله وبركاته

الحل رقم ( 2 ) : في حالة عدم رغبتك في عمل حقلاً ثالثاً لمجموع الورق عليك بإستخدام الاستعلام في عملية ( ضرب الحقلين ) وليس في النموذج ،،،كما في المثال المرفق .

تصفح المثال ،،، سوف أضع لك الطريقة الخطأ ،،، والطريقة الصحيحة .

مع خالص تحياتي : أبو عقيل

عملية حسابية2.rar

1

المسلم من سلم الناس من لسانه ويده

#20

أخي الكريم ،،، الشاعر 815 ،،، السلام عليكم ورحمة الله وبركاته

الحل رقم ( 3 ) لهذه المشكلة وهي مشكلة المجموع هي إستخدام قاعدة ( Dsum ) لعرض مجموع الورق في أسفل النموذج ،،، ضع هذا الكود في حقل ( tot ) :

=DSum("[a]*";"tb1")

مرفق المثال للتوضيح ..

تحياتي : أبو عقيل :D

عملية حسابية3.rar

المسلم من سلم الناس من لسانه ويده

#21

العمليات الحسابية في الاكسيس

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

1. العمليات الحسابية المعرّفة مسبقاً، والتي تسمى "إجماليات" لحساب الكميات التالية الخاصة بمجموعة من السجلات أو كافة السجلات المدمجة في الاستعلام وهي: المجموع أو المتوسط أو العدد أو الحد الأدنى أو الحد الأقصى أو الانحراف المعياري أو التباين. .

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

عند عرض نتائج عملية حسابية في أحد الحقول، لا يتم بالفعل تخزين هذه النتائج في الجدول المصدر. بدلاً من ذلك، يقوم Microsoft Access بإعادة تشغيل العملية الحسابية في كل مرة تقوم فيها بتشغيل الاستعلام، وبالتالي تستند النتائج دائماً إلى أحدث البيانات في قاعدة البيانات. لذلك، لا يمكنك تحديث النتائج المحسوبة يدوياً.

نبدأ الان برقم ( 1) العمليات الحسابية

لعرض نتائج عملية حسابية في حقل، يمكنك استخدام عمليات حسابية معرّفة مسبقاً يوفرها Access أو عمليات حسابية مخصصة تقوم أنت بتعريفها. استخدم العمليات الحسابية المعرّفة مسبقاً، والتي تسمى الدالات التجميعية وهي دالة مثل Sum أو Count أو Avg أو Var ُتستخدم لحساب المجاميع. أو "الإجماليات"، إذا كنت ترغب في حساب الكميات التالية لكافة السجلات أو لمجموعة من السجلات وهي: المجموع أو المتوسط أو العدد أو الحد الأدنى أو الحد الأقصى أو الانحراف المعياري أو التباين. فتختار عملية حسابية واحدة لإجماليات كل حقل ترغب في حسابه

يمكنك حساب بعض أنواع الإجماليات باستخدام "معالج الاستعلامات البسيطة". أو يمكنك حساب كافة أنواع الإجماليات باستخدام الصف الإجمالي في شبكة تصميم الاستعلام، حيث تحدد دالة تجميعية للعملية الحسابية التي ترغب في إجرائها على أحد الحقول. يمكنك أيضاً، في شبكة تصميم الاستعلام، تحديد معايير لتنفيذ العمليات الحسابية وإصدار نتائج استعلام مختلفة. يمكنك، عن طريق إضافة معايير، وضع حدود لـ:

أ .المجموعات قبل تنفيذ العمليات الحسابية على هذه المجموعات.

ب. النتائج بعد تنفيذ العمليات الحسابية على المجموعات.

ج . السجلات قبل تجميعها وقبل تنفيذ العمليات الحسابية.

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

t1.gif

دالات Frist و Last

يمكنك استخدام دالات First أو Last لإرجاع السجل الأول أو الأخير في المجموعة التي تقوم بإجراء عمليات حسابية عليها. تقوم هذه الدالات بإرجاع السجل الأول أو الأخير بالحالة التي كان عليها عند إدخاله بترتيب زمني. لا يؤثر فرز السجلات على هذه الدالات

خيارات Group By و Expression و Where

t2.gif

العمليات الحسابية المخصصة والحقول المحسوبة

يمكنك، بواسطة الحساب المخصص، إجراء عمليات حسابية نصية أو رقمية أو تلك الخاصة بالتواريخ على كل سجل باستخدام بيانات من حقل واحد أو أكثر. على سبيل المثال، يمكنك، بواسطة الحساب المخصص، ضرب قيم أحد الحقول في عدد معين، أو الحصول على الفرق بين تاريخين مخزنين في حقلين منفصلين، أو جمع العديد من القيم في الحقل "نص"، أو إنشاء استعلامات فرعية (استعلام فرعي: العبارة SQL SELECT التي تكون في استعلام إجرائي أو تحديد آخر.. فباستخدام الخيارات الموجودة في الصف الإجمالي في شبكة التصميم، يمكنك إجراء العملية الحسابية على مجموعات من السجلات وحساب المجموع أو المتوسط أو العدد أو أي نوع آخر من الإجماليات على الحقل المحسوب.

بالنسبة للعمليات الحسابية المخصصة، ينبغي إنشاء حقل محسوب جديد في شبكة التصميم مباشرةً. يمكنك إنشاء حقل محسوب بواسطة إدخال تعبير في خلية حقل فارغه في شبكة تصميم الاستعلام

يمكن أن يتكون التعبير من عمليات حسابية متعددة كما هو موضح في المثال التالي:

Sum([UnitsInStock]+[UnitsOnOrder])

يمكنك أيضاً تعيين معايير لحقل محسوب للتأثير في نتائج العملية الحسابية.

مع ذلك، ليس من الضروري عرض نتائج عملية حسابية في حقل. بدلاً من ذلك، يمكنك استخدامها كمعايير لتعيين السجلات التي يحددها الاستعلام أو لتعيين السجلات المطلوب تطبيق إجراء عليها. على سبيل المثال، يمكنك تعيين التعبير التالي في الصف معايير لإعلام الاستعلام بإرجاع السجلات التي تحتوي فقط على قيم في الحقل "التاريخ_المطلوب" والموجودة بين تاريخ اليوم والشهور الثلاثة السابقة لتاريخ اليوم.

Between Date( ) and Date ("m",3,D,Date( )  )

تحديث بيانات باستخدام عمليات حسابية

يمكنك أيضاً استخدام عملية حسابية لتحديث بيانات من خلال استعلام تحديث. على سبيل المثال، يمكنك إدخال التعبير التالي في الخلية تحديث إلى لزيادة كافة القيم في الحقل UnitPrice )سعر الوحدة) بمقدار 5 بالمائة.

Update To : [UnitPrice]*1.05

معالجة القيم الخالية (Null) في عمليات حسابية

لن تتضمن الدالات التجميعية مثل Sum أو Count أو Avg أو Var ُ. سجلات تحتوي على قيم خالية ( Null )

في العمليات الحسابية. على سبيل المثال، تقوم الدالة Count بإرجاع عدد كافة السجلات التي لا تحتوي على قيم "خالية" Null. وإذا كنت تريد البحث عن إجمالي عدد السجلات التي تتضمن قيم "خالية" Null، استخدم دالة Count مع حرف بدل العلامة النجمية (*).

Count (*)

لحساب قيم "خالية" Null عند استخدام الدالات التجميعية الأخرى، استخدام الدالة Nz، التي تقوم بتحويل القيم "الخالية" Null إلى أصفار بحيث يتم تضمينها في عملية حسابية

Freight Percentage:Sum(Nz([Freight], 0)) / Sum ([Subtotal]), 0)*100

عند استخدام عامل تشغيل حسابي + او * او / في تعبير وكانت قيمة أحد الحقول في التعبير "خالية" Null، فسوف تكون نتيجة التعبير بالكامل "خالية" Null. في حالة احتواء بعض السجلات في أحد الحقول المستخدمة في التعبير على قيمة "خالية" Null، يمكنك تحويل القيمة "الخالية" Null إلى صفر باستخدام الدالة Nz كما هو موضح في المثال التالي

Nz ([UnitsInStock] , 0 ) +Nz ([UnitsOnOrder] , 0

وهذا ملف مرفق للشرح

ودمتم سالمين

اختكم

زهره

العمليات الحسابية في الاكسيس.zip

1
#22

الله على هذا الإبداع يا أستاذه زهره الله يعطيك العافية

#23

شكراً جزيلاً

معلومات قيمة

#24

إذا قالت حذامي فصدقوها 000000000فلب القول ما قالت حذامي

ما هي العملية الحسابية لأعلى سعر وأقل سعر على مستوى صف ( وليس عمود ) سواء كود أو تعبير أو استعلام ؟

#25

وجعنا نسأل مرة أخرى نفس السؤال ربما نجد إجابة

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