2016-08-17 7 views
0

ms 액세스로 새 데이터베이스를 만듭니다. 이미 모든 양식을 만들었습니다.모든 양식을 작성한 경우에만 새 레코드 추가

양식과 버튼을 설정하여 모든 양식의 필수 입력란을 채울 때만 해당 테이블에 새 레코드가 추가되도록하려면 어떻게합니까?

나는 각 "고객"에 대해 사용자가 작성하는 8 가지 양식이 있습니다. 어떤 도움이라도 대단히 감사합니다.

감사

답변

0

양식을 제출 버튼을 클릭하는 경우, 다음과 같은 코드를 실행하는 버튼에 대한 On Click 이벤트 가질 수 있습니다

Private Sub button_Click() 

if ([field1].Value = "" or isnull([field1].value)) Then 
    MsgBox "Fill out all the required fields before submitting" 
    End 
else 
    'Submit record using DoCmd.RunSQL "INSERT INTO....." 
End If 

End Sub 

을 문 경우의 체인을 가지고 채울 필드를 모두 선택하십시오. 당신이 정말로 서로를 열고 마지막에 함께 모든 형태의 제출 형태의 체인을 가지고 싶다면

,이 시도 :

첫 번째 형태의 버튼에 대한 On Click 이벤트를 사용하여 다음을 엽니 다 양식을 작성한 다음 매크로/코드를 실행하여 레코드를 제출하십시오. 다음 형식에서도 똑같이하십시오. 기본적으로 스택에 계속 추가되고 마지막 양식이 호출되어 레코드를 제출하면 On Click 이벤트가 완료되고 코드는 이전 양식으로 돌아갑니다. 앞에있는 양식은 레코드를 제출할 코드의 다음 줄로 이동 한 다음 해당 코드가 끝나고 동일한 작업이 수행됩니다. 형태 1에

: 등등 형태 2, 양식 3,에

Private Sub button_Click() 

DoCmd.OpenForm 'enter parameters to open next form here 
'Code to submit record 
'DoCmd.CloseForm 'form name 

End Sub 

:

Private Sub button_Click() 

DoCmd.OpenForm 'enter parameters to open nextform here 
'Code to submit record 
'DoCmd.CloseForm 'form name 

End Sub 

는 DoCmd를 사용할 때 매개 변수 acDialog를 사용하십시오 여기에 약간의 의사 코드는 .openForm을 사용하여 코드를 일시 중지합니다. 이전 코드로 돌아가려면 양식을 닫아야합니다. 위의 코드에 더 추가했습니다. 코드를 일시 중지하는 방법에 대한 자세한 내용은이 링크를 클릭하십시오. http://www.pcreview.co.uk/threads/pause-code-while-waiting-for-a-popup-form-to-close.1155074/

+0

이 메시지는 팝업이 나타나기 전에 사용자가 각 양식을 검토하여 모든 정보를 함께 제출할 수 있기를 기대합니다. 양식의 모든 양식 필드가 바인드됩니다. – New2This

+0

8 개의 양식을 모두 제출하기 전에 양식을 작성하고 싶습니까? 왜 그런지 물어봐도 될까요? 데이터에 오류가 있거나 표에 대한 레코드를 제출할 수없는 곳에서 문제가 발생하면 모든 항목을 한꺼번에 제출하는 목적을 무효화합니다. 확실히하지 말 것입니다. 한 번에 하나의 양식에 집착하십시오. 여러분이하려는 일은 매우 복잡하고 데이터 입력 과정에 불필요합니다. – Michael

+0

어떻게 설치하겠습니까? 각 고객은 내가 입력 한 고객 ID를 가지고 있습니다. 입력 할 고객 ID의 각 양식에 필드를 입력합니다. – New2This