PDA

View Full Version : امکان وقفه در کد نویسی اکسس



mostafa-sohrablou
یک شنبه 20 آبان 1386, 13:47 عصر
با سلام
آیا کسی می دونه چطوری می شه در کد نویسی اکسس برای لحظه ای برنامه را متوقف کرد یعنی کدی باشد که به محض اینکه کامپایلر به آن می رسد برای چند لحظه هیچ کاری انجام ندهد و سپس بعد از گذشت زمان موردنظر دوباره به کار خود ادامه دهد. یعنی به فرمان بعد وقفه.

hamed2661
یک شنبه 20 آبان 1386, 15:29 عصر
با یه حلقه for بدون بدنه میتونی این کارو بکنی و مقدار تکرارشو بطور تجربی بدست بیاری که البته این یه راه حل دم دستی محسوب میشه چون از کامپیوتر به کامپیوتر دیگه زمانش فرق می کنه.
for i=0 to n
next i

mostafa-sohrablou
دوشنبه 21 آبان 1386, 06:48 صبح
با سلام
عزیز من می خوام برنامه در آن واحد ایست کند نه اینکه برنامه را مشغول به کاری کنم. خود حلقه باعث می شود که برنامه کار کند و مشغول انجام پروسه حلقه باشد. مثلاً در کیو بیسیک فرمان Delay می توانستیم این کار را بکنیم حال من معادل آن را در اکسس می خواستم.

مهدی قربانی
سه شنبه 22 آبان 1386, 11:24 صبح
با سلام
عزیز من می خوام برنامه در آن واحد ایست کند نه اینکه برنامه را مشغول به کاری کنم. خود حلقه باعث می شود که برنامه کار کند و مشغول انجام پروسه حلقه باشد. مثلاً در کیو بیسیک فرمان Delay می توانستیم این کار را بکنیم حال من معادل آن را در اکسس می خواستم.

سلام
تا اونجائیکه اطلاع دارم فرمانی با این تیپ "Delay" در vba نیست منتها فکر میکنم بتونید از توابع API مثل Sleep یاموارد مشابه استفاده کنید ولی عموماً مواردی که من در VBA باهاش برخورد داشتم از توابع حلقه استفاده شده بود مثل نمونه زیر :


Sub Wait(tSecs As Single)
' Timer to create a pause
Dim sngSec As Single

sngSec = Timer + tSecs
Do While Timer < sngSec
DoEvents
Loop
End Sub
Private Sub Command1_Click()


Wait 5 'تاخیر برای مدت 5 ثانیه

DoCmd.Close


End Sub

karmand
سه شنبه 22 آبان 1386, 12:02 عصر
sub forloop
dim pousetime ,start
pousetime=20
start=timer
do while timer<start+pousetime
loop
end sub

مهدی قربانی
سه شنبه 27 آذر 1386, 00:07 صبح
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Private Sub Command1_Click()
Sleep 2000
Command1.Enabled = False
Sleep 2000
Command1.Enabled = True

End Sub