accdbExe

accdbExe
لینک سایر سایت‌های آموزش Access

اطلاعات تماس و ارسال نظر

شروع کار از: فروردین 1402

Logic


عملگر Mod 

این عملگر باقیمانده تقسیم دو عدد را بر هم بر می گرداند مثلا وقتی بخواهید ببینید که عددی زوج است، آنرا بر 2 تقسیم می کنید و اگر باقیمانده اش بزرگتر از 0 باشد آن عدد عددی زوج است.

مثلا:

if 4 mod 2=0 then .....

یعنی اگر عدد 4 زوج بود پس ...، یا مثلا فرض کنید داخل متغییر A، عددی وجود ارد و نمی دانیم عدد چند است، طی خط دستور زیر اگر عدد زوج باشد، پیام Zoj صادر خواهد شد، و اگر نه پیام Fard صادر خواهد شد:

if A mod 2=0 then msgbox "Zoj" else mesbox "Fard"

دستور نوشتاری فرمان(Syntax) به نحو زیر است:

result = number1 Mod number2

مقدار برگشتی این تابع یک عدد ست و دو آرگومان یا پارامتر دارد که هر دو عددی هستند.

ملاحظات

عملگر باقیمانده عدد اول را بر عدد دوم تقسیم می کند (اعداد ممیز شناور را گرد می کند تا اعداد صحیح) و فقط باقیمانده را به عنوان نتیجه برمی گرداند. به عنوان مثال، در عبارت زیر، A (نتیجه) برابر با 5 است.

A = 19 Mod 6.7

Example:

Dim MyResult

MyResult = 10 Mod 5 ' Returns 0.

MyResult = 10 Mod 3 ' Returns 1.

MyResult = 12 Mod 4.3 ' Returns 0.

MyResult = 12.6 Mod 5 ' Returns 3.


عملگر And

این عملگر دو پارامتر می گیرید و اگر هر دو پارامتر درست باشند نتیجهدرست بر می گرداند.

مثلا شما می خواهید اگر عددی زوج و بزرگتر از 10 بود پیام دهید ZojBozorg و اگرنه پیامی صادر نشود:

if  (A mod 2=0)  AND (A>10) then msgbox "ZojBozorg"

دستور نوشتاری فرمان(Syntax) به نحو زیر است:

result = expression1 And expression2

ملاحظات

اگر هر دو عبارت True ارزیابی شوند، نتیجه True است. اگر هر یک از عبارت ها به False ارزیابی شود، نتیجه False است. این جدول زیر نحوه تعیین نتیجه را نشان می دهد:

True AND True ::Result:True

True AND False ::Result:False

True AND Null ::Result:Null

False AND True ::Result:False

False AND False ::Result:False

False AND Null ::Result:False

Null AND True ::Result:Null

Null AND False ::Result:False

Null AND Null ::Result:Null

Example:

Dim A, B, C, D, MyCheck

A = 10: B = 8: C = 6: D = Null ' Initialize variables.

MyCheck = A > B And B -> C ' Returns True.

MyCheck = B > A And B -> C ' Returns False.

MyCheck = A > B And B -> D ' Returns Null.


عملگر OR (یا)

اگر دو پارامتر به این عملگر بدهیم باید و یکی از آنها درست ارزیابی شود، نتیجه برگشتی این تابع درست، خواهد بود.

Or Operator

دستور نوشتاری فرمان(Syntax) به نحو زیر است:

result = expression1 Or expression2

The Or operator syntax has these parts:

ملاحظات

اگر تنها یکی از دو عبارت True ارزیابی شوند یا هر دو عبارت True ارزیابی شوند، نتیجه True است. اگر هر دو عبارت ها به False ارزیابی شود، نتیجه False است. این جدول زیر نحوه تعیین نتیجه را نشان می دهد:

If expression1 is And expression2 is Then result is

True OR True 'True

True OR False 'True

True OR Null 'True

False OR True 'True

False OR False 'False

False OR Null 'Null

Null OR True 'True

Null OR False 'Null

Null OR Null 'Null

Example:

Dim A, B, C, D, MyCheck

A = 10: B = 8: C = 6: D = Null ' Initialize variables.

MyCheck = A > B Or B > C ' Returns True.

MyCheck = B > A Or B > C ' Returns True.

MyCheck = A > B Or B > D ' Returns True.

MyCheck = B > D Or B > A ' Returns Null.


عملگر Xor (فقط یکی درست)

Xor Operator

دستور نوشتاری فرمان(Syntax) به نحو زیر است:

[result =] expression1 Xor expression2

ملاحظات

اگر فقط یکی از دو عبارت به درست ارزیابی شود، نتیجه True است(دقت کنید فقط یکی از دو عبارت یعنی اگر هر دو دست باشند، دیگر نتیجه درست نیست). با این حال، اگر هر یک از عبارت ها تهی باشد، نتیجه نیز پوچ است. زمانی که هیچ کدام از عبارت ها تهی نباشد، نتیجه مطابق جدول زیر تعیین می شود:

True True False

True False True

False True True

False False False

Example:

Dim A, B, C, D, MyCheck

A = 10: B = 8: C = 6: D = Null ' Initialize variables.

MyCheck = A > B Xor B > C ' Returns False.

MyCheck = B > A Xor B > C ' Returns True.

MyCheck = B > A Xor C > B ' Returns False.

MyCheck = B > D Xor A > B ' Returns Null.


عملگر Not

If Not

این عملگر وضعیت را معکوس به نتیجه می رساند، مثلا می خواهیم اگر وضعیتی برقرار نباشد دستوری اجرا شود، همانطور که می دانید در دستور IF از ELSE استفاده می کنیم:

if (B) then

      'nothing

else

      'more commands

      'more commands

      'more commands

endif

اکنون می تونید خطوط بالا را به شکل زیر تغییر دهید:

if NOT (B) then

      'more commands

      'more commands

      'more commands

endif


عملگر Like (شبیه به ...)

در مقایسه جملات از عبارتهایی مانند * و ? استفاده هایی می شود.

این عبارتها تفاسیری دارند:

* یعنی هر جمله ای، مثلا: *Ali یعنی بعد از Ali هر جمله ای که وجود داشت، یا به عبارتی دیگر: یعنی هر جمله ای که با Ali شروع شود، یعنی AliReza، Ali reza، Alijan

؟ یعنی هر کاراکتر یا هر حرفی، در این مدل تعداد کاراکترها با تعداد ؟ ها تعیین می شود، مثلا: ??Ali، یعنی جمله ای که حتما بعد از Ali دو کاراکتر یا حرف باشد، مثلAlireT در این مثال Alireza جز مجموعه ??Ali، واقع نخواهد شد، اگر می خواهید Alireza جز مجموعه باشد باشد باید از عبارت ????Ali استفاده کنید.

# یعنی یک عدد مثل 1و2و3 و ...و9

برای اینکه جمله ای را با عبارتی از این قبیل عبارتها مقایسه کنید از هیچیک از عملگرهای قبلی نمی توان استفاده کرد، مثلا:

if "Ali????"="AliReza" then msgbox "OK" else "NO"

نتیجه درستور بالا "NO" خواهد بود، چون دو عبارت "????Ali"و "AliReza" با هم برابر نیستند.

برای مقایسه این دو عبارت به صورتی که توضیح دادم، یاد از عملگر Like استفاده کنید.

Like operator

دستور نوشتاری فرمان(Syntax) به نحو زیر است:

result = string Like pattern

اگر رشته با الگو مطابقت داشته باشد، نتیجه True است. اگر مطابقت وجود نداشته باشد، نتیجه نادرست است. اگر رشته یا الگوی تهی باشد، نتیجه صفر است.

رفتار عملگر Like به عبارت Option Compare بستگی دارد. مقایسه رشته پیش فرض روش برای هر ماژول گزینه مقایسه باینری است.

تطبیق الگوی داخلی ابزاری همه کاره برای مقایسه رشته ها فراهم می کند. ویژگی های تطبیق الگو اجازه می دهد شما می توانید از کاراکترهای عام، لیست کاراکترها یا محدوده کاراکترها در هر ترکیبی برای مطابقت با رشته ها استفاده کنید.

این جدول زیر کاراکترهای مجاز در الگو و آنچه که مطابقت دارند را نشان می دهد:

? Any single character.

* Zero or more characters.

# Any single digit (0–9).

[charlist] Any single character in charlist.

[!charlist] Any single character not in charlist.

Example:

Dim Name As String

Name = InputBox("Enter your name")

Find out if user's name begins with a J

If sName$ Like "J*" Then

 (code segment)

End If


عملگر Is

گاهی اوقات عبارتها را با هم مقایسه نمی کند بلکه اشیاء را با هم مقایسه می کنید، در چنین شرایطی  عملگر IS کارائی خواهد داشت.

Used to compare two object reference variables.

دستور نوشتاری فرمان(Syntax) به نحو زیر است:

result = object1 Is object2

The Is operator syntax has these parts:

Part Description

result Required; any numeric variable.

object1 Required; any object name.

object2 Required; any object name.

Remarks

If object1 and object2 both refer to the same object, result is True; if they do not, result is False. Two variables

can be made to refer to the same object in several ways.

Example:

MyCheck = YourObject Is ThisObject ' Returns True.

MyCheck = ThatObject Is ThisObject ' Returns False.