انجمن تخصصی اکسس
جامع ترین انجمن تخصصی اکسس در خانه اکسس ایران
پاسخ ها (18)
-
پاسخ پذیرفته شده
0سلام
اصولا چون در اکسس از روش bound استفاده می شود به محض عبور از یک رکورد تمامی فیلدهای مرتبط با آن ذخیره می شوند .
برای رسیدن به این هدف می توانید در محل های عبور از رکورد یعنی دکمه هایی مانند next record ، last record ، first record , previous record , new record , و همچنین به موقع خروج از فرم و هر فعالیتی که منجر به ذخیره رکورد می شود خط زیر را دوبار تکرار کرد :
me.undo
me.undo با اینکار تمامی فعالیت های کاربر روی آخرین رکورد حذف می گردد و کاربر تنها زمانی می تواند رکورد را ذخیره کند که دکمه ای با کد
DoCmd.RunCommand acCmdSaveRecord را اجرا نماید تا اطلاعات رکورد جاری ذخیره گردد و undo بی تاثیر شود .
البته قبل از undo کردن می توان با یک پیام چگونگی اجرای آن را نیز کنترل کرد .
با سپاس
کاویان -
پاسخ پذیرفته شده
0سلام
یه راه ساده تر اینه که یه فیلد بذارید توی جدولتون به نام مثلا IsDrafted که نوعش Yes/No باشه و بصورت پیش فرض هم Yes باشه یعنی تیک خورده باشه. (یا برعکسش مثلا IsSaved که بصورت پیش فرض تیک نخورده باشه یا همون No باشه).
بعدش هر بار که کاربر کارش تموم میشه یه دکمه ی Save بذارید و یه کد پشتش بنویسید که اون مثلا IsSaved به Yes تغییر مقدار بده. -
پاسخ پذیرفته شده
0سلام. من با روش خودم برات انجام دادم. فقط حتما باید Enable Content بزنی وقتی اکسس میاد بالا. چون از ماکرو استفاده کردم و کردی!
یه کنترل CheckBox و یه لیبل به نام IsSaved گذاشتم. که میتونی خودت بعدا Visible شون رو به False ست کنی که موقع Load فرمت دیده نشن اصن. من اینکار و نکردم که ببینی چه اتفاقی افتاده. -
پاسخ پذیرفته شده
0با سلام.میبخشید اقای کاویان ایا ممکنه در فایل ارسالی راهنمایی بفرمایید تا چگونه از درج خودکار جلوگیری شود.میخواستم بعد از زدن دکمه این پیغام نمایش داده شود."ایا ثبت شود"اگر پاسخ بلی بود ثبت شود در غیر این صورت ثبت نشود.فایل(2)2
(خیلی وقت گذاشتم اما نشد،لطفا راهنمایی بفرمایید)
با تشکر -
پاسخ پذیرفته شده
0سلام
من برای این کار شما از دو جدول استفاده می کنم
جدول اول درج اطلاعات و جدول دوم هم ذخیره نهایی با استفاده از یک query اطلاعات جدول اول رو به جدول دوم با یک پرسش مثلا "آیا اطلاعاتت ذخیره گردد" انتقال می دهم در صورت بلی انتقال میابد و اطلاعات جدول اول پس از انتقال حذف می گردد
موفق باشی -
پاسخ پذیرفته شده
0سلام
ضمن تشکر از جناب مهرانی بابت پاسخ کاملشون که ماحصل گفتگو های پست های این تاپیک رو پیاده سازی کردن .
از روش زیر هم میشه استفاده کرد . خوبی این روش این هست که برای تمامی فرمها می تونیم از همین سه خط استفاده کنیم .
در رویداد before update فرم عبارت زیر را بنویسید :
Me.Undo
این عبارت باعث می شود که قبل از به روز رساندن همه چیز به حالت قبل برگردد .
در رویداد on click دکمه ثبت نیز عبارات زیر را بنویسید :
Me.BeforeUpdate = ""
DoCmd.RunCommand acCmdSaveRecord
Me.BeforeUpdate = "[Event Procedure]"
این عبارات باعث می شود که رویداد قبلی غیرفعال شود و اطلاعات ذخیره و سپس آن رویداد فعال شود .
فایل نمونه خودتان نیز به این چهار خط کد مجهز شده و آپلود شده است .
با سپاس
کاویان -
پاسخ پذیرفته شده
0با تشکر از اقای مهرانی و اقای کاویان.ممنون از پاسخ شما.
میبخشید اقای کاویان وقتی اطلاعات را وارد میکنم اما ثبت نمیزنم ،دفعه بعد شماره ID یکی بیشتر از قبلی است.که برای رفع ان از اپند کوئری استفاده کردم.
میخواستم بعد از زدن دکمه ثبت این پیغام نمایش داده شود "ایا ثبت صورت گیرد"اگر پاسخ" بلی" بود ثبت انجام شوددر غیر این صورت نه.خودم امتحان کردم اما باز ثبت شد.ممنون میشم راهنمایی بفرماییدتا این مورد کامل شود. -
پاسخ پذیرفته شده
0سلام
من کدی رو که مهندس کاویان ارائه داده بودند در برنامه خودم اجرا کردم و جواب گرفتم البته وقتی که فرم رو می خواهم ببندم دستور me.undo رو در رویداد on close فرم اجرا میکنم اگر این کار رو انجام بدید رکورد ذخیره نمیشه مگر اینکه دستور ذخیره رو صادر کرده باشید
و یا اینکه اگر دستور برای ذخیره کردن نه است کد me.undo رو در رویداد beforinsert update فرمتون تایپ کنید
موفق باشید -
پاسخ پذیرفته شده
0با سلام.وقتی که اطلاعات را وارد میکنم و فرم را میبندم اطلاعات ثبت نمیشود.در کل اطلاعات وقتی ثبت میشود که دکمه ثبت زده شود.میبخشید دوباره سوالم را تکرار میکنم:
میخواهم وقتی دکمه ثبت را زدم یک پیغام نمایش داده شود :ایا ثبت شود" اگر "بلی" بود ثبت شود و "خیر" ثبت نشود.اگر این کار امکان دارد ممنون میشوم راهنمایی بفرمایید. -
پاسخ پذیرفته شده
-
پاسخ پذیرفته شده
-
پاسخ پذیرفته شده
برای ارسال پاسخ وارد شوید
برای ثبت پاسخ لازم است وارد شوید. از فرم مقابل برای ورود استفاده منید و اگر کاربر جدید هستید ثبت نام کنید.
اینجا ثبت نام کنید »