별의 공부 블로그 🧑🏻‍💻
728x90
728x170

처리 기능 (액세스)

개념

  • 데이터의 처리 작업을 자동화하는 것
  • 직접적인 데이터 입력이나 처리 없이 사용자의 지시에 의해 일련의 처리 작업이 자동으로 수행되도록 하는 것
  • 프로그래밍이나 매크로 작업, 실행 쿼리 또는 이들의 조합으로 구성됨.

 

DoCmd 개체

  • Microsoft Access 매크로 함수를 Visual Basic에서 실행하기 위한 개체
  • 메서드를 이용하여 매크로를 실행함.
    • 주요 메서드
      • OpenReport : OpenReport 매크로 함수를 수행함.
      • OpenForm : OpenForm 매크로 함수를 수행함.
      • RunSQL : RunSQL 매크로 함수를 수행함.
      • GoToRecord : GoToRecord 매크로 함수를 수행함.
      • Quit : Quit 매크로 함수를 수행함.
      • Close : Close 매크로 함수를 수행함.

 

OpenReport 

  • 보고서를 호출하는 매크로 함수
    • 보고서 이름 : 호출할 보고서의 이름을 지정
    • 보기 형식 : 보고서를 열 때의 보기 형식을 설정
      • 인쇄 미리 보기
      • 인쇄
      • 디자인
      • 보고서
      • 레이아웃
    • 필터 이름 : 보고서에 나타낼 레코드를 제한하는 필터의 이름을 입력
    • Where 조건문 : 조건을 입력하여 보고서에 나타낼 레코드를 제한함.
    • 창 모드 : 폼이 열릴 때 창의 속성을 선택함.
      • 기본
      • 숨김
      • 아이콘
      • 대화 상자

 

OpenForm

  • 폼을 호출하는 매크로 함수
    • 폼 이름 : 호출할 폼의 이름을 목록에서 선택함.
    • 보기 형식 : 폼을 어떤 상태로 열 것인가를 결정함.
      • 디자인
      • 인쇄 미리 보기
      • 데이터시트
      • 피벗 테이블
      • 피벗 차트
      • 레이아웃
    • 필터 이름 : 폼에 나타날 레코드를 제한하는 필터의 이름을 입력함.
    • Where 조건문 : 조건을 입력하여 폼에 나타낼 레코드를 제한함.
    • 데이터 모드 : 보기 형식이 데이터시트일 때 폼에서 데이터를 다룰 수 있는 범위를 선택함.
      • 추가
      • 편집
      • 읽기 전용
    • 창 모드 : 폼이 열릴 때의 창의 속성을 선택함.
      • 기본
      • 숨김
      • 아이콘
      • 대화 상자

 

MessageBox

  • 메시지를 표시하는 함수
    • 메시지 : 메시지 상자에 표시할 내용을 입력
    • 경고음 : 메시지가 나타날 때 시스템의 경고음을 들리게 할지의 여부 선택
    • 종류 : 메시지 상자에 나타낼 아이콘의 종류 선택
      • 위험
      • 경고?
      • 경고!
      • 정보
    • 제목 : 메시지 상자의 제목 표시줄에 표시할 내용을 입력

 

CloseWindow

  • 개체를 닫는 매크로 함수
    • 개체 유형 : 닫을 개체의 형식 선택
    • 개체 이름 : 닫을 개체의 이름을 입력하거나 목록에서 선택
    • 저장
      • <예>, <아니요>, <확인> 등 저장 여부와 방법을 선택함.
        • <확인>을 선택하면 변경 사항이 있을 경우 저장 여부를 묻는 대화상자가 나타남.

 

MsgBox 함수

  • 대화상자 안에 단순하게 메시지를 보여주거나 여러 단추를 표시해 클릭된 단추에 대한 번호정수형 데이터 유형으로 반환할 수 있음.
  • 대화상자로 메시지를 보여주고 사용자가 단추를 누를 때까지 기다린 다음 사용자가 누른 단추에 해당하는 값(Integer)을 반환함.
  • 기본 형식
    • MsgBox 메시지 [, 버튼종류], [, 대화상자 타이틀] [, 도움말 파일, 도움말 번호]
  • 예) 메시지 박스 이용하기
    • 함수 이용 : 반환값이 필요할 때 사용
      • aa = MsgBox("미리보기 할까요?", vbYesNo + vbDefaultButton2, "확인")
    • 프로시저 이용 : 반환값이 필요 없을 때 사용
      • MsgBox "종료할까요?", vbOKOnly, "확인"
  • 버튼의 종류와 인수값
상수 설명
vbOKOnly 0 <확인> 단추만 표시
vbOKCancel 1 <확인><취소> 단추 표시
vbAbotRetryIgnore 2 <중단>, <다시 시도><무시> 단추 표시
vbYesNoCancel 3 <예>, <아니오><취소> 단추 표시
vbYesNo 4 <예>, <아니오> 단추 표시
vbRetryCancel 5 <다시 시도><취소> 단추 표시
※ vbDefaultButton1 : 메시지 박스가 표시될 때 기본적으로 첫 번째 버튼이 선택되도록 지정함.

 

  • 사용할 아이콘을 지정하는 상수
상수 설명
vbCritical 16 '중대 메시지' 아이콘을 나타냄. (ⓧ)
vbQuestion 32 '질의 경고' 아이콘을 나타냄 (○?)
vbExclamation 48 '메시지 경고' 아이콘을 나타냄 (△!)
vbInfomation 64 '메시지 정보' 아이콘을 나타냄 (ⓘ)

 

IF문

조건을 만족할 경우와 만족하지 않는 경우에 따라 각각 다른 작업을 처리하는 제어문

 

  • 일반식 1
If 조건식 Then
    실행문
End If
  • 일반식 2
If 조건식 Then
    실행문1
Else
    실행문2
End If
  • 일반식 3
If 조건식 Then
    실행문1
ElseIf 조건식2 Then
    실행문2
ElseIf 조건식3 Then
    실행문3
Else
    실행문4
End If

 

Select Case문

수식의 결과에 따라 해당하는 명령문을 수행하는 제어문

 

  • 일반식
Select Case 수식
    Case 상수1
        명령문1
    Case 상수2
        명령문2
    Case 상수3
        명령문3
        .
        .
        .
    Case Else
        명령문Else
End Select

 

매크로

  • 자주 사용되는 작업을 명령어 형태로 만들어 쉽게 사용할 수 있게 함.
  • 매크로를 사용하면 반복적인 작업을 간단한 방법으로 실행할 수 있음.

 

폼과 보고서의 데이터
  • ApplyFilter : 테이블이나 쿼리로부터 레코드 검색
  • FindNextRecord : 특정한 조건에 의해 찾아진 레코드의 바로 다음에 위치하는 레코드 검색
  • FindRecord : 특정한 조건에 맞는 첫 번째 레코드 검색
  • GoToControl : 활성화된 폼에서 커서를 특정한 컨트롤로 이동시킴.
  • GoToRecord : 레코드 포인터를 이동시킴.

 

실행
  • RunMenuCommand : 액세스 내부에서 제공하는 명령을 실행시킴.
  • RunCode : 코드 실행
  • CancelEvent : 이벤트 취소
  • StopMacro : 현재 실행중인 매크로 중지
  • QuitAccess : 액세스 종료
  • RunMacro : 매크로 실행
  • StopAllMacros : 현재 실행중인 모든 매크로 중지

 

가져오기/내보내기
  • ExportWithFormatting : 데이터베이스 개체를 액셀, 텍스트, 서식 있는 문서 파일 형식 등으로 내보내기
  • EMailDatabaseObject : 데이터베이스 개체를 전자 우편 메시지에 첨부하여 전송

 

개체 조작
  • MaximizeWindow : 현재 활성 창을 최대화(전체 창 크기)함.
  • MinimizeWindow : 현재 활성 창을 최소화(아이콘 모양)함.
  • MoveAndSizeWindow : 현재 활성 창의 크기 변경
  • RestoreWindow : 현재 활성 창을 최대화, 최소화되기 전의 크기로 되돌림.
  • CloseWindow : 폼이나 테이블, 쿼리 등 활성화되어 있는 데이터베이스 개체를 닫음.
  • OpenForm : 폼 열기(폼, 디자인, 인쇄 미리 보기, 데이터시트 등) 
  • OpenQuery : 작성된 쿼리를 호출하여 실행(인쇄, 인쇄 미리 보기, 디자인 등)
  • OpenReport : 작성된 보고서를 호출하여 실행(인쇄, 인쇄 미리 보기, 디자인 등)
  • OpenTable : 테이블 열기(데이터시트, 디자인, 인쇄 미리 보기 등)
  • SelectObject : 데이터베이스 개체 선택
  • RepaintObject : 폼에 나타나 있는 데이터베이스 개체 갱신
  • Requery : 개체의 컨트롤 원본 갱신
  • ShowAllRecords : 테이블 또는 쿼리의 전체 자료를 보여줌.

 

기타
  • MessageBox : 메시지 상자를 통해 경고나 알림 등의 정보를 표시
  • Beep : 경고음 내기

 

예제

 

 

Got Focus 이벤트 (프로시저)

Q. 'txt상품명' 컨트롤과 'cmb분류' 컨트롤에 포커스가 옮겨가면(Got Focus 이벤트) 다음과 같은 계산을 각각 수행하도록 이벤트 프로시저를 구현하시오.

▶ 'txt상품명' 컨트롤에 있는 값을 'txt이름' 컨트롤에 표시할 것

▶ 'cmb분류' 컨트롤에 있는 값을 'txt분류' 컨트롤에 표시할 것

 

Private Sub txt상품명_GotFocus()
    txt이름 = txt상품명
End Sub
Private Sub cmb분류_GotFocus()
    txt분류 = cmb분류
End Sub

 

 

On Click 이벤트 & 폼 호출 (프로시저)

Q. '분류등록(cmd분류등록)' 단추를 클릭(On Click)하면 <분류등록> 폼을 '폼 보기' 형식으로 열리도록 이벤트 프로시저를 구현하시오.

▶ 'txt분류' 컨트롤에 입력된 상품에 해당하는 데이터만 출력하도록 할 것

▶ DoCmd 개체 사용

 

 

Private Sub cmd분류등록_Click()
    DoCmd.OpenForm "분류등록", acNormal, , "분류명 = '" & txt분류 & "'"
End Sub

 

 

On Click 이벤트 & 보고서 호출 (매크로)

Q. '분류별인쇄(cmd분류별인쇄)' 단추를 클릭(On Click)하면 다음과 같이 기능하도록 매크로 함수로 구현하시오.

▶ <분류별판매내역> 보고서를 '인쇄 미리 보기'의 형태로 열 것

▶ 'txt분류' 컨트롤에 입력된 분류에 해당하는 데이터만 출력하도록 할 것

 

 

  • 매크로에 이름을 지정하지 않고 사용할 경우
    • 매크로의 이름을 지정하지 않음.
    • 매크로 이름을 지정하지 않을 경우, 현재 개체('판매현황' 폼)에 포함된 매크로가 작성되며, 이는 해당하는 개체에서만 사용할 수 있음.
 
 
 ' 

'판매현황' 폼의 'txt분류' 컨트롤에 입려된 값과 보고서의 [분류] 필드를 비교하여, 동일한 경우에만 보고서에 표시함.
[분류] 필드에 경로를 지정하지 않는 이유? 현재 [분류] 필드가 있는 보고서의 이름을 이미 지정했기 때문

 

 

On Dbl Click 이벤트 & 보고서 호출 (매크로)

Q. '상품정보(cmd상품정보)' 단추를 더블클릭(On Dbl Click)하면 <상품정보> 폼을 '폼 보기' 형식으로 열리도록 하는 <폼보기> 매크로를 생성하여 지정하시오.

▶ 'txt이름' 컨트롤에 입력된 상품에 해당하는 데이터만 출력하도록 할 것

 

 

  • 매크로에 이름지정하여 사용하는 경우
    • 먼저 매크로 개체를 생성한 후, 이를 연결하여 사용하면 됨.

 
 

 

 

On Click 이벤트 & 메시지 상자 표시 & 폼 종료 (매크로)

Q. '닫기(cmd닫기)' 단추를 클릭(On Click)하면 <그림>과 같은 메시지 상자를 표시한 후, <판매현황> 폼을 종료하는 <종료> 매크로를 생성하여 지정하시오.

 

 

 

  • 매크로에 이름 지정하여 사용하는 경우
    • 먼저 매크로 개체를 생성한 후, 이를 연결하여 사용하면 됨.

 
 

 

 

 

Got Focus 이벤트 & 메시지 상자 (프로시저)

Q. 'txt수량' 컨트롤에 포커스가 이동하면(GotFocus) <그림>과 같은 메시지 상자가 출력되는 이벤트 프로시저를 구현하시오.

▶ 'txt수량' 컨트롤에 표시된 값이 100 이상이면 "10%할인", 100미만 50 이상이면 "무료배송", 그 외에는 "일반배송"으로 표시하시오.

▶ If ~ ElseIf 문 사용

 

 

Private Sub txt수량_GotFocus()
    If txt수량 >= 100 Then
        MsgBox "10%할인", vbOKOnly, "사은행사"
    ElseIf txt수량 >= 50 Then
        MsgBox "무료배송", vbOKOnly, "사은행사"
    Else
        MsgBox "일반배송", vbOKOnly, "사은행사"
    End If
End Sub

 

참고

  • 처리 기능은 컴퓨터활용능력 1급 수험생들이 액세스에서 가장 어렵게 느껴는 부분
  • 액세스 자체가 처리 기능을 쉽게 구현할 수 있도록 만들어진 프로그램이므로 몇 가지 기본적인 기능들만 숙달하면 어렵지 않게 풀 수 있음.
  • 매크로를 프로시저로 변환하기
    • 프로시저 작성 시 명령어가 생각나지 않을 때, 먼저 매크로로 작성한 다음 Visual Basic 코드로 변환하여 사용하면 됨.
      • <탐색> 창에서 변환할 매크로의 바로 가기 메뉴에서 [디자인 보기]를 선택함.
      • [매크로 도구] -> 디자인 -> 도구 -> 매크로를 Visual Basic으로 변환 을 클릭

728x90
그리드형(광고전용)
⚠️AdBlock이 감지되었습니다. 원할한 페이지 표시를 위해 AdBlock을 꺼주세요.⚠️
starrykss
starrykss
별의 공부 블로그 🧑🏻‍💻


📖 Contents 📖