بازدید: ٣۶٣

ایجاد یک فرم پرس و جوی به روز(Update Query) به منظور به روز رسانی بانک اطلاعاتی حقوق و دستمزد(آموزش پیشرفته اکسس)

بازگشت به صفحه اصلی آموزش پیشرفته اکسس

 

فرض کنید شما مسئول بانک اطلاعاتی حقوق و دستمزد یک شرکت هستید. این شرکت دارای 200 کارمند است و اکنون می خواهید افزایش حقوق سالیانه آنها را محاسبه کنید. مشکل شما این است که گروه های مختلفی از کارمندان، دارای درصد نرخ افزایش متفاوتی می باشند و هر کارمند درون یک گروه ممکن است دارای یک سطح حقوق متفاوت برای شروع کار باشد. حال سوال این است: راه مناسب برای به روز رسانی حقوق هر کارمند بدون اینکه بصورت دستی تک تک رکوردها را تغییر دهید، چیست؟

قابلیت Update Queries یک نوع Action Query است. طبیعت آن بسیار شبیه به فرم های پرس و جوی Delete  است. در یک فرم پرس و جوی Delete، گروهی از رکوردهایی را که منطبق با شرط مورد نظر شما می باشند پیدا کرده و آنها را از جدول حذف می کند ولی در فرم پرس و جوی Update، گروهی از رکوردهایی را که منطبق با شرط شما می باشند، پیدا کرده و یک یا چند فیلد از آن رکوردها را به روز رسانی می کند. بعنوان مثال، می توانیم با استفاده از فرم پرس و جوی Update حقوق تمامی کارمندانی را که دارای عنوان شغلی Telesales Administrator می باشند، به روز کرد.

نکته مهم آن است که می توانیم فیلدی را به یک مقدار ثابت یا مقداری که مبتنی بر انجام یک محاسبه می باشد، به روز کنیم. مثلا می توانیم حقوق تمامی افرادی را که عنوان شغلی آنها Telesales Administrator است را به یک مقدار ثابت مثلا 15 هزار دلار در ماه به روز کنیم و یا در حالت دیگر می توانیم به اندازه 5% افزایش دهیم. حال در حالتی که هر فردی که دارای عنوان شغلی Telesales Administrator است دارای سطح حقوق متفاوتی می باشد اینگونه به نظر می آید که باید هر کدام از آنها را بصورت جداگانه به روز رسانی کنیم.

برای شروع کار ابتدا مثال فوق را از لینک زیر دانلود کنید:

 

از اینجا دانلود کنید.

 

ابتدا جدول tblEmployees را باز کنید و نگاهی به 12 رکورد درون آن بیاندازید سپس ببینید چگونه رکوردهای مربوط به Telesales Administrator بعد از اجرای فرم پرس و جوی qryUpdateTelesalesSalaries تغییر می کنند. همچنین می توانید طبق دستورات زیر این فرم پرس و جوی Update را خودتان ایجاد کنید:

 

ایجاد یک update Query

شکل 1: جدول tblEmployees. همانطور که مشاهده می کنید، 6 کارمند با عنوان شغلی Telesales Administrator وجود دارند. به میزان تغییر حقوق آنها بعد از اجرای فرم پرس و جوی Update دقت کنید.

 

ایجاد یک فرم پرس و جوی Update

 

همانطور که قبلا توضیح دادیم اینکار دو مرحله دارد، ابتدا یک فرم پرس و جو Select ایجاد می کنیم تا به کمک آن تعدادی از کارمندان را انتخاب کنیم که عنوان شغلی آنها Telesales  می باشد. سپس این فرم پرس و جو (Query) را به یک فرم پرس و جوی Update تبدیل می کنیم و در ادامه محاسباتی را به آن اضافه می کنیم تا میزان حقوق جاری هر کدام از کارمندان Telesales Administrator را به روز کند.

 

مرحله اول: ایجاد شرط با استفاده از یک فرم پرس و جوی Select

  1. بر روی آیکون Query Design( در گروه Queries از نوار ریبون) کلیک کنید.
  2. جدول tblEmployees را از فرم Show Tables انتخاب کنید.
  3. در جدول کارمندان، بر روی فیلدهای JobTitle و Salary دبل کلیک کنید تا بعنوان ستونهایی بر روی جدول طراحی Query Design ظاهر شوند.
  4. در سطر شرط ( criteria) ستون JobTitle، عبارت “Telesales”= را وارد کنید.
  5. بر روی آیکون RUN کلیک کنید تا فرم پرس و جوی شما اجرا شود.

 

نتایج فرم پرس و جو را می توانید در تصویر زیر مشاهده کنید:

 

ایجاد یک update Query2

شکل2: نتایج Select Query در مرحله اول

 

همانطور که مشاهده می کنید، فرم پرس و جوی شما تمام 6 رکوردی را که عنوان شغلی کارمندان آنها Telesales می باشند پیدا کرد. ما توانستیم شماره پرسنلی (Id) و اسامی کارمندان را نیز در نتایج بدست آمده پیدا کنیم که البته نیازی به آنها نداشتیم. هنگامی که این فرم پرس و جو را به  یک فرم پرس و جوی Update تبدیل می کنیم و بر روی run کلیک می کنیم، تا زمانی که جدول مربوطه را باز نکنیم و به فیلدهای به روز شده در هر رکورد دقت نکنیم پی به نتایج فرم پرس و جوی آن نمی بریم.

 

مرحله دوم: تبدیل به یک فرم پرس و جوی Update

1- مجددا Select Query را در نمای Design باز کنید. اگر Select Query هنوز در نمای DataSheet باز است، به راحتی بر روی آیکون نمای Design View از گروه Views نوارریبون Home کلیک کنید. در غیراینصورت می توانید نام Query را در NAVIGATION Pane انتخاب کنید (Highlight کنید)، سپس راست کلیک کرده و بر روی آیکون Design View از منوی کرکره ای مربوطه کلیک کنید.

 2- هنگامی که Query در نمای Design باز می شود، بر روی آیکون Update Query از گروه Query Type نوارابزار Design کلیک کنید. اکنون آیکون مربوطه باید به رنگ نارنجی نشان داده شود.

آیکون update query

اکنون متوجه خواهید شد که سطرهای Show و Sort از Query Design Grid ناپدید شده و سطر جدیدی به نام Update جایگزین آنها می شود.

3- اکنون تنها کاری که باید انجام دهید این است که مقدار محاسباتی مورد نظرخود را در سطر Update از ستون Salary وارد کنید. کافی  است عبارت [salary]*1.05 را در آن وارد کنید.

 

update query 3

شکل3: اکنون Query Design Grid فرم پرس و جوی Update باید اینگونه به نظربرسد.

4- بر روی آیکون Run از گروه Results نوار ریبون Design کلیک کنید.

5-هنگامی که پیغامی با مضمون "you are about to update 6 row(s)" را مشاهده کردید، بر روی YES کلیک کنید.

بعد از اجرای فرم پرس و جو و کلیک بر روی YES، تا زمانی که جدول tblEmployees را مجددا باز نکردید (یا رفرش نکردید) تغییرات را مشاهده نمی کنید. بعد از رفرش آن، مشاهده می کنید که حقوقهای کارمندان Telesales به اندازه 5% افزایش خواهند داشت(شکل زیر).  

 

update query jadaval

جدول 4: جدول tblEmployees به روز شده.

 

بازگشت به صفحه اصلی آموزش پیشرفته اکسس

طراحی سایت و سئو توسط ضابط