컴퓨터활용(컴활) 공부

데이터베이스 컴활 실기 풀기 (DoCmd, MsgBox의 "네/아니오" 선택하기)

미스털이 사용자 2023. 12. 11. 21:06
반응형

(문제 출처 : https://m.cafe.daum.net/hermingway/ZYwR/38 )

 

​​데이터베이스 컴활 실기문제를 계속 풀어보자.

 

===

 

이벤트 프로시저 생성

!!!msgbox 응용!!!

DoCmd 함수 사용

 

 

 

먼저 이벤트프로시저를 이벤트를 통해 만든다.

[cmd닫기] 선택 후,

[이벤트]->[OnClick]->[속성값 설정(●●●)]을 누르고

작성기 선택 창에서 "코드 작성기"누른다.

 

 

 

그럼 다음과 같이 이벤트에 관한 Sub프로시저가 생성

 

 

MsgBox의 2번째 인자값에 대해 알아보자.

이 2번째 인자값의 기본값(Default)은 vbOkOnly이다.

근데, 이 vbOkOnly은 "OK"란 버튼만 나오는 것

 

이런 방식으로 몇가지 옵션을 파악할 수 있다.

vbOkCancel : Ok버튼, Cancel버튼

vbYesNo : Yes버튼, No버튼

 

위 문제에선 "네Yes", "아니오No"가 나왔으므로

vbYesNo를 써주면 될 것 같다.

 

MsgBox("폼을 저장한 후 종료하겠습니까?", vbYesNo, "폼종료")
 

 

근데, 이 선택창에서 2가지 경우가 나타나는데

"네"버튼 누르면 : 저장여부를 묻지않고 저장 후 폼 종료

"아니오"버튼 누르면 : 아무것도 안함

 

이 "네", "아니오"를 저장할 변수가 필요하다.

그래서 이 MsgBox에 리턴값을 저장할 변수를 만들어준다.

응답 = MsgBox("폼을 저장한 후 종료하겠습니까?", vbYesNo, "폼종료")
 

 

그리고 이 응답에 대해 조건문을 만들어주면

Sub프로시저를 완성

 

Private Sub cmd닫기_Click()
    응답 = MsgBox("폼을 저장한 후 종료하겠습니까?", vbYesNo, "폼종료")
        
    
    If 응답 = vbYes Then
        '"네"버튼 누르면 : 저장여부를 묻지않고 저장 후 폼 종료
        DoCmd.Close acForm, "학과별학생정보", acSaveYes
    Else
        '"아니오"버튼 누르면 : 아무것도 안함
    End If
End Sub
 
 

참고 ) DoCmd 개체

Microsoft Access 매크로 함수를

Visual Basic에서 실행하기 위한 개체

 
 
OpenReport
작성된 보고서를 호출하는 매크로 함수를 수행
ex1> DoCmd.OpenReport "보고서명", 여는방법, 필터이름(생략 시 공백),"조건"
OpenForm
작성된 폼을 호출하는 매크로 함수를 수행
ex1> DoCmd.OpenForm "폼 명", 여는방법, 필터이름(생략 시 공백),"조건"
ex2> DoCmd.OpenForm "폼 명"
OpenQuery
작성된 쿼리를 호출하는 매크로 함수를 수행
ex1> DoCmd.OpenQuery "쿼리 명"
ex2> DoCmd.OpenQuery "명단추가"
RunSQL
SQL문을 실행하는 매크로 함수를 수행
* 검색 : SELECT 필드명 FROM 테이블명 WHERE 조건
* 갱신 : UPDATE 테이블명 SET 변경내용 WHRE 조건
* 삭제 : DELETE 필드명 FROM 테이블명 WHERE 조건
* 추가 : INSERT INTO 테이블(필드1, 필드2) VALUES(값1, 값2)


ex1> DoCmd.RunSQL "DELETE * FROM "명단1"
RunCommand
액세스 내부에서 제공하는 명령을 실행시키는 매크로 함수를 수행
Close
활성화되어 있는 데이터베이스 개체를 닫는 매크로 함수를 수행
Quit
액세스를 종료하는 매크로 함수를 수행

 

 

 

 

반응형