에너지 관점 스터디:에관스

컴활 1급 · 컴활 1급 실전 판단

컴활 1급 InputBox 폼 컨트롤 입력 차이: 일회성 입력과 저장용 입력 구분 공식

두음 암기는 임묻·폼남입니다. InputBox는 임시로 묻고, 폼 컨트롤은 폼에 남아 데이터 흐름에 연결합니다.

간단한 한 번의 문자열 입력은 InputBox, 여러 필드·검증·레코드 관리가 필요한 입력은 Access 폼 컨트롤을 먼저 떠올리면 됩니다.

이 글은 컴활 1급에서 자주 섞이는 InputBox, 취소 결과, Default, TextBox의 ControlSource를 한 기준표로 묶고, 보기에서 무엇을 먼저 확인할지까지 정리합니다.

컴활 1급 InputBox 폼 컨트롤 입력 차이와 임묻·폼남, 취소 결과, Default 기준을 정리한 인포그래픽
임묻·폼남으로 InputBox의 일회성 문자열 입력과 Access 폼 컨트롤의 데이터 연결 기준을 비교하고 취소·Default를 함께 확인합니다.
작성에관스 컴활 1급 학습팀 발행2026년 9월 22일 수정2026년 9월 22일 주제컴활 1급 실전 판단

핵심 포인트

이 글에서 먼저 챙길 것

  • VBA InputBox는 입력 대화 상자를 표시하고 사용자가 입력한 문자열을 반환합니다.
  • InputBox의 Cancel 결과는 길이 0인 문자열이므로 빈 입력과 구분할 때 주의합니다.
  • InputBox의 Default 인수는 입력 칸에 미리 보여 줄 기본값입니다.
  • Access TextBox는 폼이나 보고서에 배치되는 컨트롤이며 바운드·언바운드 방식으로 사용할 수 있습니다.
  • TextBox의 ControlSource가 필드명이면 컨트롤 값과 해당 필드가 연결되고, 식이면 계산 결과를 표시할 수 있습니다.

본문

컴활 1급 공부 기준을 더 구체적으로 보기

이 글이 필요한 사람

VBA 코드에서 입력을 받는다는 말만 보고 InputBox와 Access 폼의 텍스트 상자를 같은 기능으로 고르면 이 글의 비교부터 확인하세요.

컴활 1급 InputBox 폼 컨트롤 입력 차이를 검색한 사람에게 필요한 것은 긴 개념 설명보다 일회성 입력인지, 폼의 데이터 흐름에 들어가는지 판단하는 순서입니다.

이 글은 입력 방식의 차이에 집중하며 Access 전체 속성표, 시험 일정, 다른 과목의 실기 순서는 범위에서 제외합니다.

두음 암기부터 시작하세요: 임묻·폼남

임묻은 InputBox가 임시로 묻는 입력이라는 뜻입니다. 대화 상자를 띄우고 한 번의 응답 문자열을 받아 변수에 담는 장면을 연결하세요.

폼남은 폼 컨트롤이 폼에 남아 데이터 흐름에 연결된다는 뜻입니다. 텍스트 상자에 값을 입력하고 필드·검증·이벤트와 함께 관리하는 장면을 떠올립니다.

암기 문장을 말한 뒤 일회성 문자열인가?와 ControlSource로 필드에 연결되는가?를 차례로 물으면 선지의 핵심이 빠르게 보입니다.

먼저 결론부터 비교합니다

InputBox는 메시지와 입력 칸을 잠깐 표시하고 사용자가 입력한 내용을 String으로 돌려주는 함수입니다.

Access 폼의 TextBox는 폼이나 보고서에 배치되는 컨트롤입니다. 언바운드로 임시 입력을 받을 수도 있고, 바운드로 특정 필드와 연결할 수도 있습니다.

따라서 한 번 묻고 결과를 변수로 받는다는 단서는 InputBox, 폼에서 값·필드·검증 흐름을 관리한다는 단서는 폼 컨트롤 쪽으로 분류합니다.

InputBox: 일회성 문자열 입력

VBA InputBox 함수는 prompt를 보여 주고 사용자가 텍스트를 입력하거나 버튼을 누를 때까지 기다린 뒤 입력 상자의 내용을 String으로 반환합니다.

시험에서는 코드가 변수에 문자열을 받는지, 폼이나 레코드에 컨트롤을 배치하는지부터 확인하면 됩니다. 전자는 InputBox의 전형적인 사용 장면입니다.

InputBox는 입력값을 변수로 받는 도구이지, 그 자체로 테이블 필드에 바인딩하는 Access 폼 컨트롤은 아닙니다.

폼 컨트롤: 폼 안에서 관리하는 입력

Access TextBox 컨트롤은 폼 또는 보고서에 놓이는 입력 요소입니다. 사용자가 직접 값을 입력하도록 만들거나 계산 결과를 보여 줄 수 있습니다.

언바운드 텍스트 상자는 특정 필드에 연결하지 않고 검색어·임시값·계산 결과를 담는 방식으로 사용할 수 있습니다.

바운드 텍스트 상자는 특정 필드의 값을 표시하고 수정하는 입력 창으로 쓰입니다. 문제에서 필드에 연결이나 폼에서 레코드와 함께 관리라는 표현이 보이면 이쪽을 먼저 확인합니다.

ControlSource: 필드 연결의 핵심 단서

TextBox의 ControlSource 속성은 컨트롤에 표시할 데이터를 정합니다. 필드명을 지정하면 해당 테이블이나 쿼리의 필드와 컨트롤이 연결됩니다.

ControlSource에 식을 지정하면 계산된 결과를 표시할 수 있으며, 이런 계산 결과는 데이터베이스의 필드에 그대로 저장되는 값과 구분해야 합니다.

선지에 ControlSource가 나오면 버튼 모양이나 목록 후보가 아니라 텍스트 상자에 어떤 데이터를 표시·연결할지를 정하는 속성인지 확인하세요.

취소 결과와 빈 문자열

VBA InputBox에서 사용자가 Cancel을 누르면 길이가 0인 문자열이 반환됩니다. 코드에서 Len(입력값) = 0을 검사하는 이유가 여기에 있습니다.

사용자가 입력 칸을 비워 둔 채 확인한 경우에도 빈 문자열이 될 수 있으므로, 반환 문자열만 검사하면 취소와 빈 입력을 구분하기 어렵습니다. 이것은 반환값을 해석할 때의 주의점입니다.

따라서 취소하면 False가 반환된다, 취소하면 Null이 반환된다는 단정한 선지는 먼저 의심하고, InputBox의 반환 자료형이 String이라는 기준으로 고칩니다.

Default: 입력 칸에 미리 넣는 값

InputBox의 세 번째 선택 인수인 default는 입력 칸에 미리 보여 줄 기본 문자열입니다.

Default는 사용자가 실제로 누른 버튼의 결과도 아니고, Access TextBox의 ControlSource도 아닙니다. 처음 제안할 값을 정하는 자리입니다.

문제에서 prompt, title, default의 순서를 묻는다면 첫 번째는 안내 문구, 두 번째는 대화 상자 제목, 세 번째는 초기 입력값으로 연결하세요.

검증과 이벤트가 필요하면 폼 컨트롤

입력 하나를 받아 바로 판단하는 장면은 InputBox가 간단하지만, 여러 칸을 함께 확인하거나 잘못된 입력을 저장 전에 막아야 한다면 폼 컨트롤이 더 자연스럽습니다.

Access 폼에서는 TextBox의 값과 폼 이벤트를 함께 사용해 입력 검증, 필수값 확인, 레코드 업데이트 흐름을 만들 수 있습니다.

다만 폼 컨트롤이라고 모두 자동 저장되는 것은 아닙니다. 바운드인지 언바운드인지, ControlSource가 필드인지 식인지까지 확인해야 합니다.

코드 장면으로 빠르게 구분합니다

코드가 answer = InputBox(...)처럼 함수 호출 결과를 변수에 담으면 일회성 문자열 입력 장면입니다.

코드가 Me.txtName처럼 폼의 컨트롤을 가리키고 ControlSource나 Value를 함께 다루면 Access 폼 컨트롤 입력 장면입니다.

InputBox의 결과를 숫자로 계산하려면 반환된 문자열을 적절한 형으로 바꾸고 빈 문자열·취소 상황을 먼저 처리해야 합니다. InputBox가 자동으로 숫자나 필드값을 보장하는 것은 아닙니다.

자주 틀리는 함정 네 가지

1. InputBox가 입력한 값을 자동으로 테이블 필드에 저장한다고 보지 않습니다. 변수로 반환할 뿐이며 저장은 별도 로직입니다.

2. 취소 결과를 Boolean False나 Null로 바꾸지 않습니다. VBA InputBox의 Cancel 결과는 길이 0인 문자열입니다.

3. Default를 ControlSource와 같은 속성으로 보지 않습니다. Default는 대화 상자의 초기 제안값이고 ControlSource는 폼 컨트롤의 데이터 원본·연결을 정합니다.

4. 폼 컨트롤이라고 무조건 바운드인 것은 아닙니다. 바운드·언바운드 여부를 확인한 뒤 저장 가능성을 판단합니다.

문제에서 적용하는 순서

1단계. 입력 UI가 잠깐 뜨는 VBA 함수인지, 폼에 배치된 Access 컨트롤인지 구분합니다.

2단계. 결과가 String으로 반환되는지, 컨트롤이 필드·식과 연결되는지 확인합니다.

3단계. InputBox라면 Cancel의 빈 문자열과 Default 인수 위치를 점검합니다.

4단계. 폼 컨트롤이라면 TextBox의 바운드·언바운드 상태와 ControlSource 의미를 점검합니다.

5단계. 틀린 선지를 임묻 또는 폼남 중 맞는 기준으로 고쳐 한 문장으로 말합니다.

시험 직전 다섯 줄 복습

1. InputBox = 대화 상자로 묻고 입력 내용을 String으로 반환.

2. Cancel = 길이 0인 문자열, 빈 입력과 해석이 겹칠 수 있음.

3. Default = InputBox 입력 칸에 미리 보여 주는 기본 문자열.

4. Access TextBox = 폼·보고서에 배치되는 입력 또는 표시 컨트롤.

5. ControlSource = TextBox가 필드나 식과 연결되어 표시할 데이터를 정하는 속성.

30초 셀프 체크

질문 1. 한 번의 문자열을 받아 변수에 담는 함수는 무엇인가요? 정답은 VBA InputBox입니다.

질문 2. InputBox에서 Cancel을 누르면 어떤 값이 반환되나요? 정답은 길이가 0인 문자열입니다.

질문 3. InputBox의 Default 인수는 무엇인가요? 정답은 입력 칸에 미리 보여 줄 기본 문자열입니다.

질문 4. Access TextBox와 필드를 연결하는 핵심 속성은 무엇인가요? 정답은 ControlSource입니다.

질문 5. 폼 컨트롤은 모두 자동으로 필드에 저장되나요? 정답은 아닙니다. 바운드·언바운드와 ControlSource를 확인해야 합니다.

근거 자료와 발행 전 재확인

Microsoft Learn의 InputBox function 문서는 InputBox가 prompt를 표시하고 입력 상자의 내용을 String으로 반환하며, Cancel 시 길이 0인 문자열을 반환한다고 설명합니다.

Microsoft Learn의 Access TextBox object 문서는 텍스트 상자가 폼이나 보고서의 컨트롤이며 바운드·언바운드 방식으로 사용할 수 있음을 설명합니다.

Microsoft Learn의 TextBox.ControlSource property 문서는 필드명이나 식을 ControlSource로 지정해 컨트롤에 표시할 데이터를 정하는 기준을 제시합니다. 발행 전 세 공식 문서의 접근 주소와 현재 표현을 다시 확인했습니다.

FAQ

자주 묻는 질문

컴활 1급 InputBox 폼 컨트롤 입력 차이의 핵심은 무엇인가요?

InputBox는 대화 상자로 한 번의 문자열을 받아 반환하고, Access 폼 컨트롤은 폼에 배치되어 언바운드 입력이나 필드 바인딩을 관리합니다. 임묻·폼남으로 먼저 구분하세요.

InputBox에서 취소를 누르면 어떤 결과가 나오나요?

VBA InputBox에서 Cancel을 누르면 길이가 0인 문자열이 반환됩니다. 빈 입력도 같은 형태로 해석될 수 있으므로 반환 문자열만으로 취소와 빈 입력을 구분할 때 주의해야 합니다.

InputBox의 Default와 Access TextBox의 ControlSource는 같은 기능인가요?

아닙니다. Default는 InputBox 입력 칸에 미리 보여 줄 기본 문자열이고, ControlSource는 Access TextBox가 특정 필드나 식과 연결되어 표시할 데이터를 정하는 속성입니다.

폼 컨트롤은 입력한 값이 항상 데이터베이스에 저장되나요?

항상 그렇지는 않습니다. TextBox가 바운드인지 언바운드인지, ControlSource가 필드인지 계산식인지 확인해야 합니다. 폼에 놓였다는 사실만으로 자동 저장을 단정하면 안 됩니다.