دليل إلى بناء جملة التعبير

دليل إلى بناء جملة التعبير

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

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

نظرة عامة على التعبيرات

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

العناصر والمجموعات والخصائص

المعرّفات

الدالات وعوامل التشغيل والثوابت والقيم

يبلغ حد التداخل للتعبيرات في قاعدة بيانات على ويب 65‏‏

نظرة عامة على التعبيرات

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

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

على سبيل المثال، يحتوي التعبير التالي على المكونات الشائعة:

=Sum([Purchase Price])*0.08 
  • Sum() عبارة عن دالة مضمنة

  • [Purchase Price] عبارة عن معرف

  • * عبارة عن عامل تشغيل رياضي

  • 0.08 عبارة عن ثابت

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

بإمكان التعبيرات أن تكون أكثر تعقيداً أو أكثر بساطة من هذا المثال. على سبيل المثال، يتألف هذا التعبير منطقي من عامل تشغيل وثابت فقط:

>0

يعرض هذا التعبير:

  • True عند مقارنته بعدد أكبر من 0.

  • False عند مقارنته بعدد أصغر من 0.

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

أعلى الصفحة

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

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

  • المعرفات    النموذج العام هو:

    [Collection name]![Object name].[Property name]

    يتعين عليك فقط تحديد أجزاء كافية في المعرف لجعله فريداً في سياق التعبير. ويعد هذا أمراً شائعاً للمعرف أن يأخذ الشكل [Object name].

  • الدالات    النموذج العام هو:

    Function(argument, argument)

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

  • عوامل التشغيل    النموذج العام هو:

    Identifier operator identifier

    هناك استثناءات لهذا النموذج كما هو مفصل في المقطع عوامل التشغيل.

  • الثوابت    النموذج العام هو:

    Identifier comparison_operator  constant
  • القيم    يمكن أن تحدث القيم في العديد من المواقع داخل تعبير ما.

أعلى الصفحة

العناصر والمجموعات والخصائص

تُعرف كل الجداول والاستعلامات والنماذج والتقارير والحقول الموجودة في قاعدة بيانات Access، تُعرف بشكلٍ فردي بعناصر. ولكل عنصر اسم. بعض العناصر يكون لديها اسم بالفعل، مثل جدول "جهات الاتصال" في قاعدة بيانات تم إنشاؤها من القالب "جهات اتصال Microsoft Office Access". عند إنشاء عنصر جديد، يجب أن تمنحه اسماً.

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

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

يوضح الرسم التخطيطي التالي العلاقة بين المجموعات والعناصر والخصائص:

علاقات مجموعات بالعناصر بالخصائص

‏3 خاصية

‏2 عنصر

‏1 مجموعة

أعلى الصفحة

المعرّفات

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

[Customers]![BirthDate]

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

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

[Products]![ProductID]

عوامل تشغيل المعرف    هناك ثلاثة عوامل تشغيل يمكن استخدامها في المعرف:

  • عامل التشغيل "علامة التعجب" (!)

  • عامل التشغيل "النقطة" (.)

  • عامل التشغيل "القوسان المربعان" ([ ])

يمكن استخدام عوامل التشغيل هذه عن طريق إحاطة كل جزء من المعرف بأقواس مربعة، ثم ضمها باستخدام إما عامل التشغيل "علامة التعجب" أو عامل التشغيل "النقطة". على سبيل المثال، يمكن التعبير عن معرف لحقل باسم "اسم العائلة" في جدول باسم "الموظفون" كـ [Employees]![Last Name]. يخبر عامل التشغيل "علامة التعجب" Access بأن ما يلي هو عنصر ينتمي إلى المجموعة التي تسبق عامل التشغيل "علامة التعجب". في هذه الحالة، يعتبر [اسم العائلة] عنصر حقل ينتمي إلى المجموعة [الموظفون]، والتي تعتبر بحد ذاتها عنصر جدول.

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

أعلى الصفحة

الدالات وعوامل التشغيل والثوابت والقيم

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

الدالات

الدالة هي إجراء يمكن استخدامه في تعبير ما. بعض الدالات مثل "التاريخ" لا تتطلب أي إدخال لكي تعمل. غير أن معظم الدالات تتطلب إدخالاً يسمى الوسيطات.

في المثال الموجود في بداية هذه المقالة، تستخدم الدالة DatePart وسيطتين: وسيطة الفاصل الزمني، مع القيمة "yyyy" ووسيطة التاريخ، مع القيمة [Customers]![BirthDate]. تتطلب الدالة DatePart هاتين الوسيطتين (الفاصل الزمني والتاريخ) على الأقل، ولكن يمكن أن تقبل ما يصل إلى أربع وسيطات.

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

  • يتم استخدام الدالة Date لإدراج التاريخ الحالي للنظام في تعبير ما. ويتم استخدامها بشكل شائع مع الدالة "Format"، كما يمكن استخدامها أيضاً مع معرفات الحقول التي تحتوي على بيانات التاريخ/الوقت.

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

    DatePart ( "yyyy", Date())
  • يتم استخدام الدالة DateDiff لتحديد الفرق بين تاريخين، عادة بين تاريخ تم الحصول عليه من معرف حقل وتاريخ تم الحصول عليه باستخدام الدالة Date.

    =DateDiff(“d”, Now(), [Orders].[ReceiveBefore])-10 
  • يتم استخدام الدالة Format لتطبيق تنسيق ما على معرّف وعلى نتائج دالة أخرى.

    Format([Date],"ww")=Format(Now(),"ww")-1 
  • يتم استخدام الدالة IIf للتقييم هل التعبير صواب أم خطأ ثم تقوم بإرجاع إحدى القيم إذا كان التعبير صواب وقيمة مختلفة إذا كان التعبير خطأ.

    =IIf([CountryRegion]="Italy", "Italian", "Some other language")
  • يتم استخدام الدالة InStr للبحث عن موقع حرف أو سلسلة داخل سلسلة أخرى. ويتم عادة الحصول على السلسلة التي يتم البحث عنها من معرف حقل.

    InStr(1,[IPAddress],".")
  • يتم استخدام الدالات ‏Left‏ و‏Mid‏ و‏Right‏ لاستخراج الأحرف من السلسلة، بداية من الحرف الموجود في أقصى اليسار (Left) أو من موضع محدد في الوسط (Mid) أو من الحرف في أقصى اليمين (Right). كما يتم استخدامها بشكل شائع مع الدالة InStr. ويتم عادة الحصول على السلسلة التي تستخرج هذه الدالات الأحرف منها من معرف حقل.

    Left([ProductName], 1)
    Right([AssetCode], 2) 
    Mid([Phone],2,3) 
    

للحصول على قائمة بالدالات، راجع الدالات (مرتبة حسب الفئة).

عوامل التشغيل

عامل التشغيل هو كلمة أو رمز يدل على علاقة معينة حسابية أو منطقية بين عناصر التعبير الأخرى. يمكن أن تكون عوامل التشغيل:

  • حسابية، مثل علامة الجمع (+).

  • مقارنة، مثل علامة التساوي (=).

  • منطقية، مثل Not.

  • تسلسل، مثل &.

  • خاص، مثل Like.

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

حسابية    

يتم استخدام عوامل التشغيل الحسابية لحساب قيمة من رقمين أو أكثر أو لتغيير علامة عدد من الموجب إلى السالب.

عامل التشغيل

الغرض

مثال

+

جمع رقمين.

[Subtotal]+[SalesTax]

-

العثور على الفرق بين رقمين أو توضيح القيمة السالبة لرقم.

[Price]-[Discount]

*

ضرب رقمين.

[Quantity]*[Price]

/

قسمة الرقم الأول على الرقم الثاني.

[Total]/[ItemCount]

\

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

[Registered]\[Rooms]

Mod

قسمة الرقم الأول على الرقم الثاني وإرجاع الباقي فقط.

[Registered] Mod [Rooms]

^

رفع رقم إلى قوة الأس.

رقم^الأس

مقارنة    

يتم استخدام عوامل تشغيل المقارنة لمقارنة القيم وإرجاع نتيجة إما أن تكون بالقيمة صواب أو بالقيمة خطأ أو بالقيمة "Null" (قيمة غير معروفة).

عامل التشغيل

الغرض

<

تحديد ما إذا كانت القيمة الأولى أصغر من القيمة الثانية.

<=

تحديد ما إذا كانت القيمة الأولى أصغر من القيمة الثانية أو مساوية لها.

>

تحديد ما إذا كانت القيمة الأولى أكبر من القيمة الثانية.

>=

تحديد ما إذا كانت القيمة الأولى أكبر من القيمة الثانية أو مساوية لها.

=

تحديد ما إذا كانت القيمة الأولى تساوي القيمة الثانية.

<>

تحديد ما إذا كانت القيمة الأولى لا تساوي القيمة الثانية.

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

دالة منطقية    

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

عامل التشغيل

الاستخدام

الوصف

And

Expr1 وExpr2

True عندما يكون كل من Expr1 وExpr2 بالقيمة صواب.

Or

Expr1 أو Expr2

True عندما يكون أي من Expr1 أو Expr2 بالقيمة صواب.

Eqv

Expr1 Eqv Expr2

True عندما يكون كل من Expr1 وExpr2 بالقيمة صواب أو كل من Expr1 وExpr2 بالقيمة خطأ.

Not

Not Expr

يكون بالقيمة صواب عندما يكون Expr بالقيمة خطأ.

Xor

Expr1 Xor Expr2

يكون بالقيمة صواب عندما يكون أي من Expr1 أو Expr2 بالقيمة صواب، ولكن ليس كلاهما.

التسلسل    

يمكنك استخدام عوامل تشغيل التسلسل لدمج قيمتين نصيتين في سلسلة واحدة.

عامل التشغيل

الاستخدام

الوصف

&

سلسلة 1 وسلسلة 2

دمج سلسلتين لتكوين سلسلة واحدة.

+

سلسلة 1 + سلسلة 2

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

خاص    

يمكنك استخدام عوامل التشغيل الخاصة كما هو موضح في الجدول التالي.

عامل التشغيل

الوصف

لمزيد من المعلومات

Is Null or Is Not Null

تحديد ما إذا كانت القيمة Null أو ليست Null.

Like "pattern"

مطابقة قيم السلسلة باستخدام عوامل تشغيل أحرف البدل ? و*.

عامل التشغيل Like‏

Between val1 And val2

تحديد ما إذا كانت قيمة رقمية أو قيمة تاريخ توجد ضمن نطاق معين.

عامل التشغيل Between...And

In(string1,string2...)

تحديد ما إذا كانت قيمة سلسلة موجودة داخل مجموعة من قيم السلسلة.

عامل التشغيل In

الثوابت

الثابت هو قيمة معروفة لا تتغير ويمكن استخدامها في تعبير. هناك أربعة ثوابت شائعة الاستخدام في Access:

  • True تشير إلى شيء صواب منطقياً.

  • False تشير إلى شيء خطأ منطقياً.

  • Null تشير إلى عدم توفر قيمة معروفة.

  • "" (empty string) تشير إلى قيمة معروف أنها فارغة.

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

يجب توخي الحذر عند استخدام الثابت Null. في معظم الحالات، يؤدي استخدام Null مع عامل تشغيل المقارنة إلى حدوث خطأ. إذا كنت تريد مقارنة قيمة بـ Null في تعبير ما، فاستخدم Is Null أو عامل التشغيل Is Not Null.

القيم

يمكنك استخدام القيم الحرفية في تعبيراتك، مثل الرقم 1,254 أو السلسلة "إدخال رقم بين 1 و10." يمكنك أيضاً استخدام قيم رقمية بإمكانها أن تكون سلسلة من الأرقام، بما فيها علامة وفاصلة عشرية، إذا لزم الأمر. في حال عدم وجود علامة، يفترض Access قيمة موجبة. لجعل إحدى القيم سالبة، يجب تضمين علامة الطرح (-). يمكنك أيضاً استخدام الرموز العلمية. لإجراء ذلك، يجب تضمين "E" أو "e" وعلامة الأس (على سبيل المثال، 1.0E-6).

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

على سبيل المثال، إذا كتبت النص Paris، فسيعرضه Access على الشكل "Paris" في التعبير. إذا كنت تريد أن ينتج أحد التعابير سلسلة مضمّنة في الواقع بين علامات اقتباس، يجب تضمين السلسلة المتداخلة إما في علامات اقتباس فردية (') أو ضمن ثلاث مجموعات من علامات الاقتباس المزدوجة ("). على سبيل المثال، التعبيرات التالية مكافئة:

Forms![Contacts]![City]. DefaultValue = ' "Paris" ' 
Forms![Contacts]![City].DefaultValue = " " "Paris" " " 

لاستخدام قيم التاريخ/الوقت، يجب تضمين القيم في علامات الرطل (#). على سبيل المثال، #7-3-17# و#7-مارس-17# و#7-مارس-2017# هي كلها قيم تاريخ/وقت صالحة. عندما يصادف Access قيمة تاريخ/وقت صالحة مضمّنة بين أحرف #، سيعاملها تلقائياً كنوع بيانات تاريخ/وقت.

أعلى الصفحة

يبلغ حد التداخل للتعبيرات في قاعدة بيانات على ويب 65‏‏

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

يمكن أن يؤدي استخدام عوامل التشغيل & وAND وOR إلى إنشاء مستويات تداخل إضافية على الخادم لا تنعكس في عميل Access. فعلى سبيل المثال إن التعبير "a" & "b" & "c" غير متداخل في "منشئ التعبير"، ولكن في SharePoint يصبح concatenate.Db("a", concatenate.Db("b", "c") ). تنشئ هذه الترجمة مستوى واحداً من التداخل. يمكن أن يؤدي استخدام العديد من عوامل التشغيل المتتالية & أو AND أو OR في تعبير واحد إلى تجاوز الحد الأقصى لمعدل تداخل الخادم وهو 65 وعند هذا الحد لن يعمل التعبير في المستعرض.

أعلى الصفحة

انظر أيضاً

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

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

إنشاء تعبير

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

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

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

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

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

×