ارتباط با پايگاه داده‌هایAccess در Visual Basic

ارتباط با پايگاه داده‌هایAccess در Visual Basic
ارتباط با پايگاه داده‌هایAccess در Visual Basic
9,000 تومان 
تخفیف 15 تا 30 درصدی برای همکاران، کافی نت ها و مشتریان ویژه _____________________________  
وضعيت موجودي: موجود است
تعداد:  
افزودن به ليست مقايسه | افزودن به محصولات مورد علاقه

تعداد صفحات : 82 صفحه _ فرمت WORD _ دانلود مطالب بلافاصله پس از پرداخت آنلاین

پيشگفتار :
ما در عصري زندگي مي‌كنيم كه آن را عصر اطلاع رساني يا قرن ارتباطات ناميده‌اند، لذا مي‌توان اذعان نمود كه كامپيوتر بهترين ابزار ارتباطي در آن عصر مي‌باشد. امروزه كامپيوتر نه تنها به عنوان يك وسيله شخصي يا ابزار گروهي خاص مورد استفاده قرار مي‌گيرد، بلكه به عنوان يك وسيله ارتباطي مهم در جهان مطرح مي‌باشد و به همين دليل است كه كاربرد آن روز به روز در جهان گسترش مي‌يابد به گونه‌اي كه در همه كشورهاي جهان از جايگاه ويژه‌اي برخوردار مي‌باشد.
با گسترش كاربرد كامپيوتر در جهان اين رشته به صورت گسترده‌اي در زمينه‌هاي مختلف توسعه يافته و هر روز نيز به اين گسترش افزوده مي‌گردد.
پيشرفت سريع تكنولوژي، به ويژه فناوري اطلاعات و ارتباطات (ICT) روز به روز چشم اندازها و افق‌هاي روشن‌تري را جهت تسخير قلل علمي، فني و صنعتي و حل مشكلات و مسائل بشر ارائه مي‌كند و تك تك افراد جامعه را به تلاش مضاعف در كسب مهارتهاي رايانه‌اي و كاربرد آنها در ساير علوم ملزم مي‌سازد، به نحوي كه امروزه افراد و جوامع ناتوان در بكارگيري فن آوريهاي جديد رايانه‌ را بي سواد تلقي مي‌كنند. يكي از رشته‌هاي علمي مفيد در زمينه كامپيوتر كار با پايگاه داده‌ها و نرم افزارهاي بانك اطلاعاتي است كه در زمينه‌هاي مختلف تجاري و اداري و وب سايت و ... كاربرد دارد.
از اين نرم‌افزارهاي مي‌توان به ORACLE ، ACCESS , MS SQL SERVER, MS SQL اشاره نمود.
ACCESS يك نرم افزار بانك اطلاعاتي قوي و آسان است كه بسياري از كاربران بانك اطلاعاتي تمايل زيادي به استفاده نرم افزار خوب و سودمند بهره گرفته شده است.
زبان برنامه نويسي BASIC نيز به دليل راحتي و آموزش سريع و آسان از گذشته دور مورد استقبال بسياري از كاربران و برنامه نويسان بوده است.
زبان VISUAL BASIC نسخة تحت ويندوز زبان Basic است كه البته بسيار قوي‌تر و پيشرفته‌تر از نسخة تحت DOS آن عمل مي‌كند و بسياري از برنامه‌هاي پيشرفته و سطح بالا و پيچيد ه مورد نياز شركت‌هاي بزرگ به ويژه برنامه‌هاي چند رسانه‌اي (Multi Media) با آن استفاده ازآن نوشته مي‌شود.
من نيز در اين پروژه درسي از اين زبان قوي كه داراي قابليت ارتباط با بانك اطلاعاتي به نحو مطلوبي است، بهره گرفته‌ام.
اصل و پايه پروژه من نحوة ارتباط با پايگاه داده‌ها، در يك زبان سطح بالا است كه شامل باز كردن بانك اطلاعاتي،ديدن اطلاعات موجود در بانك اطلاعاتي، ويرايش يا حذف داده‌هاي بانك اطلاعاتي، ذخيره داده‌هاي جديد در بانك اطلاعاتي و ليست كردن داده‌هاي بانك اطلاعاتي طبق خواسته و نظر كاربر مي‌باشد.
بانك اطلاعاتي برنامه من مربوط به يك فروشگاه نوت بوك مي‌باشد. در اين فروشگاه علاوه بر خود نوت بوك، كيف نوت بوك، لوازم جانبي نوت بوك يا PC، اجزاء اصلي داخل نوت بوك يا PC و نيز خود PC عرضه مي‌شود.
برنامه VB در اين پروژه طبق Query هاي خاصي كه در ارتباطش با بانك اطلاعاتي ACCESS درخواست مي‌كند، ليست‌هاي متفاوتي از اطلاعات آن را به نمايش در مي‌آورد.
نرم‌افزارهاي مورد استفاده :
1- Microsoft Access 2003
از برنامه‌هاي مجموعة office 2003 Microsoft
2- Microsoft Visual Basic
از برنامه‌هاي مجموعة Microsoft Visual Basic studio 6.0



مقدمات Visual Basic
مفاهيم اوليه
روش‌هاي برنامه نويسي معمولاً به دو نوع كلي تقسيم مي‌شوند:
* برنامه نويسي تابع گرا يا ساخت يافته
* برنامه نويسي شي‌ءگرا
الف) برنامه نويسي تابع گرا يا Procedural : اين روش برنامه‌نويسي متن گرا نيز ناميده مي‌شود روش قديمي تري است كه مبتني بر توابع مي‌باشد و معمولاً يكي از توابع اصلي است. با شروع برنامه، كنترل برنامه به اولين دستور تابع اصلي رفته و به ترتيب شروع به اجراي دستورات، از اولين دستور تا آخرين دستور تابع، مي‌كند و مواقعي هم ممكن است فراخواني‌هايي به يك يا چند زير برنامه داشته باشد كه با هر بار فراخواني، كنترل برنامه به ابتداي تابع مورد نظر رفته و دستورات آن تابع را به ترتيب اجرا مي‌نمايد آن گاه با اتمام دستورات تابع مذكور، كنترل برنامه به ابتداي تابع مورد نظر رفته و دستورات آن تابع را به ترتيب اجرا مي‌نمايد آن گاه با اتمام دستورات تابع مذكور، كنترل برنامه به دستور بعد از دستور فراخواني برمي‌گردد و روال برنامه تا رسيدن به آخرين دستور تابع اصلي ادامه مي‌يابد. بعد از اجراي آخرين دستور تابع اصلي يا رسيدن به دستور خاتمه‌ي برنامه، برنامه پايان مي‌پذيرد؛ مانند اكثر زبان‌هاي برنامه نويسي كه تا به حال با آن كار كرده‌ايم، كه از جمله بيسيك، پاسكال و C.
ب ) برنامه نويسي شيء گرا (Object Oriented): برنامه نويسي شيء گرا داراي اصول و ويژگي‌هايي است كه با پيدايش ويندوز ومفاهيمي چون «چند وظيفه‌اي» كه در آن سيستم عامل وجود دارد، مطرح شد. در اين روش، بر خلاف روش قبلي، به جاي استفاده از تابع اصلي كه وظيفه‌ي كنترل تمام برنامه را بر عهده دارد از مفاهيمي هم چون كلاس، خصوصيت و شيء استفاده مي‌شود. بنابراين براي يادگيري بهتر اين روش نخست بايد با مفاهيم گفته شده آشنا شويم.
در محيط زندگي با مفهوم شيء آشنا هستم. همان طور كه مي‌دانيد يك شيء چيزي است مادي كه داراي خصوصياتي است، از جمله اين كه مي‌تواند در مقابل برخي اتفاقات كه ممكن است برايش رخ دهد از خود واكنش‌هايي نشان دهد. پس با اين حال مي‌توان گفت كه هر شيء به همراه سه جنبه‌ي زير شناخته مي‌شود :
·        خواص
·        رفتار يا متد
·        روابط
خواص ويژگي‌هايي است كه مشخص كننده‌ي حالت فعلي شي‌ء است؛ براي مثال مي‌‌توان گفت رنگ يك ميز قهوه‌اي است يا قد يك شخص 170 سانتي‌متر بودن قد خواص آنهاست.
رفتار يك شيء نحوه‌ي پاسخ آن شيء در مقابل رويدادهايي است كه ممكن است برايش رخ دهد. براي مثال شيء ميز در مقابل رويداد وارد آمدن نيروي بيش از حد بر آن مي‌شكند (رفتار). حال خودتان مثال‌هايي را براي شيء يك شخص و رويدادهايي كه مي‌تواند براي وي اتفاق افتد و رفتارهاي متقابل او بيابيد. توجه داشته باشيد كه ممكن است شيء خاصي در مقابل بعضي رويدادها هيچ رفتاري از خود نشان ندهد. اين در صورتي است كه براي رويداد مورد نظر هيچ رفتاري تعريف نشده باشد. روابط هر شيء نيز نشان دهنده‌ي ارتباط آن شيء با اشياي ديگر است. به عنوان مثال، يك شخص مي‌تواند مالك يك شيء مانند ميز باشد كه در اين صورت رابطه‌ي مالكيت بين شيء و شخص برقرار است.
اشيايي كه در دنياي واقعي وجود دارند، از انواع متفاوتند. حتي اشياي هم نوع ممكن است خصوصيات، رفتارها و روابط متفاوتي داشته باشند. با توجه به اين نكته، براي شيء‌ها تقسيم بندي خاصي را در نظر مي‌گيريم و اصطلاح كلاس را تعريف مي‌كنيم. كلاس مجموعه‌ي تمام اشياي هم نوع است. هر چند اين شيءها خواص، رفتار و روابط متفاوتي داشته باشند.
مثلاً انسان يك كلاس است و هر شخص به خصوصي از اين مجموعه شيئي از كلاس مذكور تلقي مي‌شود. با توجه به تعاريف و مفاهيمي كه در بالا ذكر شد مي‌توان روش برنامه نويسي شي‌ء گرا را به صورت زير بيان كرد:
هر برنامه‌ي شيءگرا شامل تعدادي شيء با خواص و متدهاي متفاوت است به طوري كه روابط خاص بين آنها برقرار مي‌باشد.
متدها مجموعه‌اي از دستورالعمل‌هاي برنامه نويسي هستند كه بايد در هنگام بروز رويدادهايي آشكار شوند. مجموعه‌ي اين دستورالعمل‌ها رفتار آن شيء را در برابر رويداد به خصوصي نشان مي‌دهند.
تاريخچه‌ي زبان BASIC
BASIC ، سر نام كلمات Beginner’s All-purpose Symbolic Instruction Code به معني زبان همه منظوره براي افراد مبتدي است. اين زبان برنامه نويسي، به دليل سادگي ساختاري، از محبوبيت زيادي برخوردار است. يك هنرجوي مبتدي كه آشنايي زيادي با رايانه و برنامه نويسي ندارد، پس از آموزشي كوتاه، قادر خواهد بود كه اين زبان را ياد گرفته، امكان نوشتن برنامه در محيط اين زبان برنامه نويسي را به دست آورد.
زبان برنامه سازي BASIC، در سال 1964 ميلادي، از سوي John Kenney و Thomas – kiurts در كالج دارتموث (Dartmouth) پديد آمد. اين زبان، نخستين زبان برنامه سازي نبود ولي هدف اين افراد، فراهم نمودن يك زبان ساده براي دانشجويان رشته‌هاي مختلف بود. تا به امروز نسخه‌‌هاي متعددي از زبان BASIC ارائه شده است كه مي‌توان از آن جمله به
 QUICK BASIC , QBASIC , ANSI BASIC , BASIC , GW BASIC اشاره كرد.
زبان برنامه نويسي BASIC با ارائه‌ي VISUAL BASIC جان تازه‌اي گرفت و دوباره رونق يافت. به همين دليل، به عنوان يك زبان برنامه سازي پايه‌اي در دوره‌ي آموزشس رايانه شناخته شده است. هنرجو، با آموختن اين زبان، با اصول برنامه سازي و همچنين برنامه نويسي در محيط VISUAL BASIC , QUICK – BASIC  آشنا خواهد شد.
در هر زبان برنامه سازي اگر مقدمات آن زبان را بياموزيد،نوشتن برنامه‌ها در آن ساده خواهد بود.
مقدمات يك زبان عبارتند از : انواع داده‌هاي موجود، چگونگي تعريف متغيرها، انواع عملگرها، دستورهاي شرطي، انواع حلقه‌هاي تكرار و دستورهاي ورودي / خروجي.
كار با ويژوال بيسيك
محيط ويژوال بيسيك ساده است. اين محيط كه از جمله محيط‌هاي توسعه يافته‌ي مجتمع يعني (Integrated Development Environment) IDE مي‌باشد، به برنامه نويسان امكان مي‌دهد كه برنامه‌هاي تحت ويندوز خود را بدون نياز به استفاده از برنامه‌هاي كاربردي ديگر، اجرا و خطايابي كند.
 
آشنايي با محيط ويژوال بيسيك
بعد از اجراي برنامه ويژوال بيسيك، كادر محاوره‌اي New project به نمايش در مي‌آيد كه در اين كادر به برنامه نويس امكان انتخاب يكي از انواع برنامه‌هايي را مي‌دهد كه مي‌‌توان در VB ايجاد كرد.
نوع Standard EXE كه به طور پيش فرض در اين كادر انتخاب شده است به برنامه نويس امكان مي‌دهد كه برنامه اجرايي استانداردي را ايجاد نمايد (برنامه‌هاي اجرايي استاندارد از اكثر خصيصه‌هاي ويژوال بيسيك استفاده مي‌كنند).
كادر محاوره‌اي New project شامل سه زبانه (Tab)است :
·        برگه New : جهت ايجاد يك پروژه‌ي جديد
·        برگه‌ي Existing : براي باز كردن پروژه‌اي كه از قبل وجود دارد.
·        برگه‌ي Recent : ليستي از آخرين پروژه‌هاي باز شده يا ايجاد شده را نشان مي‌دهد.
تعريف پروژه (Project) :            پروژه عبارت است از مجموعه‌ي فايل‌هايي (فرم، برنامه و ...) كه در كل يك هدف واحد را دنبال مي‌كنند. كدهاي برنامه، مشخصات ظاهري برنامه و احتمالاً فايل‌هاي بانك اطلاعاتي در اين مجموعه از فايل‌ها قرار دارند.
براي باز كردن يك پروژه بر روي آيكن Standard . exe دابل كليك كرده و يا روي آيكن، كليك كنيد، سپس كليد Enter و يا دكمه‌يOpen را فشار دهيد. با باز شدن پروژه، كادر تبادلي بسته شده و وارد محيط IDE مي‌شويم. اين محيط داراي چندين پنجره؛ يك ميله‌ي منو و يك ميله‌ي ابزار است كه مشابه ميله‌هاي منو و ابزار در اكثر برنامه‌هاي تحت ويندوز است.
پروژه‌ي Standard EXE شامل پنجره‌هاي زير مي‌باشد.
1-   پنجره‌ي پروژه (PROJECT)
2-   پنجر‌ه‌ي (Form Layout)
3-   جعبه ابزار (ToolBox)
4-   پنجره‌ي خصوصيات (Properties)
5-   پنجره‌ي فرم (Form)
پنجره‌ي پروژه : پنجره‌اي است كه معمولاً به نام Project Explorer نيز معروف است شامل تمام فايل‌هاي مربوط به پروژه مي‌باشد.
نوار ابزار اين پنجره شامل سه دكمه به نام‌هاي : View object , View code و Toggle Folder است.
·    دكمه‌يView code براي نمايش پنجره‌اي كه در آن كد VB (دستورات برنامه) فايلي كه در پنجره‌ي پروژه‌ي فعال وجود دارد، به كار مي‌رود.
·        هم چنين View code براي نمايش شكل ظاهري فرم فعال در پنجره‌ي پروژه به كار مي‌رود.
نكته : اگر در پنجره‌ي پروژه هيچ فايلي فعال نباشد هر دو دكمه‌ي View code و View object به صورت غير فعال درمي‌آيند.
·    دكمه‌ي Toggle Folders باعث مي‌شود كه با هر بار فشار آن، پوشه‌ي Forms به صورت متناوب به نمايش درآمده و پنهان شود.
پنجره Project يكي از مهمترين ابزارهاي مديريت پروژه است.
پنجره (Form Layout) :اين پنجره محل فرم را به هنگام اجراي برنامه (Run time) بر روي صفحه‌ي نمايش مشخص مي‌كند.
اين پنجره يك صفحه‌ي نمايش را نشان مي‌دهد كه در داخل آن محل قرار گرفتن فرم مشخص شده است.
با قرار دادن نشان گر ماوس بر روي شكل فرم و پايين نگه داشتن دكمه‌ي سمت چپ ماوس و جابه‌جا كردن آن (Drag) مي توان فرم را در محل جديد خود قرار داد. به اين ترتيب در زمان اجرا فرم مورد نظر در محل مشخص شده ظاهر مي شود.
پنجره ي خصوصيات (properties window) : اين پنجره ويژگي ها و خصوصيات فرم يا كنترل را نشان مي دهد كه به ترتيب الفبايي[1] مرتب شده اند.
در قسمت بالاي پنجره، جعبه‌ي ليست مانندي (combo box) وجود دارد كه در آن نام كنترل يا فرمي كه خصوصيات آن در اين پنجره آورده شده است. داخل اين ليست نام تمامي كنترل‌ها و همچنين نام فرمي كه فعلاً فعال است آورده شده است. با انتخاب هر كنترل يا فرم ديگري از اين ليست خصوصيات مربوط به آن در پنجره نشان داده مي‌شود. توجه كنيد كه بعضي از اين خصوصيات مشترك هستند مانند خصوصيت Name كه در هر مورد نشان دهنده‌ي نام كنترل يا فرم است، برخي ديگر براي كنترل‌ها يا فرم مشترك نيستند بلكه منحصر به فردند.
جعبه‌ي ابزار (Tool box) : اين جعبه شامل كنترل‌هايي است كه از هر كدام آنها مي‌توان به تعداد دلخواه بر فرم‌هاي مربوط به پروژه اضافه كرد. به اين شرط كه نام هر شيء ايجاد شده منحصر به فرد باشد.
كنترل‌هاي مربوط به جعبه‌ي ابزار نسبت به نوع پروژه‌اي كه در ابتداي ايجاد پروژه‌ي جديد مشخص مي‌شود، متغير است و معمولاً در نوع Standard EXE تعداد اين كنترل‌ها بيشتر مي‌باشد. با اين حال روش‌هايي براي اضافه كردن كنترل‌هايي كه به صورت استاندارد در جعبه‌ي ابزار قرار داده نشده‌اند ولي در VB موجود مي‌باشد وجود دارد.
پنجره‌ي فرم‌ها (Forms) : اين پنجره، فرم فعال در پنجره‌ي پروژه، با تمام اشياي مربوط به آن را در يك رابط گرافيكي كاربر [2]CUI) نشان مي‌دهد. (
در ابتداي ايجاد يك فرم جديد هيچ شيئي در آن وجود ندارد. البته در صورتي كه دكمه‌ي View code در پنجره‌ي پروژه انتخاب شود و يا بر روي شي‌ء يا فرم Double Click شود، پنجره‌‌ي مربوط به كد در اين قسمت نمايش داده مي‌شود.
نوار منو (Menu bar) : نوار منو مكاني است كه در اكثر برنامه‌هاي تحت ويندوز وجود دارد و شامل دستوراتي براي ساخت، نگهداري و راه اندازي برنامه‌هاست.
جدول 1 وظايف هر بخش از منو را به طور خلاصه مشخص نموده است.
جدول 1
File  براي باز كردن، ذخيره و چاپ پروژه
Edit  براي Paste كپي، حذف و غيره.
View  براي نحوه‌ي نمايش پنجره‌هاي محيط IDE
Project  براي افزودن خصيصه‌هايي مانند فرم‌ها به يك پروژه
Format  براي تنظيم كنترل‌هاي موجود بر روي فرم
Run  براي خطايابي
Query  براي اجرا، متوقف كردن برنامه و ...
Diagram  براي بازيابي داده‌ها از پايگاه داده‌ها
Tools  براي ابزارهاي IDE و بهينه سازي محيط كار
Add­­_ins براي نصب و حذف
Windows  براي مرتب كردن و نمايش پنجره‌ها
Help  راهنماي كاملي براي استفاده كننده

 
در پايين نوار منو، نوار ابزاري وجود دارد كه توسط آن مي‌توان به سرعت به برخي از گزينه‌هاي منو دسترسي پيدا كرد.
طريقه‌ي كار با جعبه ابزار
براي اضافه كردن يك شيء از هر كنترل موجود در جعبه‌ي ابزار مي‌توان به دو روش عمل نمود :
الف ) با Double Click كردن روي هر كنترل، يك نمونه از شيء مربوطه كه در وسط فرم فعال ظاهر مي‌شود، هميشه از نظر اندازه و موقعيت ثابت است. با پايين نگه داشتن كليد ماوس روي هر شيء اضافه شده و حركت دادن ماوس (Drag) مي‌توان محل شيء را تغيير داد و نيز مي‌توان با قرار دادن مكان نما در گوشه‌هاي شيء و Drag كردن، اندازه‌ي آن شيء را نيز به دلخواه تعيين نمود.
ب ) كنترل مربوط به آن شيء را در جعبه ابزار توسط كليك سمت چپ ماوس انتخاب نمود و سپس بر روي فرم مورد نظر در محل دلخواه كليك كرده و با Drag كردن، شيء را به اندازه‌ي دلخواه بر روي فرم اضافه نمود.
كليات
هنگام برنامه نويسي بايد بدانيد كه كدها چگونه با فرم‌ و كنترل‌هاي برنامه ارتباط برقرار مي‌كنند. به ياد داريد كه پنجره‌ي خواص تمام فايل‌هاي برنامه را نشان مي‌دهد. كدهاي برنامه در پنجره‌ي كد نوشته مي‌شوند ولي مي‌دانيد كه روال‌هاي رويداد به فايل‌هاي خاص خود نياز ندارند؛ آنها در همان فايل فرم ذخيره مي‌شوند. يك فرم مي‌تواند كدهايي داشته باشد كه روال رويداد نيستند، اينها كدهايي هستند كه وظايف كلي‌تري بر عهده دارند.
پروژه‌ها مي‌توانند انواع ديگري از كد داشته باشند. روال‌هاي Visual Basic مي‌توانيد سابروتين يا تابع باشند. تمام كدهايي كه روال رويداد نيستند را مي‌توان در يك محل جداگانه، به نام ماژول (module)، قرار داد. ماژول يك فايل جداگانه است كه در پنجره‌ي خواص ظاهر خواهد شد. از نظر فني، كدهاي موجود در فرم هم در يك ماژول (به نام ماژول فرم) قرار دارند. هر پروژه به تعداد فرم‌هايشان داراي ماژول فرم است. وقتي برنامه‌اي داراي چند فرم است. برنامه نويس بايد تصميم بگيرد كه كدام فرم در شروع برنامه روي صفحه ظاهر شود. فرم شروع (start form) اولين فرمي است كه در برنامه ايجاد مي‌شود، اما مي‌توان اين وضع را عوض كرد. براي اين كار، آيتم Project>Project Name Properties را كليك كنيد (<Project Name> نام پروژه است) تا Visual Basic كادر محاوره‌اي خواص پروژه را نشان دهد.
پنجره‌ي code
اما يك ماژول فرم علاوه بر روال‌هاي رويداد مي‌تواند حاوي قسمت ديگري هم باشد: قسمت تعاريف (Declaration Section). قسمت تعاريف فضايي است كه نام‌هاي مورد استفاده در ساير قسمت‌هاي ماژول تعريف مي‌شوند. كنترل‌ها نيازي به تعريف ندارند، اما ساير انواع داده‌هاي Basic Visual را بايد در اين قسمت تعريف كنيد.
هر ماژولي هم كه داشته باشد مي‌تواند داراي يك قسمت تعاريف باشد؛ اين قسمت هميشه در ابتداي ماژول ظاهر مي‌شود. هر كدي كه قبل از اولين روال رويداد نوشته شود جزء اين قسمت محسوب خواهد شد.
متن انتخاب شده (كه با دستور Option Explicit شروع شده) قسمت تعاريف ماژول است. دقت كنيد كه در ليست‌هاي Procedure , Object به ترتيب (Genera;) و (Declarations) ديده مي‌شود؛ دو ليست در هر لحظه نشان مي‌دهند كه شما در كدام قسمت از ماژول فرم قرار داريد.
دو روال بعدي روال رويداد نيستند و اين واقعيت را از نام آنها مي‌توان دريافت. به ياد داريد كه نام يك روال رويداد از دو قسمت، نام كنترل و نام رويداد كه با يك زير خط به هم متصل شده‌اند، تشكيل مي‌شود. با اين كه نام روال Update _ Count () داراي دو قسمت و يك زير خط است ولي اگر مكان نما را در بدنه‌ي اين روال قرار دهيد در ليست Object همچنان كلمه‌ي General را خواهيد ديد، چون روال مزبور جزء روال‌هاي عمومي ماژول است. (اما نام روال Update _ Countدر ليست Procedure ظاهر خواهد شد، چون اين ليست حاوي نام تمام روال‌هاي ماژول از جمله روال‌هاي عمومي است).
داده‌هاي در ويژوال بيسيك
هر زبان برنامه‌نويسي براي پردازش اطلاعات به انواع مختلفي از داده‌ها نياز دارد و Basic Visual هم از اين قاعده مستثني نيست. Basic Visual از انواع داده‌هاي مختلفي پشتيباني مي‌كند كه با آنها مي‌توان نيازهاي مختلف برنامه نويس را برآورده كرد.
Basic Visual هم مانند ساير زبان‌هاي برنامه‌نويسي درباره‌ي داده‌هاي خود سخت گير است (البته نه به شدت برخي ازآنها) و بايد دقيقاً به او بگوييد كه از چه نوع داده‌اي مي‌خواهيد استفاده كنيد. Basic Visual از دوازده (12) نوع داده (Data type) پشتيباني مي‌كند.
داده‌هاي عددي
تمام انواع داده‌هاي عددي در يكي از مقوله‌هاي زير جاي مي‌‌گيرند:
· اعداد صحيح (Integer). اعداد صحيح بدون نقطه‌ي اعشاري : مانند 614، 0، 934- 0
·اعداد اعشاري (Decimal). اعداد با نقطه‌ي اعشاري (مميز)؛ مانند 709، 8، 005، 0، 355، 402 – به اعداد اعشاري اعداد مميز شناور هم گفته مي‌شود. در تمام اعداد اعشاري بايد نقطه‌ اعشاري وجود داشته باشد حتي اگر ارقام بعد از آن صفر باشند.
Basic Visual اعداد اعشاري و صحيح را به روش‌هاي مختلف ذخيره و با آنها كار مي‌كند. با آنكه براي يك كاربر بين 8 و 00/8 هيچ فرقي وجود ندارد ولي از نظر Basic Visual آنها متفاوتند.
مقدار حافظه‌اي كه انواع داده‌اي مختلف به خود اختصاص مي‌دهند يكسان نيست. با نگاه كردن به يك عدد نمي‌توان گفت كه چقدر حافظه اشغال كرده است. مثلاً، اعداد 999، 29، 701 هر دو به يك مقدار حافظه مي‌گيرند. با آن كه امروزه ديگر حافظه يك مشكل كليدي نيست و شما هم به عنوان برنامه نويس نبايد زياد نگران آن باشيد، ولي هميشه سعي كنيد براي داده‌هايتان نوعي انتخاب كنيد كه حافظه‌ي كمتري را اشغال مي‌كند.
در جدول 2 هفت نوع داده‌ي عددي Basic Visual، مقدار حافظه‌ي مورد نياز هر كدام و محدوده‌اي مي‌توانند در خود جاي دهند را مي‌بينيد. هنگام تعريف داده‌ها اين جدول را مد نظر داشته باشيد. به عنوان مثال، اگر مي‌خواهيد با اعداد منفي كار كنيد نبايد از نوع Byte استفاده كنيد، اما اگر با سن افراد سر و كار داريد اين نوع بهترين انتخاب ممكن است.
جدول 2) هفت نوع داده‌ي عددي BasicVisual
Byte  1 بايت 0 تا 255
Integer  2 بايت 33/768 – تا 32/767
 Long  4 بايت 2/147/483/648- تا 2/147/483/647
Single  8 بايت اعداد منفي: - 402823و 383 + E تا – 401298 – E-451
اعداد مثبت : 401298و 451- E تا 402823و 383+ E
Double  8 بايت اعداد منفي : - 79769313486232 و 3081+E تا ـ
94065645841247و 3244- E
اعداد مثبت : 94065645841247و 3244- E تا
79769313486232 و 3081+E
Currency  8 بايت - 922/337/203/685/5808و477 تا
922/337/203/685/5807و477 (چهار رقم اعشار براي حفظ دقت محاسبات است)
Decimal  12 بايت 79/228/162/514/264/337/593/543/950/335  بدون اعشار
9228162514264337593543950335و7 با حداكثر 28 رقم اعشاري (Visual Basic هنوز به طور كامل از اين نوع پشتيباني نمي‌كند).

بايت (byte) معادل يك واحد ذخيره سازي در حافظه PC است. در نوع Single براي نوشتن نماي عدد از E يا e استفاده مي‌شود؛ در نوع Double مي‌توان از D يا d براي نوشتن نما استفاده كرد. براي تبديل يك عدد از عدد نويسي معمولي بايد عدد بعد از E (يا D) را به توان 10 رسانده و آن را در عدد قبل از E (يا D) ضرب كنيد. مثلاً،E+55,83 معادل 10000 (105)× 83/5 يا 583000 است. هنگام كار با اعداد بسيار بزرگ (يا بسيار كوچك) عدد نويسي علمي كمك قابل توجهي به دقت و صرفه جويي درجا خواهد كرد.
وقتي در برنامه عددي را صريحاً مي‌نويسيد (به اين قبيل اعداد واژه‌ي عددي – Numeric Literal – گفته مي‌شود)، Visual Basic مناسب‌ترين نوع را براي آن برمي‌گزينند ولي گاهي لازم است تا واژه‌ي مورد استفاده از نوعي باشد كه شما داريد نه آنچه كه Visual Basic تعيين مي‌كند. در چنين مواردي مي‌توانيد نوع واژه را صريحاً به Visual Basic معرفي كنيد، اين كار با استفاده از پسوند نوع داده (data – type suffix) امكان پذير است. جدول 3 انواع پسوندهاي عددي را در Visual Basic نشان مي‌دهد.
جدول 3) پسوندهاي عددي Visual Basic
پسوند نوع داده
& Long 
! Single 
Double 
@ Currency 

 
توجه داشته باشيد كه اگر از عدد نويسي علمي استفاده مي‌كنيد، حروف D,E به ترتيب معرف انواع Double , Single هستند و ديگر نبايد از پسوند نوع داده استفاده كنيد.
به يك مثال توجه كنيد. اگر در برنامه‌‌اي از واژه‌ي عددي 8/5 استفاده كرده باشيد، Visual Basic به طور خودكار نوع Single  را براي آن برمي‌گزينند و 4 بايت حافظه به آن اختصاص مي‌دهد. اما با نوشتن اين عدد به صورت ، Visual Basic را وادار كنيد تا به آن چشم يك عدد Double نگاه كند و 8 بايت حافظه براي آن كنار بگذارد.
ساير انواع داده
درك‌ داده‌هاي غير عددي (براي كساني كه علاقه‌اي به رياضيات ندارند) آسان‌تر است. يكي از دلايلي كه BASIC، عليرغم حضور زبان‌ها پيشرفته‌تر، همچنان مطرح مانده، توانايي‌هاي آن در كار با رشته‌هاي متن است. رشته (String) تركيبي است از چند كاراكتر، كه حتي مي‌توانند عدد باشند ولي نمي‌توان روي آنها محاسبه انجام داد. نام، آدرس، شماره تلفن يا حساب بانكي را مي‌توان به صورت رشته نمايش داد. همواره سعي كنيد فقط براي اعدادي كه نياز به محاسبه دارند از انواع عددي استفاده كنيد. در جدول 4 انواع غير عددي Visual Basic را مي‌بينيد.
جدول 4 انواع داده‌ي غير عددي Visual Basic
نوع داده  مقدار حافظه  محدوده 
(طول ثابت) String  طول رشته از 1 تقريباً 65400 كاراكتر
(طول متغير) String طول رشته + 10 بايت 0 تا 2 ميليارد كاراكتر
Date  8 بايت از اول ژانويه 100 تا31 دسامبر9999
Boolean  2 بايت True  يا False 
Object  4 بايت معادل شيء تعريف شده
(عددي) Variant  16 بايت هر عددي تا Doble 
(متن) Variant طول رشته + 22 بايت مانند (طول متغير) String 

 
متغير Boolean فقط مي‌تواند دو مقدار بگيرد: True (درست) يا False (نادرست).
واژه‌هاي رشته‌اي (string literal) هميشه بين دو علامت نقل قول (") قرار مي‌گيرند و مي‌توانند شامل هر كاراكتري باشند. مثال‌هاي زير همگي رشته هستند.
"Oh me, oh my"
"543 – 00 – 0324"
"1020 S.Yale Avenue"
""
هر چيزي كه بين دو علامت " قرار گيرد، يك رشته است حتي اگر (مانند مثال آخر) هيچ كاراكتري در آن نباشد. رشته‌اي كه طول آن صفر باشد، رشته‌ي Nullناميده مي‌شود. Visual Basic از رشته‌هاي خاصي به نام رشته‌هاي خالي (كه با كلمه‌ي كليدي Empty تعريف مي‌شوند) پشتيباني مي‌كند. رشته‌ي خالي رشته‌اي است كه هيچ مقداري (حتي Null) ندارد.
هنگام تعريف واژه‌هايي كه حاوي تاريخ و زمان هستند از علامت  استفاده كنيد. Visual Basic از تمام فرمت‌هاي تاريخ و زمان پشتيباني مي‌كند. به مثال‌هاي زير توجه كنيد:
 July 4,1776
7:11 pm
19:11:22
1-2-2003
5-Dec-99
نوع داده‌اي Boolean براي مواردي براي مواردي مناسب است كه فقط دو مقدار متضاد (True يا False، Yes يا No و از اين قبيل) داريد. خاصيت Enabled كنترل‌ها از اين نمونه است.
نوع داده‌اي Variant مي‌تواند هر مقداري (به جز رشته‌هاي با طول ثابت) را در خود جاي دهد. از اين نوع داده زماني استفاده كنيد كه از قبل دقيقاً ندانيد با چه نوع داده‌اي سر و كار خواهد داشت.
كار با متغيرها
متغير (variable) مكاني است براي نگهداري يك مقدار، مقداري كه در متغير قرار داده مي‌شود، قابل تغيير است (نام آن هم بر همين ويژگي دلالت دارد). وقتي مقداري را در يك متغير قرار مي‌دهيد مقدار قبلي آن از بين خواهد رفت. متغير مكاني است در حافظه براي ذخيره كردن داده‌هاي موقتي برنامه.
متغيرها با نامشان شناخته مي‌شوند، بنابراين در يك روال استفاده از دو متغير با يك نام مجاز نيست چون Visual Basic قادر به تشخيص آنها نخواهد بود. بر خلاف كنترل‌ها كه Visual Basic خود به آنها يك نام پيش فرض مي‌دهد، نامگذاري متغيرها از همان ابتدا برعهده‌ي برنامه نويس است. قبل از استفاده از يك متغير بايد آن را تعريف (declare) كنيد، تعريف يك متغير يعني نامگذاري آن و تعيين نوع مقداري كه مي‌تواند بگيرد. متغيرها مي‌توانند فقط از همان نوعي كه تعريف شده‌اند مقدار بگيرند (به استثناي متغيرهاي variant كه مي‌توانند از تمام انواع داده مقدار بگيرند)
تعريف متغيرها
براي تعريف يك متغير (نامگذاري و تعيين نوع آن) از كلمه‌ي كليدي Dim استفاده مي‌شود. قبل از استفاده از يك متغير حتماً بايد آن را تعريف كرد. البته Visual Basic اجازه مي‌دهد كه اين قاعده‌ي كلي را زير پا بگذاريد ولي تخلف از اين قاعده مي‌تواند به سردرگمي منجر شود. الزام (يا عدم الزام) به تعريف متغيرها را مي‌توانيد در منوي Tools، گزينه options، برگه‌ي Editor و گزينه‌ي Require Variable Declaration مشخص كنيد. اگر دقت كرده باشيد، در قسمت تعاريف پنجره‌ي كد كه دستور به صورت پيش فرض وجود دارد:
Option Explicit 
اين دستور به Visual Basic مي‌گويد كه در كل ماژول مورد بحث، متغيرها قبل از استفاده بايد تعريف شوند. در چنين ماژول‌هايي هر گاه نام يك متغير را اشتباه بنويسيد، Visual Basic آن را به شما گوشزد خواهد كرد. اما اگر اين گزينه را غير فعال كرده باشيد، Visual Basic اشتباه در نوشتن نام يك متغير را متغير جديدي تلقي كرده و به كار خود ادامه خواهد داد. در اين حالت تمام متغيرهايي كه صريحاً تعريف نشوند از نوع Variant در نظر گرفته خواهند شد.
شكل كلي استفاده از دستور Dim براي تعريف يك متغير چنين است :
Dim Var Name As Data Type
كه در آن Var Name نام متغير و Data Type يكي از انواع داده‌هاي Visual Basic است. متغيرهاي مورد استفاده در يك روال بايد در همان ابتداي روال تعريف شوند. متغيرهاي تعريف شده در يك روال فقط در همان روال قابل استفاده‌‌اند و در هيچ روال ديگري قابل دسترسي نيستند؛ به اين قبيل متغيرها، متغير محلي (local variable) گفته مي‌شود. متغيرهايي كه در قسمت تعاريف ماژول تعريف شوند از تمام روال‌هاي آن ماژول قابل دسترس خواهند بود؛ به اين گونه متغيرها، متغيرعمومي (Global Variable) مي‌گويند. متغيرهاي عمومي فقط در همان ماژولي كه تعريف شده‌اند ديده مي‌شوند. متغيرها را مي‌توان به گونه‌اي تعريف كرد كه در تمام ماژول‌هاي پروژه قابل دسترسي باشند.
چون نام گذاري متغيرها بر عهده‌ي برنامه نويس است، بايد قواعد نام گذاري آنها را بدانيد:
نام متغير بايد با يكي از حروف الفبا شروع شود.
استفاده از حروف و اعداد در نام متغيرها مجاز است.
نام يك متغير مي‌تواند تا 255 كاراكتر طول داشته باشد.
سعي كنيد حتي الامكان از حروف خاص (غير الفبايي – عددي) استفاده نكنيد؛ زير خط (_) در اين ميان يك استثناست.
فاصله در نام متغيرها مجاز نيست.
علاوه بر قواعد الزامي فوق، سعي كنيد هنگام نام گذاري متغيرها نكات زير را هم رعايت كنيد:
در نام متغيرها از پيشوندهايي استفاده كنيد كه نوع آن را مشخص كند. بدين ترتيب ديگر نيازي نيست مدام براي اطلاع از نوع يك متغير به قسمت تعريف متغيرها مراجعه كنيد.
اگر از نام‌هاي بامعني استفاده كنيد، برنامه برنامه‌تان قابل فهم‌تر خواهد بود و به مستندسازي كمتري نياز خواهد داشت.
در هر دستور Dim مي‌توان بيش از يك متغير را تعريف كرد؛ تعريف‌ها با كاما (,) از هم جدا مي‌شوند :
Dim intTotal As integer, CurSales99 As Currency
اگر نوع داده‌ي يك متغير ذكر نشود، Visual Basic آن را از نوع variant تعريف خواهد كرد؛ بنابراين هر دو دستور زير معادل يكديگرند:
 Dim vntControlVal As Variant
Dim vntControlVal
تعريف رشته‌ها
هنگام تعريف رشته‌ها يك مشكل ثانويه پيش مي‌آيد، چون دو نوع String وجود دارد: با طول ثابت، با طول متغير. متداول‌ترين رشته‌ها رشته‌هاي با طول متغيرهستند چون روش تعريف آنها درست شبيه تعريف متغيرهاي ديگر است. در مثال‌هاي زير دو رشته‌ي با طول متغير تعريف شده‌اند :
Dim strCityName As String
Dim strStateName As String
هر دوي اين متغيرها مي‌توانند رشته‌هايي با طول‌هاي متفاوت را در خود نگه دارند. مثلاً، اگر ابتدا در متغير strCityName رشته‌ي "Tehran" و سپس رشته‌اي "Yazd" را ذخيره كنيم، اين متغير طول خود را متناسب با آن تغيير خواهد داد. در اكثر موارد اين همان چيزي است كه ما مي‌خواهيم، ولي گاهي پيش مي‌آيد (مثلاً هنگام كار با فايل‌ها) كه بخواهيم طول رشته‌ها ثابت بماند. در اين موارد بايد طول آنها را مشخص كنيم :
اگر رشته‌اي كه طول آن بيش از پنج حرف باشد به متغير strZipCode نسبت داده شود، Visual Basic فقط پنج حروف اول آن را ذخيره مي‌كند و ما بقي را دور خواهد انداخت.
مقدار دادن به متغيرها
بعد از تعريف يك متغير، مي‌توان داده‌ها را در آن ذخيره كرد. ساده‌ترين راه براي ذخيره كردن يك مقدار در يك متغير، دستور انتساب (assignment statement) است. شكل كلي اين دستور چنين است :
Item Name = Expression
كه در آن Item Name نام يك متغير (يا خصوصيت) است و Expression مي‌تواند يكي از موارد زير باشد :
·        يك عبارت محاسباتي  
·        يك واژه
·        يك عبارت منطقي يا رشته‌اي
·   مقدار خصوصيت يك كنترل (خواص كنترل‌ها از نوع Variant هستند ولي Visual Basic هنگام ذخيره كرده آنها در يك متغير نوع آنها را تبديل خواهد كرد)
·   تركيبي از عبارات محاسباتي يا منطقي، واژه‌ها، متغيرها و مقدار خئاص كنترل‌ها هر چيزي كه بتواند يك مقدار توليد كند، عبارت (expression) است. به مثال‌هاي زير توجه كنيد :
curSales : 571275
strFirstName="Herry"
blnPassedTest=True
blnsEnabled = iblTitle.Enabled
dblValue=45.1#
intcount=intNumber
dteOld= #4-1-92#
sngOld97Tptal=sngNew98Total-100000
 مهمترين نكته درباره‌ي يك عبارت آن است كه مقدار سمت راست عبارت به متغير سمت چپ آن نسبت داده مي‌شود. توجه كنيد كه مقدار سمت راست عبارت بايستي با نوع متغير سمت چپ عبارت متناسب باشد، يا اينكه امكان تبديل آن براي Visual Basic وجود داشته باشد. مثلاً، Visual Basic مي‌تواند يك عدد كوچكتر را در متغيري از نوع Long (كه قاعدتاً براي اعداد بزرگ به كار مي‌رود) قرار دهد، ولي نمي‌تواند يك رشته را به متغير عددي نسبت دهد. در Visual Basic،براي حفظ سازگاري با بيسيك‌هاي قديمي، مي‌توان از كلمه كليدي let براي مقدار دادن به متغيرها استفاده كرد؛ دو دستور زير معادل يكديگرند:
Let intCount =1
inCount= 1
عملگرهاي ويژوال بيسيك
Visual Basic از عملگر (operator) هاي محاسباتي و رشته‌اي متعددي پشتيباني مي‌كند. جدول 5 عملگرهاي متداول Visual Basic را نشان مي‌دهد. عملگر ابزاري است براي تركيب كردن داده‌هاي مورد نظر.
عملگر توان (exponentiation) يك عدد را به توان عدد ديگر مي‌رساند؛ 2^3 يعني 2توان 3، عملگرهاي ضرب، تقسيم، جمع و تفريق هم دقيقاً همان كاري را مي‌كنندكه در محاسبات معمول با آن آشنا هستيد. عملگر Mod براي محاسبه‌ي باقي مانده يك تقسيم است، بنابراين 3 11 mod معادل 2 خواهد شد. چون باقي مانده‌ي تقسيم 11 بر 3 معادل 2 است. عملگر Mod فقط براي اعداد صحيح است و اگر از اعداد اعشاري استفاده كنيد، Visual Basic ابتدا آنها را به صحيح تبديل كرده و سپس باقي مانده را محاسبه خواهد كرد. عملگر تقسيم صحيح (\) خارج قسمت صحيح تقسيم را برمي‌گرداند و باقي مانده‌ي تقسيم را دور مي‌اندازد.
جدول 5 عملگرهاي Visual Basic
عملگر  مفهوم مثال  نتيجه 
^ توان 2^3 8
* ضرب 2*3 6
/ تقسيم 6/2 3
+ جمع 2+3 5
- تفريق 6-3 3
Mod مدول يا نهشت 11 mod 3 2
\ تقسيم صحيح 11/3 3
& يا + تركيب رشته‌ها "Hi,"&"There" "Hi, There"

 
نكته جالب در جدول 5 آن است كه عملگر + دو كار متفاوت انجام مي‌دهد: جمع معمولي و به هم چسباندن (تركيب) رشته‌ها. اين عملگرها با توجه به محلي كه مورد استفاده قرار رفته (بين دو عدد يا بين دو رشته) واكنش مناسب را نشان مي‌دهد. هنگام تركيب رشته‌ها، Visual Basic هيچ چيز به آنها اضافه نخواهد كرد. بنابراين اگر مي‌خواهيد بين دو رشته يك فاصله وجود داشته باشد بايد خودتان آن را اضافه كنيد. به مثال زير توجه كنيد:
StrCompleteName=lblFirst.Caption & " " & lblLast.Caption
به اين نوع عملگرها عملگر تحريف شده مي‌گويند چون عملكرد آنها بسته به مكان استفاده از آن متفاوت خواهد بود.
نكاتي درباره‌ي تقدم عملگرها
Visual Basic اعمال رياضي را به ترتيب خاصي، كه در جدول 6 آمده، انجام مي‌دهد. اعمال درون       پرانتز ابتدا اجرا مي‌شوند و سپس بالاترين تقدم را توان (^) دارد و بعد نوبت به ضرب و تقسيم مي‌رسد و بعد از آن نوبت جمع و تفريق است.
جدول 6 تقدم عملگرها در محاسبات
عملگر  مفهوم مثال  نتيجه 
1 پرانتز (2+3)*7 35
2 ^ 2^3+1 9
3 Mod ,\ , /, *  2+3*7 23
4 +، - 10-4*2+1 3

 
اگر از پرانتزها استفاده نكنيد، Visual Basic هميشه ابتدا توان، سپس ضرب و تقسيم و بعد از آن جمع و تفريق را انجام خواهد داد. اگر در يك عبارت عملگرهايي با تقدم يكسان وجود داشته باشند، Visual Basic محاسبات را از چپ به راست انجام مي‌دهد. به مثال زير نگاه كنيد.
10/2*3
در اين عبارت چون ضرب و تقسيم داراي تقدم يكسان هستند. Visual Basic ابتدا تقسيم را انجام داده و سپس حاصل تقسيم را در 3 ضرب خواهد كرد؛ بدين ترتيب حاصل عبارت فوق 15 خواهد شد. اگر مي‌خواهيد ترتيب انجام محاسبات را تغيير دهيد بايد از پرانتزها استفاده كنيد. در پرانتزهاي تودرتو، Visual Basic از داخلي ترين جفت پرانتز شروع كرده و رو به بيرون حركت مي‌كند. در مثال زير
(10+2-(8-3))+1 
Visual Basic قبل از هر كاري (8-3) را محاسبه خواهد كرد.
در جدول 7 عملگرهاي شرطي Visual Basic(conditional operator) را مي‌بينيد. اين عملگرها هيچ گونه عمليات رياضي انجام نمي‌دهند، بلكه داده‌ها را مقايسه مي‌كنند. با اين عملگرها برنامه هوشمندتر خواهد شد و خواهد توانست داده‌ها را مقايسه كرده و بر اساس نتايج آن، عملكرد مناسب را در پيش گيرد.



جدول 7 عملگرهاي شرطي Visual Basic
عملگر  توضيح  مثال  نتيجه 
= تساوي 7=2  نادرست
<  بزرگتر است از 6>3 درست
>  كوچكتر است از 5<11 درست
=< بزرگتر يا مساوي 23>=23 درست
=> كوچكتر يا مساوي 4<=21 درست
<>  نامساوي 3<>3  نادرست

 
توجه كنيد كه نتيجه‌ي عمل عملگرهاي شرطي هميشه False (نادرست) يا True (درست) خواهد بود؛ از فصل قبل به ياد داريد كه اينها مقادير Boolean هستند. نكته‌ي ديگر جدول 7 آن است كه عملگر= در آن تحريف شده است؛ يعني اين عملگر هم مي‌تواند در دستورات انتساب مورد استفاده قرار گيرد، هم در دستورات مقايسه و اين Visual Basic است كه كاركرد آن را تشخيص داده و به طور مناسب عمل خواهد كرد.
عملگرهاي شرطي، نه فقط روي واژه‌ها بلكه روي عبارات، متغيرها، كنترل‌ها و يا تركيبي از آنها هم عمل مي‌كنند. با توجه به تنوع داد‌ه‌ها در Visual Basic، اين برنامه نويس است كه بايد تصميم بگيرد داده‌ها را چگونه مقايسه كرده و چگونه نتيجه گيري كند.
هنگام استفاده از عملگرهاي شرطي ممكن است حالت خاصي پيش آيد و آن Null بودن يكي از اجزاء مقايسه است. در اين حالت Visual Basic مقدار Null برمي‌گرداند نه True يا False. اگر امكان Null بودن يكي از عناصر مقايسه وجود دارد، بايد اين حالت را هم در نظر بگيريد و براي آن تمهيدي بينديشيد.
عملگرهاي شرطي، علاوه بر مقادير عددي، رشته‌ها را هم مي‌توانند مقايسه كنند. در هنگام مقايسه‌ي رشته‌ها به نكات زير توجه داشته باشيد :
·        حروف بزرگ كوچكتر از حروف كوچك هستند، يعني "ST.JOHN" قبل از "st.john" قرار خواهد گرفت.
·    حروف الفبا به همان ترتيبي كه هستند مقايسه مي‌شوند، يعني "A" كوچكتر از "B" است و نام "Walter" قبل از "Wiliams" قرار خواهد گرفت.
·        اعداد كوچكتر از حروف هستند، يعني "3' از"Three" كوچكتر خواهد بود.
براي درك بهتر اين نكات فقط كافيست بدانيد كه Visual Basic رشته‌ها را مانند يك كتاب لغت مرتب خواهد كرد. با اين قابليت برنامه‌ي شما هم مي‌تواند روي انواع مختلف داده‌ها عمل كند.
Visual Basic هنگام مقايسه‌ي رشته‌ها به بزرگ يا كوچك بودن حروف هم توجه دارد يعني بين آنها تفاوت قايل خواهد شد. اگر ميل داريد Visual Basic حروف بزرگ و كوچك را يكسان فرض كند مي‌توانيد در قسمت تعاريف مدول از دستور Option Compare Text استفاده كنيد. اما اگر اين دستور وجود نداشته باشد، Visual Basic براي مرتب كردن رشته‌ها از جدول ASCII استفاده خواهد كرد. جدول ASCII شامل 256 كاراكتر موجود در PC هاست و هر كاراكتر در اين جدول داراي يك عدد متناظر (و منحصر به فرد) است.
به دستورات مقايسه‌ي زير توجه كنيد:
"abcdef"    > "ABCDEF"
"Yes!"       <   "Yes?"
"Computers are fun!" = "Computers are fun!"
"PC"       <> "pc"
"Books, Books, Books" > = "Books, Books"
تمام دستورات فوق مقدار True را برمي‌گردانند.
  Visual Basic عملگر شرطي ديگري دارد به نام LIKE، كه با آن مي‌توان مقايسه‌هاي كلي‌تري انجام داد. شايد هنگام كار با سيستم عامل با كاراكترهاي * و ؟ برخورد كرده باشيد. * يعني صفر يا چند كاراكتر و ؟ به جاي يك كاراكتر مي‌نشيند. علاوه بر اين دو كاراكتر، عملگر Like از كاراكتر # هم (كه به معناي يك رقم است) استفاده مي‌كند. در زير به كمك چند مثال با اين عملگر بيشتر آشنا مي‌شويد. تمام اين عبارات مقدار True دارند :
آخرين مثال شكل خاصي از دستور Like  است. اگر كاراكتر مشخص شده مانند هر يك از كاراكترهاي درون [] باشد، مقدار True برگشت داده خواهد شد. [] براي يافتن كاراكتر از ميان چند كاراكتر است. رشته‌ي "code [12345] RED هنگام مقايسه با تمام رشته‌هاي زير مقدار True برمي‌گرداند.
داده‌هاي شرطي
هنگام مقايسه‌ي دو مقدار، نوع آنها بايد با هم سازگار باشد، مثلاً، دو عدد يا دو رشته را مي‌توان با هم مقايسه كرد. ولي نمي‌توان يك عدد را با يك رشته يا يك مقدار منطقي (Boolean) مقايسه كرد. حتي مقايسه‌اي انواع داده‌ي دقيق (مانند Single يا Double) هم در اكثر موارد به اشتباه منجر خواهد شد چون Visual Basic اين قبيل اعداد را گرد مي‌كند و مقايسه‌ي آن‌ها نمي‌توانند دقيق باشد. براي مقايسه‌ي اين قبيل داده‌ها از تفريق استفاده كنيد (يا حتي الامكان از اين كار اجتناب كنيد!).
Visual Basic هنگام مقايسه‌اي داده‌هاي Variant (كه خواص كنترل‌ها هم از اين نوع است) بسيار خوب عمل مي‌كند. Visual Basic هنگام مقايسه‌ي داده‌هاي Variant، ابتدا آنها را به نوع مناسب تبديل كرده و سپس مقايسه را انجام خواهد داد. اما مقايسه‌ي داده‌هاي ناهمگن هميشه مي‌تواند با خطا همراه باشد.
تركيب عملگرهاي شرطي و منطقي
از لحاظ تئوري، شش عملگر شرطي Visual Basic قدرت كافي براي هر نوع مقايسه‌اي را دارند، ولي قدرت آنها را با استفاده از عملگرهاي منطقي (Logical operator) باز هم مي‌توان بالاتر برد. جدول 8 عملگرهاي منطقي Visual Basic را نشان مي‌دهد.



جدول 8 عملگرهاي منطقي Visual Basic
عملگر  توضيح مثال  نتيجه 
And  هر دو گزاره بايد درست باشند (2<3) And (4<5)  True 
Or  حداقل يكي از دو گزاره‌ بايد درست باشد (2<3) Or (6<7)  True
Xor  فقط يكي از دو گزارخ بايد درست باشد يا نه هر دو (2<3) Xor (7>4) False
Not  نقيض Not (3=3)  False

 
با عملگرهاي منطقي مي‌توان دو يا چند مقايسه‌اي شرطي را با هم تركيب كرد. كاربرد Or , And بسيار بيشتر از دو عملگر ديگر است. با Xor مي‌توان دو گزينه‌ي انحصاري را مقايسه كرد. اگر بيش از يكي از گزينه‌هاي Xor درست باشد، كل عبارت نادرست خواهد شد.
عملگر Not هم براي نقيض يك عبارت است. اين عملگر ارزش عبارت را به عكس آن تبديل مي‌كند. به عبارت زير، كه تركيب دو عملگر شرطي با And منطقي است، توجه كنيد :
در اين عبارت، اگر فروش سال جاري يك كارمند از حداقل فروشس تعيين شده كمتر باشد و تعداد سال‌هاي كاري وي هم از 10 سال كمتر باشد (به انتخاب نام متغيرها دقت كنيد!) كل عبارت درست خواهد شد. البته مي‌توانستيد اين دو عبارت را جداگانه مقايسه كنيد ولي And امكان مي‌دهد تا آنها را در يك عبارت متمركز كنيد. البته تركيب بيش از حد عبارات آنها را گيج كننده خواهد كرد.
در جدول 9 تقدم كاملتر عملگرها را مشاهده مي‌كنيد.
جدول 9- ترتيب عملگرهاي محاسباتي، مقايسه‌اي و منطقي
ترتيب  عملگر 
1 پرانتز ()
2 ^
3 * ، / ، \، Mod
4 + و -
5 عملگرهاي شرطي از قبيل Like
6 عملگر منطقي Not
7 And 
8 Or
9 Xor

 &

نظري براي اين محصول ثبت نشده است.


نوشتن نظر خودتان

براي نوشتن نظر وارد شويد.

محصولات
نظر سنجي
نظرتون در مورد ویکی پروژه چیه؟
  •   مراحل ثبت نام خیلی زیاده!
  •   مطلب درخواستیم رو نداشت!
  •   ایمیل نداشتم که ثبت نام کنم!
  •   مطلبی که میخواستم گرون بود!
نظرنتيجه