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

02.05.2022

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

ملحوظة:لعرض مجموع قيم العمود، يجب عليك تعيين نوع بيانات العمود إلى رقمي أو كسري أو عملة. بالنسبة للأعمدة غير الرقمية، يمكنك فقط تحديد نوع ملخص عدد القيم.

إضافة سطر "الإجمالي".

اختيار النوع الإجمالي

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

لنجعل الجدول في هذا المثال يعرض مجموع القيم الموجودة في الأعمدة سعر الشراءو العناصر المشتراةوالإجمالي للعمود موضع، كما هو موضح في الصورة أدناه.

كيف تعمل الدالات Sum والدوال التجميعية الأخرى

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

لنفترض أنك تستخدم Access لتخزين بيانات المبيعات وتعقبها. باستخدام الوظائف التجميعية، يمكنك حساب عدد العناصر المباعة في عمود واحد، وإجمالي المبيعات في ثانية، ومتوسط ​​المبيعات لكل عنصر في عمود ثالث.

يصف الجدول أدناه وظائف Access التجميعية المتوفرة في صف الإجمالي. تذكر أن هناك وظائف تجميعية أخرى في Access، ولكن يتم استخدامها في الاستعلامات.

وظيفة

وصف

أنواع البيانات المدعومة

متوفر في خط "المجموع"؟

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

عدد القيم

يحسب عدد العناصر في العمود.

كافة أنواع البيانات باستثناء البيانات العددية المتكررة المعقدة مثل عمود القائمة متعدد القيم. لمزيد من المعلومات حول القوائم متعددة القيم، راجع أفضل الممارسات لإنشاء الحقول متعددة القيم وحذفها في البرامج التعليمية للحقول متعددة القيم.

القيمة القصوى

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

، "التاريخ والوقت"

الحد الأدنى للقيمة

إرجاع العنصر ذو القيمة الأصغر. بالنسبة للبيانات النصية، أصغر قيمة هي القيمة الأبجدية الأولى، ولا يعد Access حساسًا لحالة الأحرف. تتجاهل الدالة القيم الفارغة.

"رقمي"، "حقيقي"، "عملة"، "التاريخ والوقت"

الانحراف المعياري

"رقمي"، "حقيقي"، "عملة"

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

"رقم"، "حقيقي"، "عملة"

تشتت

حساب التباين الإحصائي لجميع القيم في العمود. مناسبة للبيانات الرقمية والنقدية فقط. إذا كان الجدول يحتوي على أقل من صفين، فسيقوم Access بإرجاع قيمة فارغة. لمزيد من المعلومات حول وظيفة التباين، راجع القسم التالي.

"رقمي"، "حقيقي"، "عملة"

تعرف على المزيد حول وظائف الانحراف المعياري والتباين

وظائف الانحراف المعياريو تشتتيتم حساب القيم الإحصائية. على وجه الخصوص، يتم استخدامها للقيم التي تقع بالقرب من قيمتها المتوسطة وتخضع لقانون التوزيع الطبيعي (تقع على منحنى غاوسي).

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

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

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

مثال لحساب المبلغ الإجمالي في جدول قاعدة بيانات Microsoft Access دون استخدام استعلام SQL

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

في هذه المهمة، باستخدام جدول Microsoft Access كمثال، يتم حساب المبلغ الإجمالي دون استخدام استعلام SQL. بالإضافة إلى ذلك، يتم حساب الوسط الحسابي لقيم خلايا العمود المحدد.

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

حالة المشكلة

ونتيجة لذلك، يتم تشكيل سلسلة الاتصال في مكون ADOConnection1 (الشكل 2). يحدد هذا السطر نوع موفر البيانات والمسار الكامل لملف قاعدة البيانات.

أرز. 2. سلسلة اتصال مكون ADOConnection1

  1. إعداد المكون ADOConnection1، ADOTable1، DataSource1، DBGrid1.

لعرض جدول قاعدة بيانات، تحتاج إلى تكوين خصائص المكون التالية:

- في مكون ADOConnection1، خاصية LoginPrompt = "خطأ" (الشكل 3) (إلغاء طلب اسم المستخدم وكلمة المرور للوصول إلى قاعدة البيانات)؛

- في مكون ADOTable1، خاصية الاتصال = "ADOConnection1" (الشكل 4)؛

- في مكون DataSource1، خاصية DataSet = "ADOTable1" (الشكل 5)؛

- في مكون DBGrid1، خاصية DataSource = "DataSource1" (الشكل 6)؛

- في مكون ADOTable1، الخاصية TableName = "Worker" (الشكل 7)؛

- في مكون DBGrid1، من خاصية الخيارات، قم بتعيين الخيار dgEditing = false (يمنع إدخال البيانات إلى خلايا الجدول مباشرة من شبكة DBGrid1) (الشكل 8).

أرز. 3. خاصية LoginPrompt لمكون ADOConnection1

أرز. 4. خاصية الاتصال لمكون ADOTable1

أرز. 5. خاصية DataSet لمكون DataSource1

أرز. 6. خاصية مصدر البيانات لمكون DBGrid1

أرز. 7. خاصية TableName للمكون ADOTable1

أرز. 8. خيار dgEditing الخاص بخاصية الخيارات الخاصة بمكون DBGrid1

  1. تفعيل الجدول.

لعرض البيانات في الجدول تحتاج إلى تشغيل الخطوات التالية(الشكل 9):

- حدد الجدول ADOTable1؛

- الخاصية نشطة = صحيح.

بعد ذلك، سيتم عرض بيانات الجدول في DBGrid1.

أرز. 9. الخاصية النشطة لمكون ADOTable1

  1. تحديد أحجام وأشكال المكونات.

والخطوة التالية هي ضبط أحجام المكونات ومواضعها في النموذج، كما هو موضح في الشكل 10.

أرز. 10. استمارة الطلب الرئيسية

  1. إخفاء حقل ID_Worker في DBGrid1.

لكي يكون للجدول المعروض المظهر الصحيح، تحتاج إلى إخفاء حقل ID_Worker، وهو حقل رئيسي. في الجدول، هذا الحقل عبارة عن عداد. عند الإضافة دخول جديديتم إنشاء القيمة الموجودة في هذا الحقل تلقائيًا (زيادة بمقدار 1).

تحتاج أولاً إلى استدعاء المحرر الميداني ("محرر الحقول...") لمكون ADOTable1 من قائمة السياق (الشكل 11).

أرز. 11. استدعاء المحرر الميداني لمكون ADOTable1

سيتم فتح الإطار Form1.ADOTable1. في هذه النافذة، باستخدام الماوس، تحتاج إلى استدعاء قائمة السياق. فيقائمة السياق

حدد الأمر "إضافة كافة الحقول".

ونتيجة لذلك، ستظهر نافذة المحرر كما هو موضح في الشكل 12.

أرز. 12. محرر ميداني

يعرض محرر الحقل Form1.ADOTable1 كافة حقول جدول العامل.

لحذف حقل ID_Worker، تحتاج إلى النقر بزر الماوس الأيمن على سطر ID_Worker وتحديد أمر الحذف في قائمة السياق.

  1. بعد ذلك يمكنك إغلاق المحرر.

ونتيجة لذلك، سيتم عرض حقلين فقط في جدول DBGrid1 (الشكل 13).

أرز. 13. عرض جدول العامل بحقلين

قم بتعيين عامل تصفية الإخراج إلى منزلتين عشريتين في حقل "الراتب".

لكي يتم عرض قيمة المبلغ (منزلتين عشريتين) بشكل صحيح في حقل الراتب، يتعين عليك تنفيذ الخطوات التالية.

حدد مكون ADOTable1.

  1. اتصل بمحرر الحقول "محرر الحقول..." كما هو موضح في الخطوة 6. ونتيجة لذلك، سيتم فتح قائمة تحتوي على حقلين الاسم والراتب.

حدد السطر المسمى الراتب.

سيتم تنشيط الكائن المسمى ADOTable1Salary في Object Inspector.

... الخطوة التالية هي ضبط حقل "تنسيق العرض" في Object Inspector على "0.00" (الشكل 14). أرز. 14. ضبط تنسيق الإخراج في حقل الراتب لكائن ADOTable1 بعد الانتهاء من الخطوات سيتم عرض حقل الراتب في الجدول بدقة 2 منزلة عشرية.(النموذج) ADOConnection1: TADOConnection; DataSource1: TDataSource; ADOTable1: TADOTable؛ DBGrid1: TDBGrid; StaticText1: TStaticText; StaticText2: TStaticText; StaticText1: TStaticText; StaticText3: TStaticText; ADOTable1Name: TWideStringField؛ ADOTable1Salary: TFloatField؛ إجراء FormActivate(Sender: TObject); FormClose(Sender: TObject; var Action: TCloseAction); خاص; ...
  1. (التصريحات الخاصة) مجموع:حقيقي؛ // مجموع

المتوسط: حقيقي؛ // الوسط الحسابي

عام

(تصريحات عامة)

نهاية

StaticText1: TStaticText;برمجة حدث تفعيل النموذج. بمجرد قيام المستخدم بتنزيل البرنامج، تحتاج إلى حساب قيم المجموع والمتوسط ​​الحسابي في الجداول على الفور. ولذلك، تحتاج إلى برمجة الحدث OnActivate الخاص بـ Form1. سيتم استدعاء حدث OnActivate عند تنشيط النموذج بعد تشغيل البرنامج للتنفيذ. تم وصف مثال لبرمجة الأحداث في دلفي بالتفصيل. في حالتنا، يبدو معالج الحدث كما يلي: TForm1.FormActivate(Sender: TObject); فار f:TField; // متغير إضافي من النوع "الحقل"; يبدأ// 1. التحقق من وجود سجلات في الجدول لو ADOTable1.RecordCount = 0ثم مخرج// 2. تعطيل التصور في DBGrid1 ADOTable1.DisableControls; // 3. قم بالتكرار على كافة سجلات جدول العامل // 3.1. انتقل إلى الإدخال الأول ADOTable1.First; // 3.2. إعادة تعيين المبلغ إلى الصفرالمجموع:= 0;<>// 3.3. أخذ قيمة الراتب من السجل الأول f:= ADOTable1.FieldByName("الراتب"); // 3.4. حلقات من خلال السجلات في الجدول // - تحقق لمعرفة ما إذا تم الوصول إلى نهاية الجدولبينما ADOtable1.Eofحقيقي خاص; يفعل يبدأ // 3.4.1. زيادة المبلغ المبلغ:= المبلغ + f.Value؛ // 3.4.2. انتقل إلى الإدخال التالي ADOTable1.Next;// 4. احسب الوسط الحسابي خاص;

متوسط:= مجموع / ADOTable1.RecordCount;

// 5. املأ الأسطر من النوع TStaticText

StaticText1.Caption:= "Sum: " + FloatToStr(sum, ffFixed, 8, 2);

StaticText2.Caption:= "متوسط ​​الراتب:" + FloatToStr(avg, ffFixed, 8, 2);

// 6. تمكين التصور في DBGrid

ADOTable1.EnableControls;

دعونا نشرح بعض أجزاء التعليمات البرمجية.

تعتبر أساليب DisableControls وEnableControls مسؤولة عن تعطيل وتمكين عناصر التحكم المرئية المتصلة بمجموعة بيانات (قاعدة بيانات). يمكن أن يؤدي استدعاء الأسلوب DisableControls إلى تسريع عملية التكرار عبر السجلات بشكل ملحوظ، لأنه سيمنع التطبيق من إضاعة الوقت في إعادة رسم محتويات عنصر التحكم DBGrid1 مع كل تغيير في السجل.

يسمح لك بالحصول على كائن من النوع TField لحقل معين. ثم في هذا الكائن يمكنك الحصول على معلومات من السجل الحالي. في البرنامج للوصول إلى قيم سجلات حقل الراتب يتم استخدام متغير إضافي f من النوع TField.

لقراءة القيمة الموجودة في السجل الحالي لحقل الراتب، ما عليك سوى الاتصال بالمشغل

StaticText1.Caption:= "Sum: " + FloatToStr(sum, ffFixed, 8, 2);

و. القيمة

ADOtable1.Eof

يصبح صحيحًا إذا تم الوصول إلى نهاية الجدول.

ADOTable1.Next

ينفذ الانتقال إلى سجل الجدول التالي.

يتم عرض نتيجة المجموع في خاصية التسمية التوضيحية لمكون StaticText1.

  1. يتم عرض قيمة المتوسط ​​الحسابي في خاصية التسمية التوضيحية لمكون StaticText2.

إطلاق التطبيق للتنفيذ.

الآن يمكنك تشغيل التطبيق.

الناس! ساعدني في تقديم طلب بسيط. يوجد جدول: تنسيق الجدول 1: اسم الطلب | المبلغ | المبلغ الإجمالي لجميع الطلبات هو أول 10 روبل. الثانية 20 فرك والثالثة 30 فرك أخبرني كيف أضيف السطور في عمود المبلغ؟ لعرض النتيجة "المبلغ الإجمالي لجميع الطلبات" = 60 روبل وسيتم إضافة الجدول إليه مع مرور الوقت... أي. سيظهر الطلب رقم 100 أيضًا... وبناء على ذلك، سيكون للطلب رقم 100 مبلغ خاص به. من الضروري إعادة حساب "المبلغ الإجمالي لجميع الطلبات" تلقائيًا، شكرًا مقدمًا على مساعدتك.

8 إجابات
بناء على البيانات المقدمة، هذا مستحيل. كيف يتم تحديد فرز الصفوف في الجدول؟

من السهل القيام بذلك في Excel. على سبيل المثال، الأمر =SUM(A1:A100) - أي. نحصل على مجموع 100 خلية في الجدول. لماذا لا يمكننا القيام بذلك في قاعدة البيانات؟ كل اسم طلب (نص) له رقم (رقم) مطابق. في الواقع، هذه الأرقام (أرقام الطلب) مرتبة. أولئك. مثال:1 | حقيبة | 100 فرك. |2 | الإطارات | 50 فرك. |...100 | كتاب | 60 فرك. |...كيف يمكنني حساب المبلغ الإجمالي لجميع الطلبات (1...100...)؟ mivang

يوجد في Excel ترتيب فعلي للسجلات في الجدول. الذي يحدد ما هو أعلى وما هو أقل. في قواعد البيانات العلائقية هذا الترتيب غير موجود. يتم تحديد الترتيب حسب الفرز المحدد في الطلب، وفي حالة عدم وجوده يمكن أن يكون أي فرز. إذا كنت تريد أن يكون السؤال منطقيًا، وضح بوضوح المعيار الذي يمكنك على أساسه تحديد ترتيب الإدخالات. في المثال أعلاه، هذا هو، على سبيل المثال، رقم السطر. ومع ذلك، لا يوجد مثل هذا الحقل في بنية الجدول الموضح.
يحتوي الجدول على حقل رقم الطلب. أولئك. الرأي العام هو شيء من هذا القبيل: رقم الطلب | اسم الطلب | مبلغ الطلب |1 | حقيبة | 10رور |2 | كروشكا | 20رور |3 | بانكا | 30رور |... | ... |***|هل هناك ربط الآن؟ أو مرة أخرى لم أفهم شيئًا... :(كيف تجد المبلغ الإجمالي لجميع الطلبات؟
هل يوجد رابط الآن؟
نعم. حدد الجدول 1.[رقم الطلب]، الجدول 1.[اسم الطلب]، الجدول 1.[مبلغ الطلب]، Sum(q1.[مبلغ الطلب]) AS [إجمالي المبلغ لجميع الطلبات]من (SELECT t1.[رقم الطلب] ، t1. [اسم الطلب]، t1.[مبلغ الطلب]، t2.[رقم الطلب] من الجدول 1 AS t1، الجدول 1 AS t2 حيث (((t1.[رقم الطلب])>=.[رقم الطلب] ))) كما q1 INNER JOIN Table1 على q1.t1.[رقم الطلب] = الجدول 1.[رقم الطلب]المجموعة حسب الجدول 1.[رقم الطلب]، الجدول 1.[اسم الطلب]، الجدول 1.[مبلغ الطلب]؛
حدد الجدول 1.[رقم الطلب]، الجدول 1.[اسم الطلب]، الجدول 1.[مبلغ الطلب]، Sum(q1.[مبلغ الطلب]) AS [إجمالي المبلغ لجميع الطلبات]من [ SELECT t1.[رقم الطلب] ، t1. [اسم الطلب]، t1.[مبلغ الطلب]، t2.[رقم الطلب] من الجدول 1 AS t1، الجدول 1 AS t2 حيث (((t1.[رقم الطلب])>=.[رقم الطلب] )))]. كما q1 INNER JOIN Table1 على q1.t1.[رقم الطلب] = الجدول 1.[رقم الطلب]المجموعة حسب الجدول 1.[رقم الطلب]، الجدول 1.[اسم الطلب]، الجدول 1.[مبلغ الطلب]؛
يتم عرض خطأ: استخدام غير صالح للأقواس بالاسم "SELECT t1.[رقم الطلب.":((ما المشكلة؟ تمت الإضافة بعد 3 دقائق و33 ثانيةالناس! على استعداد لإرسال BDK. إذا قمت بذلك. أنا أدفع في WM. عاجل جدا (خلال ساعة واحدة)

لنفترض أن لدينا الجدول التالي: الجدول: tblOrdersنوع الحقل idOrders CounterfldName TextfldSumma Mential، ثم سيكون الاستعلام شيئًا مثل هذا: SELECT Sum(tblOrders.fldSumma) AS FROM tblOrders; مجموع fldSummaهذا هو الاسم المستعار للتعبير مجموع(tblOrders.fldSumma). ونتيجة لذلك، نحصل على جدول بخلية واحدة. للتوضيح، كتبت مثالًا للتعليمات البرمجية في VS 2005، دون معالجة الاستثناءات، لتوضيح الأمر أولاً، تحتاج إلى إنشاء مشروع وإضافة زر هناك GetSumButtonوحقل النص SumTextBoxأي تغيير أسمائهم. استبدل اسم النموذج بـ النموذج الرئيسيواستبدل الكود الخاص به بالرمز السفلي.

الخيار الصارم OnOption الصريح OnImports System.Data.OleDbPublic Class MainForm """احصل على المبلغ الوظيفة الخاصة GetSumma() كرقم عشري باستخدام cn كـ OleDbConnection جديد (My.Settings.dbConnectionString) cn.Open() Dim cmd As OleDbCommand = cn.CreateCommand() cmd.CommandText = "SELECT Sum(tblOrders.fldSumma) AS FROM tblOrders; " إرجاع CDec(cmd.ExecuteScalar()) إنهاء استخدام وظيفة النهاية """خاص SubGetSumButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) يعالج GetSumButton.Click " عرض المبلغ بالعملة الحالية Me.SumTextBox.Text = FormatCurrency(GetSumma()) End SubEnd Class لكي يعمل المثال ، يجب أن تكون في مشروعي >>الإعدادات تضيف سطرًا بالاسم dbConnectionStringالمحتويات التالية Provider=Microsoft.Jet.OLEDB.4.0;مصدر البيانات=|DataDirectory|\orders.mdb. قم بإرفاق قاعدة بيانات MS Access بالمشروع أو ببساطة قم بنسخها إلى الدليل باستخدام ملف قابل للتنفيذ، حيث يجب إنشاء الجدول المطلوب (ويفضل أن يكون مع البيانات).

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

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

المهمة 1.يحتوي جدول المنتج على الحقلين PRICE وRATE_VAT. احسب السعر بما في ذلك ضريبة القيمة المضافة وقارنه بالسعر الذي تم الحصول عليه في الحقل المحسوب لجدول السعر بما في ذلك ضريبة القيمة المضافة.

  1. قم بإنشاء استعلام تحديد في وضع التصميم لجدول PRODUCT. اسحب الحقول NAME_TOV، وPRICE، وRATE_VAT، والسعر مع ضريبة القيمة المضافة إلى نموذج الطلب (الشكل 4.6).
  2. لحساب السعر بما في ذلك ضريبة القيمة المضافة، قم بإنشاء حقل محسوب عن طريق كتابة التعبير [PRICE]+[PRICE]*[RATE_VAT] في الخلية الفارغة لصف الحقل.
  3. لتحديد سجلات ذات قيمة أكبر من 5000 في الحقل المحسوب، أدخل > 5000 في سطر المعايير
  4. بعد إدخال تعبير، يقوم النظام افتراضيًا بإنشاء اسم الحقل المحسوب التعبير 1، والذي يصبح عنوان العمود في الجدول مع نتائج الاستعلام. سيتم إدراج هذا الاسم قبل التعبير [PRICE]+[PRICE]*[VAT_RATE]. لكل حقل محسوب جديد في الاستعلام، يزيد رقم التعبير بمقدار واحد. يتم فصل اسم الحقل المحسوب عن التعبير بنقطتين. لتغيير الاسم، ضع مؤشر الماوس في الحقل المحسوب لنموذج الطلب وانقر فوق زر الفأرة الأيمن. من القائمة الحساسة للسياق، حدد ملكيات(الخصائص) وفي سطر التسمية التوضيحية أدخل اسم حقل جديد - السعر شامل ضريبة القيمة المضافة1. الآن في الجدول الذي يحتوي على نتائج الاستعلام، سيتم عرض هذا الاسم في رأس العمود المحسوب. ويمكن أيضًا تصحيح اسم الحقل مباشرةً في نموذج الطلب.
  5. لعرض نتيجة الاستعلام، انقر فوق الزر ينفذ(تشغيل) في المجموعة نتائج(نتائج). الحقل المحسوب للجدول والاستعلام لهما نفس القيم.
  6. تغيير سعر المنتج في أحد سجلات الطلب. سيتم إعادة حساب القيم في كلا الحقلين المحسوبين على الفور.
  7. لتكوين تعبير معقد في حقل محسوب أو شرط تحديد، فمن المستحسن استخدام منشئ التعبير. يسمح لك المنشئ بتحديد أسماء الحقول المطلوبة في التعبير من الجداول والاستعلامات وعلامات التشغيل والوظائف. قم بإزالة التعبير الموجود في الحقل المحسوب واستخدم المنشئ لإنشائه.
  8. اتصل بـ Expression Builder بالنقر فوق الزر منشئ(باني) في المجموعة إعداد الاستعلام(إعداد الاستعلام) تصميم الشريط، أو عن طريق التحديد يبني(إنشاء) في القائمة الحساسة للسياق. يجب وضع مؤشر الماوس مسبقًا في خلية إدخال التعبير.
  9. على الجانب الأيسر من النافذة منشئ التعبير(منشئ التعبير) (الشكل 4.7) حدد جدول المنتج الذي يستند إليه الاستعلام. سيتم عرض قائمة بحقولها على اليمين. حدد الحقول وعوامل التشغيل المطلوبة بشكل تسلسلي عن طريق النقر عليها نقرًا مزدوجًا في التعبير. سيتم تشكيل التعبير في الجزء العلوي من النافذة. يرجى ملاحظة أن المنشئ أشار إلى اسم الجدول الذي ينتمي إليه قبل اسم الحقل وفصله عن اسم الحقل بعلامة تعجب.
  10. أكمل عملية إنشاء تعبير في حقل محسوب بالنقر فوق "موافق".
  11. احفظ الطلب تحت الاسم - السعر مع ضريبة القيمة المضافة وأغلقه.
  12. قم بتنفيذ الملف المحفوظ عن طريق تحديده في منطقة التنقل وتحديد فتح من قائمة السياق.


المهمة 2.يمكنك استخدام الوظائف المضمنة في الحقول المحسوبة وشروط التصفية. يحتوي Access على أكثر من 150 وظيفة محددة.
يجب أن يكون من الضروري تحديد كافة الفواتير التي تم شحنها في شهر معين. في الفاتورة، يتم تخزين تاريخ الشحن في الحقل DATE_OTG بنوع بيانات التاريخ/الوقت.

  1. قم بإنشاء استعلام تحديد في وضع التصميم لجدول الفاتورة. اسحب الحقلين NOM_NAKL وCODE_SK إلى النموذج (الشكل 4.8).
  2. قم بإنشاء حقل محسوب في خلية صف فارغة مجال(الحقل) عن طريق كتابة أحد التعبيرات هناك: Format([INVOICE]![DISPOSITION_DATE];"mmmm") - ستعيد هذه الوظيفة الاسم الكامل للشهر
    أو التنسيق ([INBOOK]![DISPOSITION_DATE];"mm") - ستعيد هذه الوظيفة رقم الشهر.
  3. لتحديد الفواتير الصادرة في شهر معين، في الحقل المحسوب في سطر شرط الاختيار (المعايير)، أدخل اسم الشهر، على سبيل المثال مارس (الشكل 4.8)، أو رقم الشهر، على سبيل المثال 3 وفقًا لـ المعلمة في وظيفة التنسيق.
  4. أكمل طلبك بالضغط على الزر ينفذ(تشغيل) في المجموعة نتائج(النتائج) على علامة تبويب الشريط العمل مع الطلبات | منشئ(أدوات الاستعلام | التصميم).
  5. اكتب الدالة Month(INVOICE!DATE_OTG) في الحقل المحسوب وتأكد من أن هذه الدالة تُرجع رقم الشهر المستخرج من التاريخ.
  6. لتحديد كافة الصفوف المتعلقة بالربع الثاني، في صف المعايير، أدخل عامل التشغيل بين 4 و6، الذي يحدد ما إذا كانت قيمة التعبير تقع ضمن الفاصل الزمني المحدد.
  7. اكتب التعبير MonthName(Month(INVOICE!DATE_OTG)) في الحقل المحسوب وتأكد من أن الدالة MonthName تحول رقم الشهر إلى اسمه الكامل.


لتعزيز هذا، شاهد الفيديو التعليمي.