يمكنك استخدام التعبيرات للقيام بمجموعة متنوعة من المهام في Microsoft Access، مثل القيام بعمليات حساب رياضية أو دمج نص أو استخراجه أو التحقق من صحة بيانات. توفر هذه المقالة نظرة عامة ومعلومات حول التعبيرات — متى يجب استخدامها وما هي أجزاء مكوناتها وكيفية مقارنتها مع صيغ Microsoft Excel.
في هذه المقالة
نظرة عامة على التعبيرات
فكر في الأمر بهذه الطريقة: عندما تريد من Access فعل شيء معين، فعليك التحدث بلغته. على سبيل المثال، بفرض أنك تريد أن تخبر Access "ألقِ نظرة على حقل BirthDate في جدول "العملاء" وأخبرني بسنة ميلاد العميل". يمكنك كتابة هذا التعبير بالشكل التالي:
DatePart("yyyy",[Customers]![BirthDate])
يتكون هذا التعبير من الدالة DatePart وقيمتي الوسيطتين: "yyyy" و[Customers]![BirthDate].
لنفحص هذا التعبير بشيء من التفصيل.
1 DatePart هي دالة تفحص التاريخ وتُرجع جزءاً معيناً. في هذه الحالة، يتم استخدام أول وسيطتين.
2 تخبر الوسيطة الفاصلة Access بالجزء الذي يجب عرضه من التاريخ، في هذه الحالة تخبر الوسيطة "yyyy" Access بأنك تريد فقط عرض الجزء الخاص بالسنة فقط.
3 تخبر وسيطة التاريخ Access أين يبحث عن قيمة التاريخ؛ في هذه الحالة، تطلب الوسيطة [Customers]![BirthDate] من Access البحث عن التاريخ في حقل BirthDate في جدول "العملاء".
طرق استخدام التعبيرات
يمكنك استخدام التعبيرات بالطرق التالية:
-
حساب القيم غير الموجودة بشكل مباشر في بياناتك. يمكنك حساب القيم في الحقول الموجودة في الجداول والاستعلامات، كما يمكنك حساب القيم الموجودة في عناصر التحكم الموجودة في النماذج والتقارير.
-
تحديد قيمة افتراضية لحقل جدول أو عنصر تحكم في نموذج أو تقرير. وتظهر هذه القيم الافتراضية كلما فتحت جدولاً أو نموذجاً أو تقريراً.
-
إنشاء قاعدة تحقق من الصحة تتحكم في القيم التي يستطيع المستخدمون إدخالها في حقل أو عنصر تحكم.
-
تحديد معايير الاستعلام لقصر النتائج على مجموعة فرعية مطلوبة.
حساب القيم
تعد إحدى أكثر الطرق شيوعاً لاستخدام التعبيرات في Access هي حساب قيم غير موجودة مباشرة في البيانات. ويطلق على أي عمود في جدول أو استعلام ينتج من مثل هذه العملية الحسابية حقل محسوب. يمكنك إنشاء حقل محسوب يجمع بين حقلي جدول أو أكثر. على سبيل المثال، تعمل الكثير من الجداول على تخزين الأسماء الأولى وأسماء العائلة في حقول منفصلة. فإذا كنت تريد جمع هذه الأسماء ثم عرضها في حقل واحد، يمكنك إنشاء حقل محسوب في الجدول أو في الاستعلام:
[FirstName] & " " & [LastName].
في هذه الحالة، تقوم علامة العطف (&) بدمج القيمة الموجودة في حقل FirstName وحرف مسافة (مسافة محاطة بعلامات اقتباس) والقيمة الموجودة في حقل LastName.
تحديد قيمة افتراضية
يمكنك أيضاً استخدام التعبيرات في Access لتوفير قيمة افتراضية لحقل في جدول أو لعنصر تحكم. على سبيل المثال، لتعيين قيمة افتراضية لحقل تاريخ على التاريخ الحالي، ستكتب في مربع الخاصية Default Value لهذا الحقل ما يلي:
Date()
إنشاء قاعدة تحقق من الصحة
علاوةً على ذلك، يمكنك استخدام تعبير لتعيين قاعدة تحقق من الصحة. على سبيل المثال، يمكنك استخدام قاعدة تحقق من الصحة في عنصر تحكم أو حقل جدول للمطالبة بأن تكون قيمة التاريخ المُدخل أكبر من التاريخ الحالي أو مساوية له. في هذه الحالة، ستقوم بتعيين القيمة في مربع الخاصية Validation Rule على الآتي:
>= Date()
تحديد معايير الاستعلام
أخيراً، يمكنك استخدام تعبير لتعيين معايير الاستعلام. على سبيل المثال، لنفترض أنك تريد رؤية مبيعات المنتجات للطلبات التي تم شحنها ضمن إطار زمني معين. يمكنك إدخال المعايير لتعريف نطاق تاريخ، ويُرجع Access فقط الصفوف التي تتطابق مع المعايير. على سبيل المثال، قد يبدو التعبير مماثلاً لما يلي:
Between #1/1/2017# And #12/31/2017#
عند إضافة معايير إلى الاستعلام، ثم تشغيل الاستعلام، لا يتم عرض سوى تلك القيم التي تتطابق مع التواريخ المحددة.
أمثلة عن التعبيرات
يسرد الجدول التالي بعض تعبيرات Access النموذجية وكيفية استخدامها عادةً:
التعبير |
الغرض |
---|---|
=[RequiredDate]-[ShippedDate] |
يحسب الفرق بين قيم التاريخ في عناصر التحكم في مربعي نص (باسم RequiredDate وShippedDate) في أحد التقارير. |
Date() |
يعيّن القيمة الافتراضية لحقل الجدول Date/Time على التاريخ الحالي. |
Between #1/1/2017# And #12/31/2017# |
يحدد معايير لحقل Date/Time في أحد الاستعلامات. |
=[Orders Subform].Form!OrderSubtotal |
يعرض قيمة عنصر التحكم OrderSubtotal في النموذج الفرعي للطلبات الموجود في نموذج الطلبات. |
>0 |
يعيّن قاعدة تحقق من الصحة لحقل رقمي في أحد الجداول — يجب على المستخدمين إدخال قيم أكبر من الصفر. |
تبدأ بعد التعبيرات بعامل المساواة (=)، بينما لا يبدأ البعض الآخر بهذا العامل. فعند حساب قيمة لعنصر تحكم في نموذج أو تقرير ما، ستقوم باستخدام عامل = لبدء التعبير. في حالات أخرى، عند كتابة تعبير في استعلام أو في خاصية DefaultValue أو ValidationRule في أحد الحقول أو عناصر التحكم، لا تستخدم عامل =، ما لم تقم بإضافة التعبير إلى حقل Text في الجدول. في بعض الحالات، عند إضافة تعبيرات إلى استعلامات، يقوم Access بإزالة عامل = تلقائياً.
مكونات التعبيرات
يتكون التعبير من عدد من المكونات المحتملة التي يمكنك استخدامها، وحدها أو في مجموعة، للحصول على نتيجة. تتضمن هذه المكونات ما يلي:
-
المعرّفات هي أسماء حقول الجدول أو عناصر التحكم في النماذج أو التقارير أو خصائص تلك الحقول أو عناصر التحكم.
-
عوامل التشغيل العوامل على سبيل المثال، + (علامة الجمع) أو - (علامة الطرح).
-
الدالات الدالات على سبيل المثال، الدالة SUM أو AVG.
-
الثوابت قيم الثوابت التي لم يطرأ عليها أي تغيير — مثل سلاسل النص أو الأرقام التي لم يتم حسابها بعد بواسطة أي تعبير.
-
Values سلاسل القيم مثل "أدخل رقماً بين 1 و10." أو أرقام، مثل 1254 المستخدمة في العمليات.
تتناول الأقسام التالية هذه المكونات بمزيد من التفاصيل.
المعرفات
المعرف هو اسم حقل أو خاصية أو عنصر تحكم. يمكنك استخدام المعرف في التعبير للإشارة إلى القيمة المقترنة بحقل أو خاصية أو عنصر تحكم. على سبيل المثال، باعتبار التعبير =[RequiredDate]-[ShippedDate]. يطرح هذا التعبير قيمة الحقل أو عنصر التحكم ShippedDate من قيمة الحقل أو عنصر التحكم RequiredDate. في هذا التعبير، يعمل كل من RequiredDate وShippedDate كمعرفات.
العوامل
يدعم Access مجموعة متنوعة من العوامل، بما فيها العوامل الرياضية الشائعة، مثل + و- و* (ضرب) و/ (قسمة). كما يمكنك استخدام عوامل المقارنة مثل < (أقل من) أو > (أكبر من) لمقارنة القيم والعوامل النصية مثل & و+ لوصل (دمج) النصوص والعوامل المنطقية مثل Not وAnd لتحديد قيم الصواب أو الخطأ، وعوامل أخرى خاصة ببرنامج Access.
الدالات
تعتبر الدالات إجراءات مضمّنة يمكنك استخدامها في تعبيراتك. فيمكنك استخدام الدالات لمجموعة واسعة ومتنوعة من العمليات، كحساب القيم ومعالجة النصوص والتواريخ وتلخيص البيانات. على سبيل المثال، تُعد الدالة DATE شائعة الاستخدام حيث تعرض التاريخ الحالي. ويمكنك استخدام الدالة DATE بعدة طرق متنوعة، كاستخدامها في تعبير يعيّن القيمة الافتراضية لحقل في جدول. في هذا المثال، كلما قام أحد الأشخاص بإضافة سجل جديد، يتم تعين قيمة الحقل على التاريخ الحالي بشكل افتراضي.
تحتاج بعض الدالات إلى وسيطات. والوسيطة هي القيمة التي توفر إدخالاً للدالة. إذا تطلبت الدالة أكثر من وسيطة واحدة، فيمكنك استخدام الفاصلة لفصل الوسيطات. على سبيل المثال، الدالة DATE في مثال التعبير التالي:
=Format(Date(),"mmmm d, yyyy")
يستخدم هذا المثال وسيطتين:
-
الوسيطة الأولى هي دالة Date()التي تعرض التاريخ الحالي. وفي حالة عدم وجود أية وسيطات، لا يزال من الضروري إضافة أقواس الدالة.
-
الوسيطة الثانية "mmmm d, yyyy"، المفصولة عن الوسيطة الأولى بفاصلة، تحدد السلسلة النصية لتوجيه الدالة FORMAT إلى كيفية تنسيق قيمة التاريخ المعروضة. تجدر الإشارة إلى أنه تجب إحاطة السلسلة النصية بعلامتي اقتباس.
يوضح هذا التعبير أيضا أنه يمكنك في أغلب الأوقات إجراء تداخل للقيمة المعروضة مع إحدى الدالات كوسيطة لدالة أخرى. في هذه الحالة، تعمل Date() كوسيطة.
الثوابت
الثابت هو عنصر ما لا تتغير قيمته أثناء تشغيل Access. وعادة ما يتم استخدام الثوابت True وFalse وNull في التعبيرات. الثابت هو عنصر ما لا تتغير قيمته أثناء تشغيل Access. وعادة ما يتم استخدام الثوابت True وFalse وNull في التعبيرات.
القيم
يمكنك استخدام قيم حرفية في التعبيرات الخاصة بك، مثل الرقم 1254 أو السلسلة "أدخل رقماً بين 1 و10". يمكنك أيضاً استخدام القيم الرقمية، التي قد تكون سلسلة من الأرقام تتضمن علامة ونقطة عشرية، إذا لزم الأمر.
عند استخدام قيم سلاسل نصية، ضعها ضمن علامات اقتباس لضمان قيام Access بتفسيرها بطريقة صحيحة. في بعض الحالات، يقوم Access بتوفير علامات الاقتباس نيابة عنك. على سبيل المثال، عندما تكتب نصاً في تعبير لقاعدة تحقق من الصحة أو لمعايير استعلام، يقوم Access بإحاطة السلاسل النصية بعلامات اقتباس تلقائياً.
لاستخدام قيم التاريخ/الوقت، يجب تضمين القيم بين علامات (#). على سبيل المثال، #3-7-17#, #7-Mar-17# و#Mar-7-2017# هي كلها قيم تاريخ/وقت صالحة. عندما يصادف Access قيمة تاريخ/وقت صالحة مضمّنة بين أحرف #، سيعاملها تلقائياً كنوع بيانات تاريخ/وقت.
مقارنة تعبيرات Access وصيغ Excel
تشبه تعبيرات Access صيغ Excel، حيث يستخدم كل من التعبيرات والصيغ عناصر مماثلة للحصول على نتيجة. تحتوي صيغ Excel وتعبيرات Access على واحد أو أكثر من العناصر التالية:
-
المعرّفات في Excel، هي أسماء الخلايا الفردية أو نطاقات الخلايا في أحد المصنفات، على سبيل المثال A1 أو B3:C6 أو Sheet2!C32. في Access، المعرفات هي أسماء حقول الجدول (على سبيل المثال، [Contacts]![First Name]) أو عناصر التحكم في النماذج أو التقارير (على سبيل المثال، Forms![Task List]![Description]) أو خصائص تلك الحقول أو عناصر التحكم (على سبيل المثال، Forms![Task List]![Description].ColumnWidth).
-
عوامل التشغيل تُستخدم في Access وExcel لمقارنة القيم أو للقيام بعمليات حسابية بسيطة على بياناتك. تشتمل الأمثلة على + (علامة الجمع) أو - (علامة الطرح).
-
الدالات تُستخدم في Access وExcel لإكمال تنفيذ المهام التي لا يمكنك تنفيذها باستخدام العوامل وحدها — على سبيل المثال، يمكنك إيجاد متوسط القيم في حقل أو تحويل نتيجة عملية حسابية إلى تنسيق عملة. تشتمل أمثلة الدالات على SUM وSTDEV. أما الوسيطات فهي القيم التي توفر المعلومات للدالات. لاحظ أن Access وExcel يتضمنان العديد من الدالات للاختيار منها، ولكن أسماء الدالات المماثلة في البرامج تكون أحياناً مختلفة. على سبيل المثال، تتطابق الدالة AVERAGE في Excel مع الدالة AVG في Access.
-
الثوابت الثوابت في Access وExcel عبارة عن قيم لا تتغيّر — كالأرقام التي لا يتم حسابها باستخدام أي تعبير.
-
Values القيم في Access وExcel هي قيم يتم استخدامها بطريقة مماثلة.
تستخدم تعبيرات Access عوامل التشغيل والثوابت المماثلة لتلك المستخدمة في صيغ Excel، ولكن تعبيرات Access تستخدم معرّفات ودالات مختلفة. في حين تُستخدم صيغ Excel عادةً في خلايا أوراق العمل فقط، تُستخدم تعبيرات Access في العديد من الأماكن ضمن Access لمجموعة متنوعة من المهام بما فيها المهام التالية:
-
إنشاء عناصر التحكم المحسوبة على النماذج والتقارير
-
إنشاء الحقول المحسوبة في الجداول والاستعلامات
-
العمل كمعايير في الاستعلامات
-
التحقق من صحة البيانات التي يتم إدخالها في حقل أو في عنصر تحكم على نموذج
-
تجميع البيانات في التقارير
يمكنك استخدام تعبير Access أو صيغة Excel لحساب القيم الرقمية أو قيم التاريخ/الوقت باستخدام العوامل الرياضية. على سبيل المثال، لحساب سعر مخصوم لأحد العملاء، يمكنك استخدام صيغة Excel =C2*(1-D2) أو تعبير Access = [Unit Price]*(1-[Discount]).
يمكنك أيضاً استخدام تعبير Access أو صيغة Excel لدمج السلاسل أو تقسيمها أو بمعنى آخر معالجتها باستخدام عوامل السلاسل. على سبيل المثال، لدمج الاسم الأول واسم العائلة في سلسلة واحدة، يمكنك استخدام صيغة Excel =D3 & " " & D4 أو تعبير Access = [First Name] & " " & [Last Name].