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

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

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

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

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

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

عمليات النص

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

تعبير

النتيجة

="N/A"

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

=[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 لعرض تاريخ وعد يسبق قيمة عنصر التحكم تاريخ بعشرة أيام.

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

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

=[InvoiceDate] + 30

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

أعلى الصفحة

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

تستخدم أمثلة التعبيرات في الجدول التالي الدالة 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 يعرض القيم في حقول المدينة والمنطقة والرمز البريدي، مفصولة بمسافات.

ProductInitial: Left([ProductName], 1)

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

TypeCode: Right([AssetCode], 2)

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

AreaCode: Mid([Phone],2,3)

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

ExtendedPrice: 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]

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

FreightPercentage: Sum([Freight])/Sum([Subtotal]) *100

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

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

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

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

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

أعلى الصفحة

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

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

تعبير

الوصف

LagTime: DateDiff("d", [OrderDate], [ShippedDate])

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

YearHired: DatePart("yyyy",[HireDate])

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

MinusThirty: Date( )- 30

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

أعلى الصفحة

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

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

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

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

تعبير

الوصف

RowCount: Count(*)

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

FreightPercentage: Sum([Freight])/Sum([Subtotal]) *100

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

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

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

AverageFreight: DAvg("[Freight]", "[Orders]")

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

أعلى الصفحة

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

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

تعبير

الوصف

CurrentCountryRegion: IIf(IsNull([CountryRegion]), " ", [CountryRegion])

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

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

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

SixMonthSales: Nz([Qtr1Sales]) + Nz([Qtr2Sales])

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

أعلى الصفحة

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

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

تعبير

الوصف

Cat: (SELECT [CategoryName] FROM [Categories] WHERE [Products].[CategoryID]=[Categories].[CategoryID])

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

أعلى الصفحة

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

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

الحقل

تعبير

الوصف

مدينة الشحن

"London"

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

مدينة الشحن

"London" Or "Hedge End"

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

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

In("Canada", "UK")

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

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

Not "USA"

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

اسم المنتج

Not Like "C*"

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

اسم الشركة

>="N"

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

رمز المنتج

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

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

اسم الشحن

Like "S*"

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

أعلى الصفحة

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

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

الحقل

تعبير

الوصف

تاريخ الشحن

#2/2/2017#

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

تاريخ الشحن

Date()

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

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

Between Date( ) And DateAdd("m", 3, Date( ))

يستخدم العامل 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 لعرض طلبات الشهر والسنة الحاليين.

تاريخ الشحن

Between #1/5/2017# And #1/10/2017#

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

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

Between Date( ) And 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 "S*"

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

اسم الشحن

Like "*Imports"

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

اسم الشحن

Like "[A-D]*"

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

اسم الشحن

Like "*ar*"

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

اسم الشحن

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

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

اسم الشحن

Not Like "A*"

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

أعلى الصفحة

مطابقة الصفوف باستخدام دالات 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

"PN" & [PartNumber]

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

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

[UnitPrice] * [Quantity]

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

الشحن

[Freight] * 1.5

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

المبيعات

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

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

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

Right([ShipPostalCode], 5)

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

سعر الوحدة

Nz([UnitPrice])

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

أعلى الصفحة

عبارات SQL

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

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

النتيجة

SELECT [FirstName],[LastName] FROM [Employees] WHERE [LastName]="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

المنطقة

"New York, N.Y."

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

فاكس

""

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

تاريخ الطلب

Date( )

تاريخ اليوم

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

Date() + 60

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

أعلى الصفحة

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

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

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

خاصية ValidationRule

خاصية ValidationText

<> 0

الرجاء إدخال قيمة غير صفرية.

0 Or > 100

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

Like "K???"

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

< #1/1/2017#

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

>= #1/1/2017# And < #1/1/2008#

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

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

أعلى الصفحة

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

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

[Counter]=10

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

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

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

If

[City]="Paris"

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

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

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

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

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

[ShippedDate] Between #2-Feb-2017# And #2-Mar-2017#

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

Forms![Products]![UnitsInStock] < 5

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

IsNull([FirstName])

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

[CountryRegion]="UK" And Forms![SalesTotals]![TotalOrds] > 100

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

[CountryRegion] In ("France", "Italy", "Spain") And Len([PostalCode])<>5

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

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

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

أعلى الصفحة

انظر أيضاً

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

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

إنشاء تعبير

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

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

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

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

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

×