Access 데이터베이스에서 작업을 일시 중지하는 방법을 찾으려고 애 쓰고 있습니다. 나는 많은 제안을 발견했으며 그 중 일부는 작동하지만 원하는 방식이 아닙니다.MS Access - 프로그램 일시 중지
나는 그것을 작동시킬 수 있는지를 알기 위해 미니 예제를 만들었다. (실제 프로그램에서 사용하겠다.)
두 가지 양식 (Form1 및 Form2)이 있습니다. Form1의 단추를 클릭하면 Form1이 닫히고 Form2가 열립니다. Form2에 클릭하면 버튼을 눌러 필요한 작업을 수행 할 수 있습니다 (5 초 동안 일시 중지).
Sub WaitFor(NumOfSeconds As Long)
Dim SngSec As Long
SngSec = Timer + NumOfSeconds
Do While Timer < SngSec
DoEvents
Loop
End Sub
명령 단추 코드 :
Call WaitFor(5)
MsgBox "Waited for 5 seconds", vbOKOnly
DoCmd.Close
DoCmd.OpenForm "Form1", acNormal
내가 코드를 필요로 여기에 내가 사용하고 코드 ....
이모듈 코드는 사용자가 클릭하지 않고도 실행할 수있는 Form2의 단추 행운을 불렀던 여러 가지 Form 이벤트에이 코드를 넣으려고했습니다. 들어가는 이벤트에 따라 "작동"하지만 Form2는 실제로 화면에 표시되지 않습니다.
다양한 이벤트 (Load, Activate, Current, Focused)에서 Form2에 대한 명령 단추를 호출 해 보았습니다. 그것이 작동 할 때 나는 Form2가 결코 스크린에 결코 보이지 않는 곳에 문제가있다.
제안 사항? (Visual Basic과 같은 타이머 컨트롤이 좋을 것입니다!)
왜 실행을 일시 중지해야 할를 호출하려면? 타이머를 구현하는 것보다 간단하다는 단점이 있습니다. – Parfait
이 프로그램은 초등학생들이 학생 정부 공무원에게 "투표"하기 위해 사용하는 데 사용됩니다. 지연이 필요한 화면은 투표를 마쳤다 고 말하는 마지막 화면입니다. 지연의 필요성은 많은 학생들이 투표 모니터 (선생님)가 학생들을 붙잡고 그들을 따라갈 수 있기 전에 가능한 많은 시간 동안 프로그램을 사용하려고 시도하기 때문입니다. 지연과 함께 나는 아무것도 할 수없고 교사는 그들이 끝났다는 것을 알 수있는 상황이 일어나지 않기 때문에 학생이 스스로 쉽게 움직이는 것을 발견했습니다. – user3574547
많은 사람들이 여러 번 입력하기 위해 지연된 후에도 여전히 대기 할 수 있기 때문에이를 처리하는 데는 몇 가지 방법이 있습니다. 제출 데이터를 확인하고 조건부로 사용하지 않도록 설정하거나 ([사용] (https://msdn.microsoft.com/en-us/vba/access-vba/articles/commandbutton-enabled-property-access) 참조) 숨기기 ([사용 안 함 ] (https://msdn.microsoft.com/en-us/library/office/aa663049 (v = office.11) .aspx)) 단추를 적절한 경고 메시지와 함께 사용자에게 보냅니다. – Parfait