مبانی کار با دستورات SQL در اکسس

یکی از قابلیت های مهمی که در دل نرم افزار اکسس نهفته است وجود دستورات SQL در اکسس است.

البته نحوه کار با عبارات و دستورات SQL  و اینکه به چه نحو باید از این دستورات در محیط اکسس و نیز در خصوص کاربرد این دستورات در تلفیق با کدهای برنامه نویسی VBA  موضوعی است که می تواند همیشه برای کاربران اکسس مورد سواال باشد .

امروز می خواهیم در همین زمینه با هم صحبت کنیم .

می خواهیم بطور  اصولی و با زبانی ساده به بررسی مسائل مختلف در زمینه کار با دستورات SQL  در اکسس بپردازیم .

البته ما از دستورات SQL  در چند جای مختلف می توانیم استفاده کنیم .

یکی از این موارد در محیط های کوئری هاست .

در واقع اصل کوئری هایی که ما در محیط اکسس ایجاد می کنیم بر مبنای کدهای SQL ای است که خود نرم افزار اکسل کار ایجاد انها را برای ما انجام می دهد .

برنامه نویسی و کدهای VBA یکی دیگر از جاهایی است که ما می توانیم از کدهای SQL  استفاده کنیم .

فقط نکته ای که باید به آن اشاره کنیم این است که در محیط کوئری ها  می توانیم از دستورات SQL  بطور خالص و مستقیم استفاده کنیم .

اما در محیط VBA اینگونه نیست .

یعنی ما در محیط برنامه نویسی VBA مجاز به استفاده از دستورات SQL  بصورت مستقیم نیستیم .

بلکه باید با رعایت یکسری از قواعد کدهای SQL  را کدهای VBA  تلفیق و ترکیب کنیم تا در نهایت به نتیجه نهایی مورد نظر خود برسیم .

ما در خصوص نحوه کار با دستورات SQL  در محیط کوئری های اکسس قبلا بطور مفصل در مطلب جداگانه ای آموزش های لازم را ارائه داده ایم .

برای دسترسی به این آموزش می توانید از لینک زیر استفاده کنید.

مطلب مرتبط :آشنایی و کار با دستورات SQL  در اکسس 

اما امروز و در این مطلب می خواهیم در خصوص کار با دستورات SQL  در محیط برنامه نویسی VBA  با هم صحبت کنیم .

اینکه چگونه و به چه نحو می توانیم هر دوی این کدها و دستورات را در کنار هم داشته باشیم و از آنها استفاده کنیم.

پس از شما دعوت می کنم که ما را تا انتهای این مطلب همراهی کنید .

نحوه کار با دستورات SQL در اکسس

قبل از اینکه به سراغ کدهای SQL  برویم اول نگاهی به نحوه درج متن ها در کدهای VBA  بکنیم و ببینیم که چگونه باید از متن ها در ساختار کدهای VBA استفاده کنیم . 

طبق یک قاعده و اصل کلی تمامی ساختارهای متنی در داخل کدهای VBA  باید در داخل  دو جفت کوتیشن قرار بگیرند .

بعنوان مثال به کد های زیر نگاه کنید .

 در این کدها اول ما یک متغیر تعریف کرده ایم .

در خط بعد یک متن را در داخل این متغیر خود ذخیره کرده ایم .

تکته مهم در اینجا این است که حتما باید متن ما در داخل دو دابل کوتیشن قرار گیرد در غیر اینصورت اجرای این کدها در این حالت ما را با خطا مواجه می کند .

در خط بعد هم توسط یک کادر پیام یا همان Msgbox  متن مورد نظر خود را به کاربر نمایش می دهیم .

در اینجا متنی که ما استفاده کردیم یک متن کوتاه بود.

اما به کد زیر نگاه کنید .

همانطور که مشاهده می کنید طول این متن ما بیش از حد طولانی می باشد .

به گونه این که می تواند از صفحه کاری ما خارج شود .

به نحوی که برای دسترسی و مشاهده همه بخش های این کد ما مجبور می‌شویم که از صفحه کاری خود مدام به سمت چپ و راست اسکرول  کنیم.

اما برای حل این مشکل یک راهکار وجود دارد .

به این ترتیب که می توانیم کدهای خود را در محل های مورد نظر خود بشکنیم و ادامه کدها را در خط بعدی درج کنیم .

حالا کدهای بالا را بصورت زیر بازنویسی می کنیم .

 ما در اینجا با استفاده از دو کاراکتر &  و زیرخط توانستیم کدهای خود  را به چند خط تبدیل کنیم .

اما بیایید همین کدها را اجرا کنیم .

تصویر زیر نتیجه اجرای این کدها می باشد .

دستورات SQL در اکسس

در اینجا با یک مشکل جدید مواجه می شویم .

هر چند که ما کدهای خود را در محیط برنامه نویسی به چند خط مجزا تبدیل کردیم اما در خروجی کماکان خطوط متن ما پشت سر هم به نمایش در می آیند .

پس متوجه شدیم که روش که در مرحله قبل استفاده کردیم فقط در سطح کدها و در محیط کد نویسی می تواند کدهای ما را به چند خط تقسیم کند .

اما در خروجی ما تاثیری بر کدها ندارد و متن ها پشت سر هم نمایش داده می شوند .

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

در اینجا ما از ثابت vbcrlf  استفاده کردیم ..

این متغیر خطوط متن ما را در خروجی در چند خط مجزا از هم نمایش خواهد شد .

تصویر زیر خروجی کار را به ما نمایش می دهد .

دستورات SQL در اکسس

اما اجازه بدهید که که یک مورد دیگر را هم با هم بررسی کنیم و آن هم این است که چگونه می توانیم از متغیرها در ساختار متن خود استفاده کنیم .

بعنوان مثال چگونه می توان تاریخ جاری سیستم را در قالب یک کادر پیغام به کاربر نمایش دهیم .

یک روش این است که تاریخ را بصورت دستی در متن خود وارد کنیم .

به عنوان مثال به کدهای زیر نگاه کنید .

تا به اینجا که مشکلی نیست .

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

مسلما قرار نیست که ما هر روز و هر ساعت بخواهیم این پیغام خود را بروز رسانی کنیم .

پس چاره چیست ؟

چاره کار بسیار راحت است .

به کدهای زیر نگاه کنید .

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

همانگونه که  می بینید با استفاده از کاراکتر  &  می توانیم متن های مورد نظر خود را با توابع و یا متغیرها ترکیب کنیم .

در خصوص آشنایی با انواع توابع در نرم افزار اکسس می توانید از محصول ما در سایت استفاده کنید .

آشنایی با توابع متنی در اکسس 

حالا که با نحوه کار با متن ها در کدهای VBA آشنا شدیم می توانیم به سراغ کار با دستورات SQl  در محیط برنامه نویسی برویم .

نحوه کار با دستورات SQL  در اکسس

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

بلکه باید کدهای SQL  را در قالب متن  در آوریم و سپس از آنها در کدهای خود استفاده کنیم .

اجازه دهید با هم یک پروژه تعریف کنیم و کار را بر مبنای آن پیش ببریم .

برای این کار جدول زیر را در نظر بگیرید .

 

 

با توجه به اطلاعات جدول بالا می خواهیم از یکسری از دستورات SQL  برای کارهای خود استفاده کنیم .

برای شروع کار فرض کنید می خواهیم کتابهای مربوط به علی شریعتی را  انتخاب کنیم .

برای این منظور از کدهای زیر استفاده می کنیم .

نکته مهم در مورد این کدها این است که ما عبارت شرطی خود را باید حتما در داخل دو دابل کوتیشن قرار دهیم .

اما برای سهولت بهتر می توانیم از یک متغیر کمک بگیریم .

به این صورت که عبارت شرطی خود را در داخل یک متغیر ذخیره کرده و از این متغیر در ساختار کدهای خود استفاده می کنیم .

به کدهای زیر نگاه کنید .

اما در ساختار کدهای بالا استفاده از تعداد زیاد دابل کوتیشن ها می تواند تبدیل به یک معضل شود .

در اینجا می توانیم یک راه حل جایگزین داشته باشیم .

بعنوان مثال می توانیم کدهای بالا را بصورت زیر باز نویسی کنیم .

در اینجا ما توانستیم تا حد زیادی تعداد دابل کوتیشن های مورد نیاز برای عبارت خود را کاهش دهیم .

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

اما اگر بخواهیم یک عدد یا مجموعه ای از اعداد را استفاده کنیم چه باید کرد .

استفاده از اعداد در ساختار دستورهای SQl 

برخلاف مقادیر متنی که استفاده از آنها در ساختار کدها تابع قوانین خاص خود است که در بخش قبل به آنها پرداختیم .

مقادیر عددی و استفاده از آنها دردسر کمتری را برای ما ایجاد می کنند .

مثلا به کدهای زیر نگاه کنید .

 در کدهای بالا می خواهیم تمامی کتابهایی را که قیمت آنها بالاتر از ۲۰۰۰۰ است را انتخاب کنیم .

 در حالتی دیگر می توانیم مبلغ مورد نظر خود را در داخل یک متغیر دخیره کرده و سپس از این متغیر در کدهای خود استفاده کنیم .

 

ما  این مطلب را به تدریج تکمیل تر خواهیم کرد . …………………..

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

دستورات SQL در اکسس

 

آموزش اکسس بازدید : 357 views 18 جولای, 2020 ۰