책 내용 질문하기
실제시험장을 옮겨 놓았다 - 엑세스 프로시저 MsgBox , 큰따옴표, 괄호 등에 관한 질문입니다.
도서
2019 시나공 컴퓨터활용능력 1급 실기
페이지
225
조회수
569
작성일
2019-02-03
작성자
탈퇴*원
첨부파일

질문1. MsgBox를 띄울때 어떤때는 뒤에 괄호로 묶어주고    AA = MsgBox("폼을 종료합니다.", vbOKOnly, "")

          또 어떤때는 괄호로 안묶어 주는게 너무 헷갈립니다.          MsgBox "감봉대상", vbOKOnly, "근태등급"

경우에 따라 괄호를 쓰고 안쓰고.. 구분하는 방법이 따로 있는지요?


=====================================================

223쪽 

문제2 입력 및 수정기능구현에서 3번 문제의 정답

Private Sub cmd종료_Click()
    AA = MsgBox("폼을 종료합니다.", vbOKOnly, "")
    If AA = vbOK Then
    DoCmd.Close
    End If
End Sub

-----------------------------------------------------

225쪽

문제4 처리기능구현에서 3번 문제의 정답

Private Sub 횟수_GotFocus()
    If 횟수 >= 3 Then
        MsgBox "감봉대상", vbOKOnly, "근태등급"
    ElseIf 횟수 = 2 Then
         MsgBox "경고대상", vbOKOnly, "근태등급"
    Else
            MsgBox "보통", vbOKOnly, "근태등급"
    End If
End Sub 

=========================================================

 

 

 

 

 

 

질문2. 큰따옴표, 대괄호, 괄호없음을 쓰는게 구분이 안갑니다.

 

2-① 큰따옴표

225쪽 문제3-2 조회기능에서 

Me.filter = "이름='" & cmb이름찾기 & "'"    

 여기서  작은따옴표와 &의 의미는 이해했습니다

그런데 왜 "" 큰따옴표를 써줘야만 하는지 왜 하필 큰따옴표인지 궁금합니다.

 

2-② 대괄호/괄호없음

컨트롤의 경우 대괄호를 써주는 거라고 생각했었는데 

왜 if 다음에 나오는 횟수에서 [횟수]가 아니라 그냥 횟수인가요.

--------------------------------------------------------

225쪽

문제4 처리기능구현에서 3번 문제의 정답

Private Sub 횟수_GotFocus()
    If 횟수 >= 3 Then
        MsgBox "감봉대상", vbOKOnly, "근태등급"
    ElseIf 횟수 = 2 Then
         MsgBox "경고대상", vbOKOnly, "근태등급"
    Else
            MsgBox "보통", vbOKOnly, "근태등급"
    End If

End Sub

-------------------------------------------------------- 

 

[대괄호]는 컨트롤이 아니라 필드를 묶어주는 역할인가요?

그럼 아래에서의 대괄호는 어떻게 생각해야하나요..

--------------------------------------------------------
Private Sub cmb이름찾기_BeforeUpdate(Cancel As Integer)
    txt사번 = [cmb이름찾기].[Column](1)
    txt직급 = [cmb이름찾기].[Column](2)
End Sub

-------------------------------------------------------- 


답변
2019-02-04 20:03:44

안녕하세요.

 

1.
일반적으로 변수에 메시지박스의 결과를 저장하는 경우에 괄호를 적습니다.
AA =  = MsgBox("폼을 종료합니다.", vbOKOnly, "") 형식인 것이죠.

 

2-1. 큰따옴표
& 와 큰따옴표로 컨트롤을 분리시키고, 컨트롤이 문자를 처리할 경우 작은 따옴표를 추가하는 것입니다.


숫자일 경우 : Me.filter = "이름=" & cmb이름찾기
문자일 경우 : Me.filter = "이름='" & cmb이름찾기 & "'"

큰 따옴표는 filter에서 조건을 넣기 위해 사용했다고 보시면 됩니다.
완전히 같지는 않지만 이해를 돕기 위해 엑셀과 비교해 볼 수 있습니다.
엑셀의 COUNTIF 등에서도 조건을 위해 큰따옴표를 사용했었습니다.
셀 참조나 수식과 연결될 때 &로 연결했구요.
액세스에서는 컨트롤과 연결할 때도 &로 연결하는 것입니다.

 

2-2. 대괄호
액세스에서 [ ] 는 폼이름, 필드명이나 컨트롤명에 붙여줍니다.

필요시에 액세스가 자동으로 붙여주기도 합니다.

[ ] 이 있든 없든 정확한 결과가 나오면 정답으로 인정 됩니다.


좋은 하루 보내세요. 

  • 관리자
    2019-02-04 20:03:44

    안녕하세요.

     

    1.
    일반적으로 변수에 메시지박스의 결과를 저장하는 경우에 괄호를 적습니다.
    AA =  = MsgBox("폼을 종료합니다.", vbOKOnly, "") 형식인 것이죠.

     

    2-1. 큰따옴표
    & 와 큰따옴표로 컨트롤을 분리시키고, 컨트롤이 문자를 처리할 경우 작은 따옴표를 추가하는 것입니다.


    숫자일 경우 : Me.filter = "이름=" & cmb이름찾기
    문자일 경우 : Me.filter = "이름='" & cmb이름찾기 & "'"

    큰 따옴표는 filter에서 조건을 넣기 위해 사용했다고 보시면 됩니다.
    완전히 같지는 않지만 이해를 돕기 위해 엑셀과 비교해 볼 수 있습니다.
    엑셀의 COUNTIF 등에서도 조건을 위해 큰따옴표를 사용했었습니다.
    셀 참조나 수식과 연결될 때 &로 연결했구요.
    액세스에서는 컨트롤과 연결할 때도 &로 연결하는 것입니다.

     

    2-2. 대괄호
    액세스에서 [ ] 는 폼이름, 필드명이나 컨트롤명에 붙여줍니다.

    필요시에 액세스가 자동으로 붙여주기도 합니다.

    [ ] 이 있든 없든 정확한 결과가 나오면 정답으로 인정 됩니다.


    좋은 하루 보내세요. 

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.