2015-09-16 51 views
0

我做了功能,利用做,而(真) - 无限循环(控制其他应用程序)无限循环(虽然)和使能控制MS Access窗体2003

我正在寻找解决方案如何使形式accessable - 当我启动应用程序,访问只是加载和我的表单不能改变。至少我试着做一些“监听功能”为“S”键停止一段时间,它不工作太(也许我这样做不好,这可能吗?)

我只是用

Do While (run) <code> Loop 

我想我至少需要2个线程(1个线程处理无限同时,2个线程用于表单,但是我读取访问不能处理多线程。)

我可以问,是否有一些使这项工作的可能性?

回答

0

MS Access或MS办公室是单线程平台和不能执行并行执行。通常,盲目循环或不受控制的循环根本不是一个好习惯。如果你没有控制器就有盲循环功能,那么你正在浪费你的vba应用程序的进程周期。

你可以做什么:

  1. 使用定时器,设定的时间间隔你的代码必须多长时间执行
  2. 添加“办赛事”内循环使用过程周期来执行时,一些其他的代码循环内的代码正在等待外部信号。
  3. 添加任何类型的控制器来打破循环..简单,如果其他条件
  4. 移植代码到外部.dll和执行/控制功能VBA

总之外,VBA无法执行的线程。使用不受控制的会冻结你的应用程序,这将迫使你使用[CTRL] + F12手动停止执行。

+0

感谢快速回复。 对于你所建议的选项: 1.我需要实时检查时间(Now()== someTime) - 无法使用 2.我尝试添加按钮STOP,我添加了将布尔值更改为FALSE的函数(它有任何影响) 3.它需要永久运行,因为检查时间(它的图表tasker - 当它启动其他应用程序的时间,并且它检查后如果结束罚款) 4.如果我使用.DLL并执行代码(while true - infinite loop ) - 将形式可访问? –

0

我使用的功能“的DoEvents”(它至少为输入反应 - 键盘/鼠标)