أمثلة على التعبيرات

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

في هذه المقالة

النماذج والتقارير

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

ملاحظة    يمكنك أيضًا استخدام التعبيرات في نموذج أو تقرير عند تمييز البيانات باستخدام التنسيق الشرطي.

عمليات النص

تستخدم التعبيرات الموجودة في الجدول التالي العاملين & (علامة العطف) و+ (علامة الجمع) لدمج السلاسل النصية أو الدالات المضمّنة لمعالجة سلسلة نصية، أو بخلاف ذلك، تعمل على النص لإنشاء عنصر تحكم محسوب.

التعبير

النتيجة

="غير متوفّر"

يعرض غير متوفّر.

=[FirstName] & " " & [LastName]

يعرض القيم الموجودة في حقول جدول تسمى الاسم الأول واسم العائلة. في هذا المثال، يُستخدم العامل & لدمج حقل الاسم الأول وحرف المسافة (مُحاط بعلامات اقتباس) وحقل اسم العائلة.

=Left([ProductName], 1)

يستخدم الدالة Left لعرض الحرف الأخير من قيمة حقل أو عنصر تحكم يُسمى اسم المنتج.

=Right([AssetCode], 2)

يستخدم الدالة Right لعرض آخر حرفين من قيمة حقل أو عنصر تحكم يسمى رمز الأصل.

=Trim([Address])

يستخدم الدالة Trim لعرض قيمة عنصر تحكم العنوان، مع إزالة أي مسافات بادئة أو لاحقة.

=IIf(IsNull([Region]), [City] & " " & [PostalCode], [City] & " " & [Region] & " " & [PostalCode])

يستخدم الدالة IIf لعرض قيم عناصر تحكم المدينة والرمز البريدي إذا كانت قيمة عنصر تحكم المنطقة فارغة؛ وإلا فسيتم عرض قيم عناصر تحكم المدينة والمنطقة والرمز البريدي مفصولة بمسافات.

=[City] & (" " + [Region]) & " " & [PostalCode]

يستخدم القيمة Null (فارغة) والعامل + لعرض قيم عناصر تحكم المدينة والرمز البريدي، إذا كانت قيمة عنصر تحكم أو حقل المنطقة فارغة؛ وإلا فسيتم عرض قيم عناصر تحكم أو حقول المدينة والمنطقة والرمز البريدي مفصولة بمسافات.

إنّ استخدام القيمة Null يعني أنه إذا كان أي مكون للتعبير فارغًا يكون التعبير بالكامل فارغًا أيضًا. يدعم العامل + استخدام القيمة Null، ولكن لا يدعمه العامل &.

أعلى الصفحة

رؤوس الصفحات وتذييلاتها

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

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

التعبير

النتيجة

=[Page]

1

="Page " & [Page]

الصفحة 1

="Page " & [Page] & " of " & [Pages]

صفحة 1 من 3

=[Page] & " of " & [Pages] & " Pages"

صفحة 1 من 3

=[Page] & "/" & [Pages] & " Pages"

1/3 صفحات

=[Country/region] & " - " & [Page]

المملكة المتحدة - 1

=Format([Page], "000")

001

="Printed on: " & Date()

تاريخ الطباعة: ‏12/31/‏17‏

أعلى الصفحة

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

يمكنك استخدام تعبيرات لإضافة القيم وطرحها وضربها وقسمتها في اثنين من عناصر التحكم أو الحقول أو أكثر. يمكنك أيضاً استخدام تعبيرات لإجراء عمليات حسابية على التواريخ. على سبيل المثال، لنفترض أنّ لديك حقل جدول تاريخ/وقت يسمى تاريخ إجراء الطلب. في الحقل أو عنصر التحكم المرتبط بالحقل، يقوم التعبير =[RequiredDate] - 2 قيمة تاريخ/وقت تساوي يومين قبل القيم الحالية في حقل تاريخ إجراء الطلب.

التعبير

النتيجة

=[Subtotal]+[Freight]

مجموع قيم عنصري تحكم أو حقلي الإجمالي الفرعي والشحن.

=[RequiredDate]-[ShippedDate]

الفاصل الزمني بين قيم تاريخ عنصري تحكم أو حقلي تاريخ إجراء الطلب وتاريخ الشحن.

=[Price]*1.06

حاصل ضرب قيمة عنصر تحكم أو حقل و1,06 (إضافة 6% لقيمة السعر).

=[Quantity]*[Price]

حاصل ضرب قيم عنصري تحكم أو حقلي الكمية والسعر.

=[EmployeeTotal]/[CountryRegionTotal]

ناتج قسمة قيم عنصري تحكم أو حقلي إجمالي الموظفين وإجمالي البلد/المنطقة.

ملاحظة    عند استخدام عامل حسابي (+ و- و* و/) في تعبير، وكانت قيمة أحد عناصر التحكم الموجودة في التعبير فارغة، ستكون نتيجة التعبير بالكامل فارغة، ويُعرف ذلك باستخدام القيمة Null. في حالة وجود قيمة فارغة في أي سجل من سجلات أحد عناصر التحكم التي تستخدمها في التعبير، يمكنك تجنب استخدام القيمة Null عن طريق تحويل القيمة الفارغة إلى الصفر باستخدام الدالة Nz، على سبيل المثال، =Nz([Subtotal])+Nz([Freight]).

أعلى الصفحة

القيم في عناصر التحكم الأخرى

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

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

التعبير

النتيجة

=Forms![Orders]![OrderID]

قيمة عنصر التحكم معرف الطلب في نموذج الطلبات.

=Forms![Orders]![Orders Subform].Form![OrderSubtotal]

قيمة عنصر التحكم الإجمالي الفرعي للطلب في النموذج الفرعي المسمى النموذج الفرعي للطلبات في نموذج الطلبات.

=Forms![Orders]![Orders Subform]![ProductID].Column(2)

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

=Forms![Orders]![Orders Subform]![Price] * 1.06

حاصل ضرب قيمة عنصر تحكم السعر في النموذج الفرعي المسمى «النموذج الفرعي للطلبات» في نموذج الطلبات و1,06 (إضافة 6% لقيمة عنصر تحكم السعر).

=Parent![OrderID]

قيمة عنصر التحكم معرف الطلب في النموذج الرئيسي أو الأصلي للنموذج الفرعي الحالي.

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

التعبير

النتيجة

=Report![Invoice]![OrderID]

قيمة عنصر التحكم المسمى "معرف الطلب" في التقرير المسمى "الفاتورة".

=Report![Summary]![Summary Subreport]![SalesTotal]

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

=Parent![OrderID]

قيمة عنصر التحكم مُعرّف الطلب في التقرير الرئيسي أو الأصلي للتقرير الفرعي الحالي.

أعلى الصفحة

عد القيم وجمعها وحساب متوسطها

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

توضّح التعبيرات في الجدول التالي بعض الطرق اللازمة لاستخدام دالات مثل Avg وCount وSum.

التعبير

الوصف

=Avg([Freight])

يستخدم الدالة Avg لعرض متوسط قيم حقل جدول أو عنصر تحكم يسمى "الشحن".

=Count([OrderID])

يستخدم الدالة Count لعرض عدد السجلات في عنصر تحكم مُعرّف الطلب.

=Sum([Sales])

يستخدم الدالة Sum لعرض مجموع قيم عنصر تحكم المبيعات.

=Sum([Quantity]*[Price])

يستخدم الدالة Sum لعرض مجموع حاصل ضرب قيم عنصري تحكم الكمية والسعر.

=[Sales]/Sum([Sales])*100

يعرض النسبة المئوية للمبيعات، التي تُحدَّد عن طريق قسمة قيمة عنصر تحكم المبيعات على مجموع كل قيم عنصر تحكم المبيعات.

إذا قمتَ بتعيين الخاصية Format لعنصر التحكم على النسبة المئوية، فلا تُضمِّن *100 في التعبير.

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

أعلى الصفحة

دالات SQL التجميعية

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

التعبير

الوصف

=DLookup("[ContactName]", "[Suppliers]", "[SupplierID] = " & Forms("Suppliers")("[SupplierID]"))

يستخدم الدالة DLookup لعرض قيمة حقل اسم جهة الاتصال في جدول المورّدين حيث تطابق قيمة حقل مُعرف المورد في الجدول قيمة عنصر تحكم مُعرّف المورد في نموذج المورِّدين.

=DLookup("[ContactName]", "[Suppliers]", "[SupplierID] = " & Forms![New Suppliers]![SupplierID])

يستخدم الدالة DLookup لإرجاع قيمة الحقل اسم جهة الاتصال في جدول المورّدين حيث تطابق قيمة حقل مُعرّف المورّد في الجدول قيمة عنصر التحكم مُعرّف المورّد في نموذج المورّدين الجديد.

=DSum("[OrderAmount]", "[Orders]", "[CustomerID] = 'RATTC'")

يستخدم الدالة DSum لإرجاع مجموع إجمالي القيم الموجودة في حقل كمية الطلب في جدول الطلبات حيث يكون مُعرّف العميل هو RATTC.

=DCount("[Retired]","[Assets]","[Retired]=Yes")

يستخدم الدالة DCount لإرجاع عدد القيم "نعم" في حقل المُستبعد(حقل نعم/لا) في جدول الأصول.

أعلى الصفحة

عمليات التاريخ

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

التعبير

الوصف

=Date()

يستخدم الدالة Date لعرض التاريخ الحالي بالصيغة mm-dd-yy، حيث يُمثِّل mm الشهر (من 1 إلى 12) وdd هو اليوم (من 1 إلى 31) وyy هو آخر رقمين من السنة (من 1980 إلى 2099).

=Format(Now(), "ww")

يستخدم الدالة Format لعرض رقم الأسبوع في السنة للتاريخ الحالي، حيث يُمثِّل ww الأسابيع من 1 إلى 53.

=DatePart("yyyy", [OrderDate])

يستخدم الدالة DatePart لعرض السنة المكوَّنة من أربعة أرقام لقيمة عنصر التحكم تاريخ الطلب.

=DateAdd("y", -10, [PromisedDate])

يستخدم الدالة DateAdd لعرض تاريخ يسبق قيمة عنصر التحكم PromisedDate بعشرة أيام.

=DateDiff("d", [OrderDate], [ShippedDate])

يستخدم الدالة DateDiff لعرض الفرق في عدد الأيام بين قيم عنصر التحكم OrderDate وShippedDate.

=[InvoiceDate] + 30

يستخدم عمليات حسابية على تواريخ لحساب التاريخ بعد 30 يومًا من التاريخ الموجود في عنصر تحكم أو حقل InvoiceDate.

أعلى الصفحة

الشروط الخاصة بقيمتين فقط

تستخدم أمثلة التعبيرات في الجدول التالي الدالة IIf لعرض إحدى القيمتين المحتملتين. تقوم بإدخال الدالة IIf في الوسيطات الثلاث التالية: الوسيطة الأولى هي تعبير يجب أن يرجع القيمة True أو False. وتُمثِّل الوسيطة الثانية القيمة المراد إرجاعها إذا كان التعبير صوابًا، والوسيطة الثالثة هي القيمة المراد إرجاعها إذا كان التعبير خطأ.

التعبير

الوصف

=IIf([Confirmed] = "Yes", "Order Confirmed", "Order Not Confirmed")

يستخدم الدالة IIf (‏Immediate If‏‏) لعرض الرسالة "تم تأكيد الطلب" إذا كانت قيمة عنصر التحكم المؤكد هي Yes؛ وإلا، فسيتم عرض الرسالة "Order Not Confirmed."

=IIf(IsNull([Country/region]), " ", [Country])

يستخدم الدالتين IIf وIsNull لعرض سلسلة فارغة إذا كانت قيمة عنصر تحكم المنطقة/البلد فارغة؛ وإلا، فسيتم عرض قيمة عنصر تحكم المنطقة/البلد.

=IIf(IsNull([Region]), [City] & " " & [PostalCode], [City] & " " & [Region] & " " & [PostalCode])

يستخدم الدالتين IIf وIsNull لعرض قيم عنصري تحكم المدينة والرمز البريدي إذا كانت قيمة عنصر تحكم المنطقة فارغة؛ وإلا فسيتم عرض قيم عناصر تحكم أو حقول المدينة والمنطقة والرمز البريدي.

=IIf(IsNull([RequiredDate]) Or IsNull([ShippedDate]), "Check for a missing date", [RequiredDate] - [ShippedDate])

يستخدم الدالتين IIf وIsNull لعرض الرسالة "التحقّق من وجود تاريخ مفقود" إذا كانت نتيجة طرح تاريخ الشحن من تاريخ إجراء الطلب فارغة؛ وإلا، فسيتم عرض الفاصل الزمني بين قيم عنصري تحكم تاريخ إجراء الطلب وتاريخ الشحن.

أعلى الصفحة

الاستعلامات وعوامل التصفية

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

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

فما يلي أمثلة للتعبيرات المستخدمة في الاستعلامات.

عمليات النص

تستخدم التعبيرات الموجودة في الجدول التالي العاملين & و+ لدمج السلاسل النصية أو استخدام الدالات المضمَّنة لتعمل على سلسلة نصية أو بخلاف ذلك تعمل على النص لإنشاء حقل محسوب.

التعبير

الوصف

FullName: [FirstName] & " " & [LastName]

ينشئ حقلاً يسمى الاسم بالكامل يعرض القيم في حقلي الاسم الأول واسم العائلة، مفصولة بمسافة.

Address2: [City] & " " & [Region] & " " & [PostalCode]

يُنشئ حقلاً يسمى العنوان2 يعرض القيم في حقول المدينة والمنطقة والرمز البريدي مفصولة بمسافات.

الحرف الأول من المنتج: Left([ProductName], 1)

ينشئ حقلاً يسمى الحرف الأول من المنتج ثم يستخدم الدالة Left لعرض الحرف الأول من قيمة حقل اسم المنتج في حقل الاسم الأول من المنتج.

رمز النوع: Right([AssetCode], 2)

ينشئ حقلاً يسمى رمز النوع ثم يستخدم الدالة Right لعرض أول حرفين من القيم في الحقل رمز الأصل.

رمز المنطقة: Mid([Phone],2,3)

ينشئ حقلاً يسمى رمز المنطقة ثم يستخدم الدالة Mid لعرض الثلاثة أحرف بداية من الحرف الثاني للقيمة الموجودة في حقل الهاتف.

السعر المحدد: CCur([Order Details].[Unit Price]*[Quantity]*(1-[Discount])/100)*100

يضع تسمية للحقل المحسوب "السعر المحدد"، وتستخدم الدالة CCur لحساب إجماليات عنصر السطر باستخدام خصم مطبق.

أعلى الصفحة

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

يمكنك استخدام تعبيرات لإضافة القيم وطرحها وضربها وقسمتها في اثنين من عناصر التحكم أو الحقول أو أكثر. يمكنك أيضاً إجراء عمليات حسابية على التواريخ. على سبيل المثال، لنفترض أنّ لديك حقل تاريخ/وقت يسمى تاريخ إجراء الطلب. يعرض التعبير =[RequiredDate] - 2 قيمة تاريخ/وقت تساوي يومين قبل القيمة الموجودة في الحقل تاريخ إجراء الطلب.

التعبير

الوصف

PrimeFreight: [Freight] * 1.1

ينشئ حقلاً يسمى الشحن الرئيسي ثم يعرض رسوم الشحن بالإضافة إلى 10% في الحقل.

OrderAmount: [Quantity] * [UnitPrice]

ينشئ حقلاً يسمى مبلغ الطلب ثم يعرض حاصل ضرب القيم في حقلي الكمية وسعر الوحدة.

LeadTime: [RequiredDate] - [ShippedDate]

ينشئ حقلاً يسمى وقت الانتظار ثم يعرض الفرق بين القيم في حقلي تاريخ إجراء الطلب وتاريخ الشحن.

TotalStock: [UnitsInStock]+[UnitsOnOrder]

ينشئ حقلاً يسمى إجمالي المخزون ثم يعرض مجموع القيم في حقلي وحدات في المخزون والوحدات في الطلب.

النسبة المئوية للشحن: Sum([Freight])/Sum([Subtotal]) *100

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

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

للحصول على مزيد من المعلومات حول إنشاء استعلام إجماليات، راجع المقالة جمع البيانات باستخدام استعلام.

إذا قمت بتعيين الخاصية Format للحقل على Percent، فلا تُضمن *100.

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

أعلى الصفحة

عمليات التاريخ

تخزِّن كل قواعد البيانات تقريبًا التواريخ والأوقات وتتعقبها. يمكنك استخدام التواريخ والأوقات في Access بتعيين حقول التاريخ والوقت في الجداول على نوع بيانات التاريخ/الوقت. يمكن لبرنامج Access إجراء عمليات حسابية على التواريخ. على سبيل المثال، يمكنك حساب عدد الأيام التي انقضت منذ تاريخ الفاتورة لتأخير الحسابات المدينة.

التعبير

الوصف

مدة التأخير: DateDiff("d", [OrderDate], [ShippedDate])

ينشئ حقلاً يسمى مدة التأخير، ثم يستخدم الدالة DateDiff لعرض عدد الأيام بين تاريخ الطلب وتاريخ الشحن.

سنة التعيين: DatePart("yyyy",[HireDate])

ينشئ حقلاً يسمى سنة التعيين، ثم يستخدم الدالة DatePart لعرض السنة التي تم تعيين كل موظف فيها.

ناقص 30: التاريخ( )- 30

ينشئ حقلاً يسمى ناقص 30، ثم يستخدم الدالة Date لعرض التاريخ الذي يسبق التاريخ الحالي بثلاثين يومًا.

أعلى الصفحة

دالات SQL التجميعية

تستخدم التعبيرات الموجودة في الجدول التالي دالات SQL (لغة الاستعلامات المركّبة) التي تجمع البيانات أو تلخصها. غالبًا ما ترى هذه الدالات (على سبيل المثال، Sum وCount وAvg) يشار إليها بالدالات التجميعية.

بالإضافة إلى الدالات التجميعية، يوفّر Access أيضًا دالات "المجال" التجميعية التي تستخدمها لجمع القيم أو حسابها بطريقة انتقائية. على سبيل المثال، يمكنك حساب عدد القيم الموجودة في نطاق معين فقط أو البحث عن قيمة من جدول آخر. تتضمن مجموعة دالات المجال التجميعية الدالة DSum والدالة DCount والدالة DAvg.

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

التعبير

الوصف

عدد الصفوف: العدد(*)

ينشئ حقلاً يسمى عدد الصفوف، ثم يستخدم الدالة Count لحساب عدد السجلات في الاستعلام، بما في ذلك السجلات التي تحتوي على حقول فارغة (خالية).

النسبة المئوية للشحن: Sum([Freight])/Sum([Subtotal]) *100

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

يجب عليك استخدام هذا التعبير مع استعلام الإجماليات. إذا قمتَ بتعيين الخاصية Format للحقل على Percent، فلا تُضمِّن *100.

للحصول على مزيد من المعلومات حول إنشاء استعلام الإجماليات، راجع المقالة جمع البيانات باستخدام استعلام.

متوسط الشحن: DAvg("[Freight]", "[Orders]")

ينشئ حقلاً يسمى متوسط الشحن، ثم يستخدم الدالة DAvg لحساب متوسط الشحن في كل الطلبات المُجمّعة في استعلام الإجماليات.

أعلى الصفحة

الحقول باستخدام البيانات المفقودة

تتعامل التعبيرات الموضّحة هنا مع الحقول التي تحتوي على معلومات قد تكون مفقودة، مثل تلك التي تحتوي على قيم فارغة(غير معروفة أو غير محدَّدة). تجد قيماً فارغة كثيراً، مثل سعر غير معروف لمنتج جديد أو قيمة نسي زميلك في العمل إضافتها إلى طلب. يمكن أن تكون القدرة على العثور على القيم الفارغة ومعالجتها جزءًا مهمًا من عمليات قاعدة البيانات، وتوضّح التعبيرات الموجودة في الجدول التالي بعض الطرق الشائعة للتعامل مع القيم الفارغة.

التعبير

الوصف

البلد/المنطقة الحالية: IIf(IsNull([CountryRegion]), " ", [CountryRegion])

ينشئ حقلاً يسمى البلد/المنطقة الحاليةK ثم يستخدم الدالتين IIf وIsNull لعرض سلسلة فارغة في هذا الحقل عندما يحتوي حقل البلد/المنطقة على قيمة فارغةK وبخلاف ذلك، يعرض محتويات حقل البلد/المنطقة.

وقت الانتظار: IIf(IsNull([RequiredDate] - [ShippedDate]), "Check for a missing date", [RequiredDate] - [ShippedDate])

ينشئ حقلاً يسمى وقت الانتظار، ثم يستخدم الدالتين IIf وIsNull لعرض الرسالة التالية "التحقّق من وجود تاريخ مفقود" إذا كانت القيمة في حقل تاريخ إجراء الطلب أو حقل تاريخ الشحن فارغة؛ وبخلاف ذلك، سيتم عرض اختلاف التاريخ.

مبيعات ستة أشهر: Nz([Qtr1Sales]) + Nz([Qtr2Sales])

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

أعلى الصفحة

حقول محسوبة باستخدام الاستعلامات الفرعية

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

التعبير

الوصف

الفئة: (SELECT [CategoryName] FROM [Categories] WHERE [Products].[CategoryID]=[Categories].[CategoryID])

ينشئ حقلاً يسمى الفئة، ثم يعرض اسم الفئة، إذا كان مُعرّف الفئة من جدول الفئات هو نفسه مُعرّف الفئة من جدول المنتجات.

أعلى الصفحة

مطابقة القيم النصية

توضّح أمثلة التعبيرات في هذا الجدول المعايير التي تتطابق مع كل القيم النصية أو جزء منها.

الحقل

التعبير

الوصف

مدينة الشحن

«الدوحة»

يعرض الطلبات المشحونة إلى الدوحة.

مدينة الشحن

"لندن" أو "هيدج إند"

يستخدم العامل Or لعرض الطلبات التي تم شحنها إلى لندن أو هيدج إند.

بلد/منطقة الشحن

In("كندا"، "المملكة المتحدة")

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

بلد/منطقة الشحن

ليست "الولايات المتحدة الأمريكية"

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

اسم المنتج

ليس مثل "س*"

يستخدم العامل Not وحرف البدل * لعرض المنتجات التي لا يبدأ اسمها بحرف "س".

اسم الشركة

>="N"

يعرض الطلبات التي تم شحنها إلى الشركات التي تبدأ أسماؤها بأحد الحروف من N إلى Z.

رمز المنتج

Right([ProductCode], 2)="99"

يستخدم الدالة Right لعرض الأوامر التي تحتوي على قيم رمز المنتج التي تنتهي بالرقم 99.

اسم الشحن

مثل "س*"

يعرض الطلبات التي تم شحنها إلى العملاء الذين تبدأ أسماؤهم بالحرف S.

أعلى الصفحة

مطابقة معايير التاريخ

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

الحقل

التعبير

الوصف

تاريخ الشحن

#2017/2/2#

يعرض الطلبات المشحونة في 2 فبراير 2017.

تاريخ الشحن

التاريخ()‎

يعرض الطلبات المشحونة اليوم.

تاريخ إجراء الطلب

بين التاريخ( ) وإضافة التاريخ ("M"، -3، التاريخ( ))

يستخدم العامل Between...And والدالتين DateAdd وDate لعرض الطلبات المطلوبة بين تاريخ اليوم وثلاثة أشهر من تاريخ اليوم.

تاريخ الطلب

< Date( ) - 30

يستخدم الدالة Date لعرض الطلبات التي مضى عليها أكثر من 30 يومًا.

تاريخ الطلب

Year([OrderDate])=2017

يستخدم الدالة Year لعرض الطلبات التي لها تواريخ طلب في عام 2017.

تاريخ الطلب

DatePart("q", [OrderDate])=4

يستخدم الدالة DatePart لعرض طلبات الربع الرابع من التقويم.

تاريخ الطلب

DateSerial(Year ([OrderDate]), Month([OrderDate])+1, 1)-1

يستخدم الدالات DateSerial وYear وMonth لعرض طلبات آخر يوم من كل شهر.

تاريخ الطلب

Year([OrderDate])= Year(Now()) And Month([OrderDate])= Month(Now())

يستخدم الدالتين Year وMonth والعامل And لعرض طلبات الشهر والسنة الحاليين.

تاريخ الشحن

بين #1‏/5‏/2017‏# و#1‏/10‏/2017‏#

يستخدم العامل Between...And لعرض الطلبات التي تم شحنها في موعد لا يقل عن يوم 5 يناير 2017 لا يتجاوز يوم 10 يناير 2017.

تاريخ إجراء الطلب

Between بين وDateAdd("M", 3, Date( ))

يستخدم العامل Between...And لعرض الطلبات المطلوبة بين تاريخ اليوم وثلاثة أشهر من تاريخ اليوم.

تاريخ الميلاد

Month([BirthDate])=Month(Date())

يستخدم الدالتين Month وDate لعرض الموظفين الذين تقع أعياد ميلادهم في هذا الشهر.

أعلى الصفحة

العثور على البيانات المفقودة

تعمل التعبيرات الموجودة في الحقل التالي مع الحقول التي قد تحتوي على معلومات مفقودة — تلك التي قد تحتوي على قيمة فارغة أو سلسلة فارغة. تمثل القيمة الفارغة عدم وجود معلومات، ولا تمثل قيمة صفرية أو أي قيمة على الإطلاق. يدعم Access فكرة عدم وجود معلومات لأن هذا المفهوم أساسي لتكامل قاعدة البيانات. في الحياة الواقعية، المعلومات غالباً ما تكون مفقودة، حتي لو مؤقتاً فقط (على سبيل المثال، سعر غير محدد بعد لمنتج جديد). ومن ثمَّ، يجب أن تكون قاعدة البيانات التي تُمثِّل كيانًا حقيقيًّا، كشركة مثلاً، قادرة على تسجيل المعلومات على أنها مفقودة. يمكنك استخدام الدالة IsNull لتحديد ما إذا كان الحقل أو عنصر التحكم يحتوي على قيمة فارغة، ويمكنك استخدام الدالة Nz لتحويل قيمة فارغة إلى الصفر.

الحقل

التعبير

الوصف

منطقة الشحن

Is Null

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

منطقة الشحن

Is Not Null

يعرض طلبات العملاء الذين يكون حقل منطقة الشحن لديهم على قيمة.

فاكس

""

يعرض طلبات العملاء الذين ليس لديهم جهاز فاكس، وتم الإشارة إليهم بقيمة سلسلة فارغة في حقل الفاكس بدلاً من قيمة فارغة (مفقودة).

أعلى الصفحة

مطابقة أنماط السجل باستخدام Like

يوفّر العامل Like قدرًا كبيرًا من المرونة عندما تحاول مطابقة الصفوف التي تتبع نمطًا، لأنّه يمكنك استخدام Like مع أحرف البدل وتحديد أنماط يطابقها Access. على سبيل المثال، يطابق حرف البدل * (علامة النجمة) سلسلة من الحروف من أي نوع، ويُسهّل عملية البحث عن كل الأسماء التي تبدأ بحرف. على سبيل المثال، يمكنك استخدام التعبير Like "S*" للبحث عن كل الأسماء التي بدأت بالحرف "س". للحصول على مزيد من المعلومات، راجع المقالة مثل عامل التشغيل.

الحقل

التعبير

الوصف

اسم الشحن

Like "س*"

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

اسم الشحن

Like "*استيراد"

البحث عن كل السجلات في الحقل اسم الشحن التي تبدأ بالكلمة «استيراد».

اسم الشحن

Like "[أ-ث]*"

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

اسم الشحن

Like "*أر*"

يبحث عن كل السجلات الموجودة في حقل اسم الشحن الذي يتضمن تسلسل الحروف "ar".

اسم الشحن

Like "منزل بيطار؟"

البحث عن كل السجلات في حقل اسم الشحن التي تتضمن «منزل» في الجزء الأول من القيمة وسلسلة مكونة من خمسة أحرف الأحرف الأربعة الأولى «بيطار» والحرف الأخير غير معروف.

اسم الشحن

Not Like "أ*"

يبحث عن كل السجلات في حقل اسم الشحن الذي لا يبدأ بالحرف "أ".

أعلى الصفحة

مطابقة الصفوف باستخدام دالات SQL

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

الحقل

التعبير

الوصف

الشحن

> (DStDev("[Freight]", "Orders") + DAvg("[Freight]", "Orders"))

يستخدم الدالتين DStDev وDAvg لعرض كل الطلبات التي تتخطى تكلفة شحنها المتوسط بالإضافة إلى الانحراف المعياري لتكلفة الشحن.

الكمية

> DAvg("[Quantity]", "[Order Details]")

تستخدم الدالة DAvg لعرض المنتجات المطلوبة بكميات أكبر من متوسط كمية الطلب.

أعلى الصفحة

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

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

الحقل

التعبير

يعرض

سعر الوحدة

(SELECT [UnitPrice] FROM [Products] WHERE [ProductName] = "Aniseed Syrup")

المنتجات التي يماثل سعرها سعر شراب الينسون.

وحدة السعر

>(SELECT AVG([UnitPrice]) FROM [Products])

المنتجات التي لها سعر وحدة أعلى من المتوسط.

الراتب

> ALL (SELECT [Salary] FROM [Employees] WHERE ([Title] LIKE "*Manager*") OR ([Title] LIKE "*Vice President*"))

مرتب مندوبين المبيعات الأعلى من كل الموظفين بالمسمى الوظيفي «مدير» أو «نائب رئيس».

OrderTotal: [UnitPrice] * [Quantity]

> (SELECT AVG([UnitPrice] * [Quantity]) FROM [Order Details])

الطلبات التي تكون الإجماليات فيها أكبر من متوسط قيمة الطلب.

أعلى الصفحة

استعلامات التحديث

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

للحصول على مزيد من المعلومات حول إنشاء استعلامات تحديث، راجع المقالة إنشاء استعلام تحديث وتشغيله.

الحقل

التعبير

النتيجة

العنوان

"Salesperson"

تغيير قيمة النص إلى مندوب مبيعات.

بداية المشروع

#8‏/10‏/17‏#

يُغيّر قيمة التاريخ إلى 10 أغسطس 2017.

مستبعَد

Yes

تغيير قيمة "لا" في حقل نعم/لا إلى "نعم".

PartNumber

"ب ن" & [رقم الجزء]

إضافة "ب ن" إلى بداية كل رقم جزء محدد.

إجمالي صنف السطر

[سعر الوحدة] * [الكمية]

حساب حاصل ضرب سعر الوحدة والكمية.

الشحن

[تكلفة الشحن] * 1.5

زيادة رسوم الشحن بمقدار 50%.

المبيعات

DSum("[Quantity] * [UnitPrice]", "Order Details", "[ProductID]=" & [ProductID])

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

الرمز البريدي للشحن

Right([الرمز البريدي للشحن]، 5)

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

سعر الوحدة

Nz([UnitPrice])

يُغيّر قيمة فارغة (غير معروفة أو غير محدّدة) إلى قيمة صفرية (0) في حقل سعر الوحدة.

أعلى الصفحة

عبارات SQL

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

عبارة SQL التي تستخدم تعبيرًا

النتيجة

SELECT [FirstName],[LastName] FROM [Employees] WHERE [LastName]="Danseglio";

يعرض القيم في حقلي الاسم الأول واسم العائلة للموظفين الذين يحملون اسم العائلة "Danseglio".

SELECT [ProductID],[ProductName] FROM [Products] WHERE [CategoryID]=Forms![New Products]![CategoryID];

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

SELECT Avg([ExtendedPrice]) AS [Average Extended Price] FROM [Order Details Extended] WHERE [ExtendedPrice]>1000;

حساب متوسط السعر المحدد للطلبات التي بها قيمة في الحقل السعر المحدد أكبر من 1000 وعرضه في حقل يسمى «متوسط السعر المحدد».

SELECT [CategoryID], Count([ProductID]) AS [CountOfProductID] FROM [Products] GROUP BY [CategoryID] HAVING Count([ProductID])>10;

في الحقل الذي يحمل الاسم مُعرّف عدد المنتجات، يتم عرض العدد الإجمالي للمنتجات للفئات التي تضم أكثر من 10 منتجات.

أعلى الصفحة

تعبيرات الجدول

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

القيم الافتراضية للحقل

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

الحقل

التعبير

قيمة الخقل الافتراضية

الكمية

1

1

المنطقة

"MT"

MT

المنطقة

«الرياض»

الرياض (لاحظ أنّه يجب إحاطة القيمة بعلامات اقتباس إذا تضمنت علامات ترقيم.)

فاكس

""

سلسلة فارغة للإشارة إلى أنّ هذا الحقل يجب أن يكون فارغًا، بشكل افتراضي، بدلاً من أن يحتوي على قيمة فارغة

تاريخ الطلب

Date( )

تاريخ اليوم

تاريخ الاستحقاق

Date() + 60

التاريخ بعد 60 يومًا من اليوم

أعلى الصفحة

قواعد التحقّق من صحة الحقل

يمكنك إنشاء قاعدة التحقّق من الصحة لحقل أو عنصر تحكم باستخدام تعبير. يفرض Access بعد ذلك القاعدة عند إدخال بيانات في الحقل أو عنصر التحكم. لإنشاء قاعدة التحقّق من الصحة، يمكنك تعديل خاصية ValidationRule للحقل أو عنصر التحكم. يتعين عليك أيضًا إعداد الخاصية ValidationText، التي تحمل النص الذي يعرضه Access عندما يتم خرق قاعدة التحقّق من الصحة. إذا لم تقم بتعيين الخاصية ValidationText، فإنّ Access سيعرض رسالة خطأ افتراضية.

توضّح الأمثلة الموجودة في الجدول التالي تعبيرات قاعدة التحقّق من الصحة للخاصية ValidationRule والنص المقترن بالخاصية ValidationText.

خاصية ValidationRule

خاصية ValidationText

<> 0

أدخل قيمة غير صفرية.

0 أو > 100

يجب أن تكون القيمة 0 أو أكبر من 100.

مثل "ك؟؟؟"

يجب أن تتكوّن القيمة من أربعة أحرف، وتبدأ بالحرف "ك".

< #1‏/1‏/2017‏#

أدخل تاريخًا سابقًا للتاريخ 2017/1/1.

>= #1‏/1‏/2017‏# و< #1‏/1‏/2008‏#

يجب أن يكون التاريخ في عام 2017.

للحصول على مزيد من المعلومات حول التحقّق من صحة البيانات، راجع المقالة إنشاء قاعدة التحقّق من الصحة للتحقّق من صحة البيانات في الحقل.

أعلى الصفحة

تعبيرات الماكرو

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

[Counter]=10

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

تلميح    لجعل برنامج Access يتجاهل الإجراء مؤقتاً بالقوة، اكتب False كشرط. يمكن أن يكون هذا مفيدًا عندما تحاول البحث عن مشاكل في وحدة الماكرو.

استخدم هذا التعبير لتنفيذ الإجراء

إذا

[City]="باريس"

باريس هي قيمة المدينة في الحقل في النموذج الذي تم تشغيل الماكرو منه.

DCount("[OrderID]", "Orders") > 35

هناك أكثر من 35 إدخالاً في حقل مُعرّف الطلب من جدول الطلبات.

DCount("*", "[Order Details]", "[OrderID]=" & Forms![Orders]![OrderID]) > 3

هناك أكثر من ثلاثة إدخالات في جدول تفاصيل الطلب الذي يتطابق فيه حقل مُعرّف الطلب للجدول مع حقل مُعرّف الطلب في نموذج الطلبات.

[ShippedDate] بين #2 فبراير 2017# و#2 مارس 2017#

إنّ قيمة حقل تاريخ الشحن في النموذج الذي يتم تشغيل الماكرو منه لا يقل عن 2 فبراير 2017 ولا يتجاوز 2 مارس 2017.

Forms![Products]![UnitsInStock] < 5

إنّ قيمة حقل الوحدات في المخزن في نموذج المنتجات أقل من 5.

IsNull([FirstName])

إنّ قيمة FirstName في النموذج الذي يتم تشغيل الماكرو منه فارغة (ليس لها قيمة). هذا التعبير يساوي [FirstName] Is Null.

[CountryRegion]="المملكة العربية السعودية" And Forms![SalesTotals]![TotalOrds] > 100

إنّ القيمة الموجودة في حقل البلد/المنطقة في النموذج الذي يتم تشغيل الماكرو منه هي المملكة المتحدة، وتكون القيمة في حقل إجمالي الطلبات في نموذج إجمالي المبيعات أكبر من 100.

[CountryRegion] In ("فرنسا، و"إيطاليا"، و"أسبانيا") وLen([PostalCode])<>5

أن القيمة الموجودة في حقل البلد/المنطقة في النموذج الذي يتم تشغيل الماكرو منه هي الإمارات أو قطر أو اليمن والرمز البريدي لا يتكون من 5 أحرف.

MsgBox("Confirm changes?",1)=1

انقر فوق موافق في مربع الحوار الذي تعرضه الدالة MsgBox. إذا نقرت فوق إلغاء في مربع الحوار، يتجاهل Access الإجراء.

أعلى الصفحة

انظر أيضاً

استخدام منشئ التعبير

مقدمة حول التعبيرات

إنشاء تعبير

دليل بناء التعبيرات

تعزيز مهارات Office
استكشاف التدريب
الحصول على الميزات الجديدة أولاً
الانضمام إلى Office Insider

هل كانت المعلومات مفيدة؟

نشكرك على ملاحظاتك!

شكراً لك على الملاحظات! يبدو أنه من المفيد إيصالك بأحد وكلاء دعم Office لدينا.

×