PDA

View Full Version : سوال: خروج خودكار از برنامه اكسس بعد از مدتي كه از برنامه استفاده نشود



mohamad goodarzi
سه شنبه 16 آذر 1389, 07:57 صبح
درخواست براي زماني است كه با برنامه كار نمي كنيم مثلا" بعداز 10 دقيقه كه بابرنامه كار نشد از برنامه خارج شود وقتي با اكسس كار مي كنيم شرط منتفي شود:گریه:

انگوران
سه شنبه 16 آذر 1389, 11:19 صبح
يک متغير به نام X در قسمت General تعريف کنيد .
سپس در رويداد On Open فرم بنويسيد :

X=Time( )
بعد دررويداد On Timer فرم کدهاي زير را بنويسيد :

Y=Time( ) – X
Z=Second(Y)
If z <0 then DoCmd.Queit
در ضمن خصوصيت Timer Interval را برابر 1000 وخصوصيت Key Preview را نيز برابر Yes قرار دهيد . تا اين جاي کار ، فرم يك دقيقه پس از باز شدن بسته مي شود و اگر بخواهيم درصورت کار کردن با فرم ، فرم بسته نشود در رويداد On Key Pressنيز کد زير را وارد نمائيد .

X=Time( )

mohamad goodarzi
سه شنبه 16 آذر 1389, 11:52 صبح
تشكر فراوان از راهنمايي شما

انگوران
سه شنبه 16 آذر 1389, 12:42 عصر
سلام ، خواهش مي كنم . اين سؤآل و از اين نمونه سوآلات در كتاب الكترونيكي اكسس ( قسمت امضا ) زياد است .

abdoreza57
سه شنبه 16 آذر 1389, 21:10 عصر
انگوران عزيز از زحمتي كه براي كتاب الكترونيكيت كشيدي واقعا بايد خسته نباشيد به شما گفت كه بنده به شخصه برايم بسيار مفيد واقع شد
كد هايي كه قرار دادي نميدونم چرا من نتونستم به كار بگيرم اگه خودتون يه نمونه مي تونيد آپ كنيد ممنون ميشيم كه حاصل زحمتتون را به اين راحتي در اختيار ديگران قرار بديد

انگوران
چهارشنبه 17 آذر 1389, 09:20 صبح
با سلام - نمونه رو ببيند ( به جاي z<0 عبارت z=59 جايگزين شده و در صورتي كه طبق درخواست دوستمون بخوايم بعد از 10 دقيقه از برنامه خارج بشيم تكه كد زير جايگزين بشه .

Y = Time() - X
z = minute(Y)
If z = 10Then DoCmd.Quit

mohamad goodarzi
چهارشنبه 17 آذر 1389, 12:00 عصر
با راهنمايي انگوران عزيز نمونه تهيه كردم كه بعد از زمان خاصي براي خروج از برنامه سوال مي شود در صورت عدم تاييد خارج نمي شود ودر صورت تاييد خارج مي شود واگر هيچ عملي صورت نگيرد خودكار خارج ميشود
اگر كسي راه بهتري معرفي نمايد ممنون مي شوم
63270

انگوران
پنج شنبه 18 آذر 1389, 13:03 عصر
البته چيزي كه مد نظر شماست شايد اينجوري بهتر باشه .

Y = Time() - X
z = Second(Y)
If z = 10 Then
If MsgBox("آيا براي خروج از برنامه مطمئن هستيد ؟", vbCritical + vbYesNo, "توجه") = vbYes Then
DoCmd.Quit
Else
X = Time()
End If
End If
ولي يه باگ پيدا شده كه من نتونستم حلش كنم و دست اساتيد رو مي بوسه و اونم اينه كه اين امكان فقط در فرم جاري عمل ميكنه و اگه يه فرم ديگه باز بشه عمل نميكنه .

abdoreza57
پنج شنبه 18 آذر 1389, 13:32 عصر
با سلام خدمت انگوران عزيز
باگ ديگه اينكه در صورت عدم پاسخگويي توسط كاربر برنامه بسته نميشود
يعني اين اخطار بايد جلو بسته شدن ناخواسته را بگيرد نه اينكه دستور خروج يا عدم خروج را صادر كند
انگوران جان راهي به ذهنت ميرسه

انگوران
پنج شنبه 18 آذر 1389, 14:37 عصر
سلام دوست عزيز ، من اين پاسخ رو بر اساس درخواست دوست خوبمون گودرزي نوشتم . به نظر بنده نيازي به تائيد گرفتن نيست چون فرض بر اين است كاربر پشت سيستم نيست و يا با سيستم كاري نداره و برنامه بايد بسته بشه .

abdoreza57
پنج شنبه 18 آذر 1389, 19:05 عصر
سلام
نه منظورم اينه كه برنامه پس از زمان تعيين شده در قسمت پيام اخطار
آيا براي خروج از برنامه مطمئن هستيد ؟ مي ماند و خروج كلي از برنامه وجود ندارد

Zero Defect
شنبه 20 آذر 1389, 18:47 عصر
سلام دوست عزیز , انگوران

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

ریزه کاری بیشتر به پای خودتون

موفق باشید

انگوران
یک شنبه 21 آذر 1389, 09:05 صبح
با سلام و سپاس فراوان ، اگه اشتباه نكنم با اين روش نيز كماكان مشكل قبلي پابرجاست يعني اگه 100 تا فرم تو برنامه ا داشته باشم بايد تو تمامي فرمها شمارنده ريست بشه و اين خوشايند نيست . در صورتي كه قصدم اينه كه كدهاي مورد نياز فقط توي يك فرم نوشته بشه ( فرم اصلي ) و فشردن دكمه هاي صفحه كليد يا موس توسط فرم اصلي تشخيص داده بشه و عمل كنه . با سپاس مجدد .

Zero Defect
یک شنبه 21 آذر 1389, 17:37 عصر
سلام

جناب آقاي انگوران ، اكسس رويدادگراست ، و در قبال رویدادهای صادر شده از سوی آبچکتها قابلیت انجام کاری رو داره

درخواست شما به این روشی که شما مدنظرتونه امکان پذیر نیست ( نه در اکسس , در هیچ محیط IDE دیگه ای )

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

ضمن اینکه زمان لازم برای اعمال این کدها در یک برنامه با 100 فرم حداکثر 1 ساعت زمان میبره که در مقابل زمانی که باید جهت طراحی برنامه ای با این وسعت بشه اصلا به چشم نمیاد

موفق باشید