نحوه درخواست به روز رسانی درخواست به روز رسانی تغییر یک مقدار

استفاده از درخواست به روز رسانی در پایگاه های داده دسترسی به داده هامی توانید داده ها را در رکوردهای موجود اضافه، تغییر و حذف کنید. درخواست های به روز رسانی را می توان به عنوان یک نوع کادر محاوره ای در نظر گرفت جستجو و جایگزین کنیدبا امکانات بیشتر درخواست به روز رسانی نمی تواند برای افزودن یا حذف رکوردهای جدید از پایگاه داده استفاده شود.

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

در این مقاله

مرور

در زیر شباهت ها و تفاوت های Find and Replace و Query to Update آورده شده است

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

بر خلاف تابع جستجو و جایگزین کنیددرخواست به روز رسانی به شما امکان می دهد:

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

    به روز رسانی چندین رکورد در یک زمان.

    رکوردها را در چندین جدول به طور همزمان تغییر دهید.

محدودیت های به روز رسانی فیلد

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

    فیلدهای محاسبه شدهمقادیر فیلد محاسبه شده به طور دائم در جدول ذخیره نمی شود. پس از محاسبه، آنها فقط در حافظه موقت رایانه وجود دارند. از آنجا که فیلدهای محاسبه شده به طور دائم ذخیره نمی شوند، نمی توان آنها را به روز کرد.

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

    فیلدهایی با نوع داده "Counter".مقادیر در فیلدهای دارای نوع داده Counter تنها زمانی تغییر می کند که رکوردی به جدول اضافه شود.

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

    فیلدهای درخواست پیوستننمی‌توانید داده‌ها را از فیلدهای جستجوی پیوستن به‌روزرسانی کنید، زیرا هر رکوردی که در چندین منبع داده ظاهر می‌شود فقط یک بار در نتایج جستجوی پیوستن ظاهر می‌شود. از آنجایی که برخی از رکوردهای تکراری از نتایج حذف می شوند، Access نمی تواند تمام رکوردهای مورد نیاز را به روز کند.

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

    توجه داشته باشید:با یک به روز رسانی آبشاری، Access به طور خودکار مقادیر کلید خارجی را هنگامی که مقدار کلید اصلی در جدول والد تغییر می کند، به روز می کند.

استفاده از درخواست به روز رسانی

برای ایجاد یک درخواست به‌روزرسانی، توصیه می‌کنیم موارد زیر را انجام دهید: یک کوئری انتخابی برای شناسایی رکوردهایی که می‌خواهید به‌روزرسانی کنید، ایجاد کنید و سپس آن را به درخواست به‌روزرسانی تبدیل کنید و رکوردها را به‌روزرسانی کنید. این دنباله کمک می کند تا اطمینان حاصل شود که دقیقاً رکوردهای مناسب را به روز می کنید.

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

ایجاد یک نسخه پشتیبان از پایگاه داده

    برگه را باز کنید فایلو یک تیم انتخاب کنید ذخیره به عنوان. لطفا توجه داشته باشید: اگر از Access 2010 استفاده می کنید، برگه را باز کنید فایلو یک تیم انتخاب کنید ذخیره و منتشر کنید.

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

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

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

    برای بازگشت به نسخه پشتیبان، فایل اصلی را ببندید و نام آن را تغییر دهید تا بتوانید از نام نسخه اصلی استفاده کنید. نام نسخه اصلی را به نسخه پشتیبان بدهید و نسخه پشتیبان تغییر نام یافته را در Access باز کنید.

در این بخش

مرحله 1: یک کوئری انتخابی برای تعیین رکوردهای به‌روزرسانی ایجاد کنید

    پایگاه داده حاوی رکوردهایی را که می خواهید به روز کنید باز کنید.

    روی زبانه ایجاددر گروه درخواست هاروی دکمه کلیک کنید Query Builder.

    Query Builder و کادر محاوره ای باز می شود اضافه کردن جدول.

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

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

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

    1. جدول در پنجره طراح پرس و جو

    2. فرم درخواست

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

    برای هر ستون در فرم درخواستیک فیلد جدول اضافه کنید

    برای اضافه کردن سریع تمام فیلدها در یک جدول، روی ستاره دوبار کلیک کنید ( * ) در بالای لیست فیلدهای جدول در پنجره جدول. شکل فرم درخواست را با تمام فیلدهای اضافه شده نشان می دهد.

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

    جدول شرایط نمونه

    جدول زیر چند نمونه شرایط و نتایج اعمال آنها را نشان می دهد.

    توجه داشته باشید:بسیاری از نمونه های این جدول استفاده می شود حروف عامتا پرس و جو را انعطاف پذیرتر یا کارآمدتر کند.

    وضعیت

    نتیجه

    همه اعداد بزرگتر از 234 را برمی گرداند. برای پیدا کردن همه اعداد کوچکتر از 234، از شرط استفاده کنید< 234.

    >= "نووسیبیرسک"

    همه ورودی‌های «نووسیبیرسک» را به انتهای الفبا برمی‌گرداند.

    بین #2/2/2020 # و #12/1/2020 #

    تاریخ‌های بین ۲ فوریه-۱۷ و ۱-دسامبر-۱۷ (ANSI-89) را انتخاب می‌کند. اگر پایگاه داده شما از مجموعه کاراکترهای ANSI-92 استفاده می کند، از علامت های هش استفاده کنید ( # ) نقل قول های تک ( " ). مثال: بین "2/2/2020" و "12/1/2020".

    نه "آلمان"

    تمام رکوردهایی را که محتوای فیلد با مقدار "Germany" مطابقت ندارد، پیدا می کند. این شرط رکوردهایی را پیدا می کند که حاوی متن اضافی غیر از کلمه "آلمان" هستند، مانند "آلمان (یورو)" یا "اروپا (آلمان)".

    همه رکوردها را به جز مواردی که با حرف "T" شروع می شوند را پیدا می کند. اگر پایگاه داده شما از علائم ANSI-92 استفاده می کند، از علامت درصد استفاده کنید ( % ) به جای ستاره ( * ).

    تمام ورودی هایی که با حرف "t" ختم نمی شوند را پیدا می کند. اگر پایگاه داده شما از حروف عام ANSI-92 استفاده می کند، به جای ستاره (*) از علامت درصد (%) استفاده کنید.

    در (کانادا، انگلستان)

    تمام ورودی های لیست را با عبارت "Canada" یا "UK" پیدا می کند.

    فیلد متن تمام ورودی هایی را که با یکی از چهار حرف اول الفبا (A-G) شروع می شوند، جستجو می کند. اگر پایگاه داده شما از حروف عام ANSI-92 استفاده می کند، به جای ستاره (*) از علامت درصد (%) استفاده کنید.

    تمام رکوردهایی که حاوی ترکیب حرف "tr" هستند را پیدا می کند. اگر پایگاه داده شما از حروف عام ANSI-92 استفاده می کند، به جای ستاره (*) از علامت درصد (%) استفاده کنید.

    مانند "گرگوری درست می گویی؟"

    تمام رکوردهایی را که با نام "گرگوری" شروع می شوند و دارای رشته دوم 9 حرفی هستند را پیدا می کند که 6 حرف آن ابتدای نام خانوادگی "ورنی" را تشکیل می دهد و حرف آخر ناشناخته است. اگر پایگاه داده شما از مجموعه حروف ANSI-92 استفاده می کند، به جای آن از علامت سوال استفاده کنید ( ? ) زیرخط ( _ ).

    تمام رکوردها را تا 2 فوریه 2020 جستجو کنید. اگر پایگاه داده شما از مجموعه کاراکترهای ANSI-92 استفاده می کند، تاریخ را به جای علائم پوند (#) در یک علامت نقل قول (") قرار دهید؛ به عنوان مثال، ("2/2/2020" ).

    < Date() - 30

    از تابع استفاده می کند تاریخبرای برگرداندن تمام تاریخ هایی که حداقل 30 روز گذشته است.

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

    بین Date() و DateAdd("M"، 3، Date())

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

    تمام رکوردهایی که حاوی مقدار خالی (خالی یا تعریف نشده) هستند را برمی گرداند.

    تمام رکوردهای حاوی مقدار غیر خالی را برمی گرداند.

    تمام رکوردهای حاوی یک رشته با طول صفر را برمی گرداند. چنین رشته‌هایی معمولاً زمانی استفاده می‌شوند که یک فیلد باید مقداری داشته باشد، اما این مقدار هنوز مشخص نیست. به عنوان مثال، یک فیلد از شما می خواهد که شماره فکس را وارد کنید، اما برخی از مشتریان شماره فکس ندارند. در این حالت جفت را وارد می کنید نقل قول های دوگانهبدون فاصله بین آنها (" " ) نه اعداد.

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

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

    برای حذف فیلدهایی که نمی خواهید در طراح پرس و جو گنجانده شود، آنها را انتخاب کرده و DELETE را فشار دهید.

    برای افزودن فیلدها به سازنده پرس و جو، آنها را روی قالب پرس و جو بکشید.

مرحله 2: به روز رسانی سوابق


به روز رسانی داده ها در یک جدول با داده های جدول دیگر

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

علاوه بر این، وقتی داده‌های یک جدول را با داده‌های دیگری به‌روزرسانی می‌کنید و از انواع داده‌های سازگار به‌جای موارد مشابه استفاده می‌کنید، Access انواع داده‌های آن فیلدها را در جدول هدف تبدیل می‌کند. در نتیجه، برخی از داده ها در فیلدهای هدف ممکن است کوتاه شوند (حذف شوند). این بخش توضیح می دهد که چه زمانی می توانید یا نمی توانید تبدیل نوع داده را انجام دهید. این بخش همچنین جدولی را ارائه می دهد که نشان می دهد چه زمانی یک تبدیل نوع داده ممکن است برخی یا همه داده های یک فیلد را تغییر یا حذف کند و چه داده هایی ممکن است حذف شوند.

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

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

    پیوستن به این جداول با فیلدهای حاوی اطلاعات مرتبط.

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

    افزودن نام فیلدهای منبع به یک ردیف به روز رسانیفرم درخواست با استفاده از نحو زیر: [ source_table].[source_field] .

مراحل این بخش فرض می کند که از دو جدول مشابه استفاده می کنید. در این مثال، جدول مشتریان در یک پایگاه داده قدیمی قرار دارد و حاوی داده های جدیدتری نسبت به جدول مشتریان است. چندین نام و آدرس مدیر تغییر کرده است. بنابراین تصمیم گرفته شد تا جدول «مشتریان» با داده های جدول «مشتریان» به روز شود.

جدول خریداران

کد خریدار

نشانی

شهر

منطقه

کد پستی

یک کشور

تلفن

مخاطب

موزه دستاوردهای علمی

بزرگراه Zagorodnoe، 150

منطقه مسکو

ورنی گرگوری

شرکت هواپیمایی "اورال تور"

خیابان گاریبالدی، 170

منطقه پرم

کورپین وادیم

کارخانه شراب سازی

خیابان کدروا، 54

کراسنویارسک

منطقه کراسنویارسک

اوژوگینا اینا

کارخانه داروسازی

خیابان گوبکینا، 233

منطقه Tver

نویکوف نیکولای

کارخانه قهوه

pl هوشی مین، 15، apt. 5

شاشکوف روسلان

سرویس پستی

خط لیخوف، 991

کراسنویارسک

منطقه کراسنویارسک

گورنوژنکو دیمیتری

پژوهشکده آهن

St. تنیستایا، 698

منطقه مسکو

گراچف نیکولای

شرکت "نرم"

خیابان زارچنایا، 503

ایلینا یولیا

نهالستان درخت

خیابان Zarechnaya، 504

سرجینکو ماریا

جدول مشتریان

کد مشتری

نشانی

شهر

منطقه

کد پستی

یک کشور

تلفن

سرپرست

موزه دستاوردهای علمی

بزرگراه Zagorodnoe، 150

منطقه مسکو

پسوتسکی استانیسلاو

شرکت هواپیمایی "اورال تور"

خیابان گاریبالدی، 170

منطقه پرم

کورپین وادیم

کارخانه شراب سازی

خیابان کدروا، 54

کراسنویارسک

منطقه کراسنویارسک

اوژوگینا اینا

کارخانه داروسازی

خیابان گوبکینا، 233

منطقه Tver

نویکوف نیکولای

کارخانه قهوه

خط Orlikov، 896

شاشکوف روسلان

سرویس پستی

خط لیخوف، 991

کراسنویارسک

منطقه کراسنویارسک

پودکلزینا اکاترینا

پژوهشکده آهن

خیابان Stroiteley, 150, apt. 78

منطقه مسکو

پوپکوا داریا

شرکت "نرم"

خیابان زارچنایا، 503

ورنی گرگوری

نهالستان درخت

خیابان Zarechnaya، 504

سرجینکو ماریا

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

ایجاد و اجرای درخواست به روز رسانی

توجه داشته باشید:مراحل زیر فرض می کند که از دو جدول نمونه بالا استفاده می کنید. مراحل توصیف شده را می توان با داده های خاص تطبیق داد.


محدودیت های تبدیل نوع داده

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

نوع پایانداده ها

نوع داده قابل تبدیل

تغییرات و محدودیت ها

متن

255 کاراکتر اول باقی می ماند و بقیه حذف می شوند.

عددی

بدون محدودیت.

زمان قرار

بدون محدودیت.

پولی

بدون محدودیت.

بدون محدودیت.

منطقی

متن

بدون محدودیت.

عددی

بدون محدودیت.

زمان قرار

بدون محدودیت.

پولی

بدون محدودیت.

بدون محدودیت.

منطقی

مقدار -1 ("بله" در یک فیلد بولی) به "بله" تبدیل می شود. مقدار 0 ("نه" در یک فیلد بولی) به "نه" تبدیل می شود.

بدون محدودیت.

عددی

متن

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

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

عددی (با اندازه میدان متفاوت یا دقت متفاوت)

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

زمان قرار

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

تاریخ 30 دسامبر 1899 دارای شماره توالی 0 است. تاریخ هایی که در فاصله 18 آوریل 1899 تا 11 سپتامبر 1900 لحاظ نشده اند از اندازه فیلد Byte بیشتر است. تاریخ های خارج از محدوده 13 آوریل 1810 تا 16 سپتامبر 1989 از اندازه فیلد عدد صحیح بیشتر است.

برای در نظر گرفتن تمام تاریخ های ممکن، ملک را تعیین کنید اندازه میدانمقدار فیلد عددی عدد صحیح بلندیا بیشتر.

پولی

مقادیر نباید از حد بالا و پایین اندازه مشخص شده برای فیلد تجاوز کنند. به عنوان مثال، یک فیلد با نوع داده "ارز" تنها در صورتی می تواند به یک فیلد "عدد صحیح" تبدیل شود که مقدار آن بزرگتر از 255 اما کمتر از 32767 باشد.

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

منطقی

مقادیر "بله" به -1 تبدیل می شوند. مقادیر "نه" به 0 تبدیل می شوند.

زمان قرار

متن

متن منبع باید ترکیبی قابل تشخیص از تاریخ یا تاریخ و زمان باشد. به عنوان مثال، 18-Jan-2020.

عددی

مقدار باید بین -657434 و 2958465.99998843 باشد.

پولی

مقدار باید در محدوده -657434 ₽ تا 2958465.9999 ₽ باشد

مقدار باید بین -657434 و 2958466 باشد.

منطقی

مقدار -1 ("بله") به 29 دسامبر 1899 تبدیل می شود. مقدار 0 ("نه") به نیمه شب (00:00:00) تبدیل می شود.

پولی

متن

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

عددی

بدون محدودیت.

زمان قرار

محدودیتی وجود ندارد، اما Access ممکن است مقدار را گرد کند.

بدون محدودیت.

منطقی

مقدار -1 ("بله") به 1 ₽مقدار 0 ("نه") به 0 ₽ تبدیل می شود

متن

اگر فیلد با نوع داده "Counter" کلید اصلی باشد، مجاز نیست.

عددی

اگر فیلد با نوع داده "Counter" کلید اصلی باشد، مجاز نیست.

زمان قرار

اگر فیلد با نوع داده "Counter" کلید اصلی باشد، مجاز نیست.

پولی

اگر فیلد با نوع داده "Counter" کلید اصلی باشد، مجاز نیست.

منطقی

اگر فیلد با نوع داده "Counter" کلید اصلی باشد، مجاز نیست.

منطقی

متن

متن مبدأ باید فقط حاوی مقادیر «بله»، «خیر»، «درست»، «نادرست»، «روشن» و «خاموش» باشد.

عددی

زمان قرار

Blank و 00:00:00 به خیر تبدیل می شوند، همه مقادیر دیگر به بله تبدیل می شوند.

پولی

مقادیر صفر و خالی به خیر و سایر مقادیر به بله تبدیل می شوند.

همه مقادیر به بله تبدیل می شوند.

متن

اگر متن مبدأ حاوی یک آدرس وب معتبر باشد، مانند adatum.com، www.adatum.com یا http://www.adatum.com، به یک لینک تبدیل می شود. Access همچنین سعی می کند مقادیر دیگر را تبدیل کند: متن زیر خط کشیده می شود و هنگامی که ماوس را روی پیوند می گذارید نشانگر ماوس تغییر می کند، اما این پیوندها کار نمی کنند. متن می‌تواند حاوی هر تعیین‌کننده پروتکل وب معتبر باشد، از جمله http://، gopher://، telnet://، ftp://، یا wais://.

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

عددی

اگر فیلدی با نوع داده عددی در یک رابطه استفاده شود، مجاز نیست. اگر مقدار اصلی به شکل یک آدرس IP معتبر باشد (چهار عدد سه گانه که با نقطه از هم جدا شده اند: nnn.nnn.nnn.nnn) و اعداد مربوط به یک آدرس وب باشد، تبدیل منجر به یک پیوند معتبر می شود. در غیر این صورت، Access پیشوند را اضافه می کند http://به ابتدای هر مقدار، و پیوندهای حاصل کار نمی کنند.

زمان قرار

به ابتدای هر آدرس یک پیشوند اضافه می شود http://

پولی

یک پیشوند به ابتدای هر مقدار اضافه می شود http://، اما مانند تاریخ ها، پیوندهای حاصل تقریباً هرگز کار نمی کنند.

در صورت استفاده از فیلد Counter در رابطه مجاز نیست. یک پیشوند به ابتدای هر مقدار اضافه می شود http://، اما پیوندهای حاصل تقریباً هرگز کار نمی کنند.

منطقی

Access تمام مقادیر Yes را به -1 تبدیل می کند، اما همه مقادیر را به 0 تبدیل نمی کند و اضافه می کند http://تا ابتدای هر مقدار لینک های خلاصه کار نمی کنند.

اجرای درخواستی که به دلیل حالت بی صدا محتوا مسدود شده است

اگر هنگام تلاش برای اجرای یک درخواست تغییر اتفاقی نیفتاد، بررسی کنید که آیا پیام زیر در نوار وضعیت دسترسی ظاهر می شود یا خیر:

این عمل یا رویداد در حالت غیرفعال مسدود شده است.

به طور پیش‌فرض، Access همه درخواست‌های تغییر (به‌روزرسانی، افزودن، حذف و ایجاد درخواست‌های جدول) را مسدود می‌کند، مگر اینکه پایگاه داده در یک مکان قابل اعتماد باشد یا امضا و قابل اعتماد باشد. اگر هر یک از این شرایط برآورده نشد، می توانید با کلیک کردن، درخواست هایی را برای جلسه فعلی پایگاه داده مجاز کنید شامل محتوادر پنل پیام

نسخه SQL: عبارت UPDATE

اگر کاربر SQL را می داند، می توانید دستور UPDATE را در حالت SQL نیز بنویسید. برای استفاده از حالت SQL، یک کوئری خالی ایجاد کنید و به حالت SQL بروید.

این بخش نحو دستور UPDATE و نمونه ای از کاربرد آن را ارائه می دهد.

نحو

به روز رسانی جدولتنظیم new_valueجایی که وضعیت;

بیانیه UPDATE از چندین بخش تشکیل شده است.

یادداشت

دستور UPDATE مخصوصاً زمانی مفید است که شما نیاز به ایجاد تغییرات در تعداد زیادی رکورد دارید یا اگر رکوردهایی که باید تغییر دهید در چندین جدول هستند.

می توانید چندین فیلد را همزمان تغییر دهید. در مثال زیر، مقادیر OrderAmount 10 درصد و مقادیر Delivery 3 درصد برای تامین کنندگان بریتانیا افزایش می یابد.

به روز رسانی سفارشات

SET OrderAmount = OrderAmount * 1.1،

بار = بار * 1.03

WHERE ShipCountry = "UK";

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

مثال

به عنوان مثال، پرس و جوی را در نظر بگیرید که هزینه دوره های آموزشی در جدول "Kursused" را با یک عامل ثابت تغییر می دهد، به عنوان مثال، می توانیم هزینه تمام دوره ها را 20٪ افزایش دهیم.
برای ایجاد یک پرس و جو مانند این:

1. در حالت Design، فیلدهای Kursuse_kood، Nimetus، Maksumus را از جدول "Kursused" در پرس و جو انتخاب کنید.

2. کوئری را اجرا کنید تا مطمئن شوید که همه رکوردها انتخاب شده اند.

3. حالا اجازه دهید درخواست را تغییر دهیم تا به درخواست به روز رسانی تبدیل شود. برای این کار بر روی دکمه کلیک کنید به روز رسانی. هدر درخواست تغییر می کند و یک خط اضافی ظاهر می شود (به روز رسانی). خطوط ناپدید می شوند مرتب سازی (مرتب سازی)و نمایش دهید (خروجی روی نمایشگر).

4.حالا باید خط بزنید به روز رسانی بهعبارتی را وارد کنید که با آن هزینه جدید محاسبه می شود: * 1، 2.

در موارد دیگر، می توانید یک ثابت وارد کنید، برای مثال، اگر نیاز دارید تاریخ بسیاری از رکوردها را به تاریخ فعلی تغییر دهید.

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

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

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

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

درخواست حذف سوابق

این نوع پرس و جو برای حذف گروهی از رکوردهای پایگاه داده که شرایط خاصی را دارند استفاده می شود. یک درخواست معمولی را می توان با استفاده از دستور به درخواست حذف تبدیل کرد درخواست/حذف در حالت Query Builder. در این صورت خط در فرم درخواست ظاهر می شود حذف، که در آن می توانید یک شرط برای حذف رکوردها وارد کنید.

شکل 26 نمای پنجره درخواست برای حذف رکوردها

در حالت Query Design باید جدولی که حذف ها در آن انجام می شود را مشخص کنید. سپس معیارها را مشخص کنید و حتماً نتایج جستجوی انتخاب را مشاهده کنید.

اگر نتیجه پرس و جو فقط حاوی رکوردهایی است که باید حذف شوند، باید آن را به درخواست حذف تبدیل کنید.

حذف رکوردها به دلایل زیر می تواند منجر به نتایج غیر قابل پیش بینی از جمله نقض یکپارچگی پایگاه داده شود:

جدول بخشی از رابطه یک به چند است

به عنوان شرط اطمینان از یکپارچگی داده ها، از این گزینه استفاده شد حذف آبشاری فیلدهای مرتبط

به عنوان مثال، شما تصمیم می گیرید تعدادی از دانش آموزان را حذف کنید و رکوردهای مربوطه را از جدول حذف کنید دانش آموزان. یک میز هم هست امتحانات، که با جدول مرتبط است دانش آموزان،رابطه یک به چند اگر گزینه ای برای اطمینان از یکپارچگی داده ها انتخاب شود، با حذف سوابق دانش آموزان، سوابق نمره آنها حذف می شود، یعنی اطلاعات پیشرفت آنها!

اگر گزینه نصب شده باشد حذف آبشاری فیلدهای مرتبطو سعی کنید رکوردها را در حالت نمایش جدول حذف کنید، هشداری در مورد حذف احتمالی داده ها در جداول دیگر دریافت خواهید کرد. و هنگام استفاده از درخواست های حذف، اخطاری نخواهید دید. MS Access فقط اطلاعاتی در مورد تعداد رکوردهای حذف شده ارائه می دهد، اما چیزی در مورد حذف آبشاری نمی گوید.

درخواست اضافه کردن سوابق

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

می‌توانید با اجرای یک کوئری انتخابی، برای اطمینان از کپی کردن سوابق مورد نیاز، درخواستی را برای اضافه کردن رکوردها (مانند سایر کوئری‌های اقدام) شروع کنید.

اگر نیاز به اضافه کردن رکوردها به جدولی در پایگاه داده دیگری دارید، ابتدا باید جدول منبع را با استفاده از دستور به پایگاه داده حاوی جدول هدف بپیوندید. فایل/داده های خارجی/پیوند به جداول. برای انتخاب رکوردهایی که باید اضافه شوند، باید یک عبارت انتخاب ایجاد کنید. سپس باید کوئری کامپایل شده را اجرا کنید و نتیجه را با تغییر به حالت جدول با استفاده از دستور ارزیابی کنید نمای جدول/حالت. پس از این، باید به حالت Design برگردید و دستور را فعال کنید درخواست/افزودن

در کادر محاوره ای که باز می شود، باید فیلد را وارد کنید نام جدولنام جدولی که می‌خواهید داده‌های مجموعه نتایج پرس و جو را به آن اضافه کنید. بستن کادر محاوره ای با یک دکمه خوبباعث می شود Access خط را به فرم پرس و جو اضافه کند اضافه.

برنج. 27 مشاهده پنجره درخواست برای افزودن سوابق

به خط کشیدن اضافهبه طور خودکار (یا به صورت دستی) نام فیلدهایی از جدول هدف که با نام فیلدهای پرس و جو مطابقت دارند درج می شود. در مرحله بعد باید درخواست را اجرا کنید. برای این کار دستور را اجرا کنید درخواست/اجرا یا روی دکمه کلیک کنید اجرا کردندر نوار ابزار در یک کادر محاوره ای خاص، Access نشان می دهد که چه تعداد رکورد به جدول هدف اضافه می شود و نیاز به تأیید این عملیات دارد.

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

ورودی هایی که به اشتباه اضافه شده اند را می توان به راحتی پیدا و حذف کرد. با این حال، می توانید با تهیه یک نسخه پشتیبان از جدولی که در آن رکوردها را اضافه می کنید، در زمان صرفه جویی کنید.

Ms Access از دو حالت قفل پشتیبانی می کند.

    مسدودسازی خوش بینانه به صورت پیش فرض استفاده می شود. ورودی فقط در حین ذخیره قفل می شود و در حین ویرایش باز می ماند. هنگام ذخیره، اکسس رکوردهای اصلاح شده را قفل می کند تا از وضعیت خطا جلوگیری کند. به عنوان مثال، زمانی که یک کاربر می تواند تغییرات نادرستی در یک رکورد ایجاد کند یا رکورد اشتباه را تغییر دهد.

    مسدودسازی بدبینانه این تغییرات را مسدود می کند. به تنها یک کاربر اجازه می دهد تا روی داده های قفل شده بنویسد. سایر کاربران با وجود مسدود بودن می توانند آنها را بخوانند، اما برای آنها بنویسند.

برای تنظیم سطح قفل داده در Ms Access 2007:

    در قسمت Advanced پارامترهای قفل دسترسی تنظیم شده است (شکل 6).

برنج. 6 بخش پنجره برای مدیریت قفل ها

مشکل در اجرای کوئری ها

از آنجایی که اکسس به طور پیش فرض چک باکس را فعال کرده است،

سپس هنگامی که پایگاه داده را باز می کنید، پیامی در مورد مسدود شدن رکوردها در زیر نوار ظاهر می شود.

در این حالت حفاظت از رکورد، درخواست‌های تغییر ایجاد شده کار نمی‌کنند. برای تکمیل درخواست های تغییر، قفل باید آزاد شود.

پنجره تنظیمات امنیتی Microsoft Office ظاهر می شود (شکل 7).

Fig.7 پنجره هشدار امنیتی

درخواست به روز رسانی

برای مبلغ معوقه در پرداخت های آب و برق، جریمه هایی باید به میزان 1/300 نرخ بازپرداخت بانک روسیه در روز پرداخت برای هر روز تأخیر پرداخت اعمال شود.

دستورالعمل بانک روسیه مورخ 31 مه 2010 شماره 2450-U

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

جریمه = مبلغ * کم پرداخت * 8.75/300

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

اقدامات

یک پنجره ظاهر می شود

فهرستی از فیلدها در جدول پرداخت برای جوامع در نیمه بالایی پنجره طراح ظاهر می شود.

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

نیمه پایینی پنجره فرم درخواست در ابتدا شبیه (شکل 8) است.

برنج. 8 نیمه پایینی پنجره Design برای ایجاد نوع خاصی از درخواست

به طور پیش فرض، فرم درخواست شامل 6 ردیف ها (تعداد ردیف ها ممکن است بسته به نوع درخواست متفاوت باشد).

سرصفحه ردیف

هدف

نام فیلد انتخاب شده از جدول

نام جدول

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

مرتب سازی

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

خروجی روی نمایشگر

وقتی چک باکس / مقادیر فیلدهای رکورد را روی صفحه نمایش می دهد یا نشان نمی دهد - نتیجه پرس و جو

شرط انتخاب

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

معیار OR منطقی برای گنجاندن رکوردهای اضافی در مجموعه داده های حاصل

    در ستون اول نیمه پایینی پنجره Designer مراحل ایجاد درخواست به روز رسانی فیلد Penalty را انجام دهید (شکل 9).


برنج. 9 پنجره سازنده بیان

یک پنجره پیام ظاهر می شود (شکل 10).

شکل 10 پنجره - هشدار در مورد تغییرات داده ها

شکل 11 پنجره تایید به روز رسانی رکورد

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

وظیفه 2 . یک پرس و جو جدول ایجاد کنید PaymentCommServicesبرای به روز رسانی مقادیر فیلد مبلغ با احتساب جریمه

اقدامات

    اجرای یک پرس و جو برای به روز رسانی رکوردهای ستون مبلغ با احتساب جریمه هامشابه کار قبلی انجام می شود و مراحل کار قبلی را از نقطه 2 تا نقطه 5.4 تکرار می کند.

    سپس باید یک عبارت برای محاسبه مقادیر فیلد ایجاد کنید مبلغ با احتساب جریمه ها(شکل 12).

برنج. 12 نوع عبارت برای تغییر مقادیر برای ستون SumSuchetoPeni

      نتیجه اجرای دو درخواست برای به روز رسانی رکوردها در شکل 13 نشان داده شده است

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

توجه داشته باشید


برنج. تکه‌ای از فرم با یک راهنمای ابزار برای دکمه Update

شکل 16 به روز رسانی سه فیلد را هنگام تغییر داده ها در رکوردهای 1،7،12،22،23 نشان می دهد.

شکل 16 جدول پرداخت خدمات ارتباطی پس از اجرای درخواست به روز رسانی سه ستون

امروز در مورد موضوع «درخواست به‌روزرسانی دسترسی» صحبت خواهیم کرد. برای به‌روزرسانی داده‌ها در فیلدهای جداول پایه می‌توان از یک درخواست به‌روزرسانی Access استفاده کرد. تغییرات در گروهی از رکوردها ایجاد می شود که با استفاده از شرایط انتخاب مشخص شده توسط کاربر انتخاب می شوند. مقادیر تغییرات فیلد در فرم درخواست در خط Update To تعریف شده است.
وظیفه. هزینه کالا را در هر ردیف از جدول SHIPMENT محاسبه کرده و در قسمت AMOUNT_SHIP همان جدول ذخیره کنید.

  1. برای ایجاد یک درخواست به روز رسانی، ابتدا یک کوئری Select بر اساس دو جدول ایجاد کنید: جدول حمل و نقل که باید به روز شود و جدول PRODUCT.
  2. با کلیک بر روی دکمه Update در زبانه Design روبان یا با انتخاب Update از لیست Query Type در منوی زمینه درخواست، یک درخواست انتخابی را به یک جستجوی به روز تبدیل کنید. پس از اجرای این دستور، خط Update To در فرم درخواست ظاهر می شود (شکل 4.43).
  3. فرم درخواست را پر کنید. فیلد مبلغ حمل و نقل را بکشید تا از لیست جدول حمل و نقل به ردیف فیلد به روز شود. در خط Update To عبارت [PRICE]*[QUANTITY OF SHIPPING] را وارد کنید که مقدار به روز رسانی را محاسبه می کند.
  4. محتویات فیلد SUM_OTGR به روز شده را قبل از اجرای پرس و جو با کلیک بر روی دکمه View در نوار Query Designer در گروه Results مرور کنید.
  5. برای به روز رسانی محتویات فیلد SUM_OTGR، با کلیک روی دکمه Run در تب Design ribbon، درخواست را اجرا کنید. کادر محاوره‌ای ظاهر می‌شود که تعداد رکوردهایی را که باید به‌روزرسانی کنید به شما می‌گوید و از شما می‌پرسد که آیا می‌خواهید عملیات به‌روزرسانی را ادامه دهید. تأیید کنید که ورودی ها به روز شده اند.
  6. محتویات فیلد به روز شده SUM_OTGR را پس از اجرا مشاهده کنید درخواست. برای انجام این کار، پس از اجرای پرس و جو با استفاده از دکمه مشاهده برگه در نوار وضعیت یا کلیک بر روی دکمه View در تب روبان، به نمای صفحه داده بروید.

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

  1. اگر فقط نیاز به به روز رسانی برخی از ردیف های جدول دارید، شرایط را برای انتخاب رکوردهایی که قرار است به روز شوند تنظیم کنید. برای این کار، فرم درخواست را با فیلدی که می خواهید رکوردها را انتخاب کنید تکمیل کنید. فیلد PRODUCT CODE را به فرم درخواست بکشید و پارامتر [Enter product code] را در خط معیارها وارد کنید (شکل 4.43 را ببینید).
  2. درخواست را تکمیل کنید. به روز رسانی فقط برای سوابق با کد محصول وارد شده انجام می شود.
  3. درخواست را به عنوان محاسبه هزینه ذخیره کنید.
  4. به حالت SQL بروید. عبارت UPDATE معادل درخواست به روز رسانی به صورت زیر نوشته می شود:
    به روز رسانی مورد محموله پیوستن داخلی در ITEM.ITEM_CODE = SHIPMENT.ITEM_CODE
    SET SHIPMENT.SHIPPING AMOUNT = [PRICE]*[SHIPPING QUANTITY] WHERE (((PRODUCT.PRODUCT_CODE)=[کد محصول را وارد کنید]));

نام جداول مورد استفاده در پرس و جو و نحوه اتصال آنها مستقیماً بعد از نام عبارت UPDATE مشخص می شود. بیانیه UPDATE فیلد SHIPMENT.SHIPPING AMOUNT مشخص شده در بند SET را به مقدار مشخص شده توسط عبارت [PRICE]*[SHIPPING QUANTITY] به روز می کند. به روز رسانی در تمام رکوردهایی که شرایط انتخاب مشخص شده در عبارت WHERE را برآورده می کنند، رخ می دهد.
برای تقویت این موضوع، فیلم آموزشی را تماشا کنید.