컴활1급_250819

AnalytiCode·2025년 8월 19일

아직도 모르는게 있다는게 말이안됨

엑셀

계산작업

MODE.SNGL

MODE.SNGL(숫자들-범위-)

조건에 만족한 대출액의 평균을 계산하시오
조건 : 고객등급이 '최우수'이면서 대출액이 최빈수 이하이거나 고객등급이 '우수'이면서 대출액이 최빈수 이하, MODE.SNGL함수 사용

표를 만들 때
고객등급 \ 조건
최우수 \
우수 \

이런식으로 만들어야함!

DAVERAGE

데이터베이스 함수!
DAVERAGE(표, 평균구할 열번호-이름/숫자-, 조건)

표전체(필드명 포함),열(필드명)이름,조건(표)

해설
18:00

vlookup

VLOOKUP(찾으려는 값, 찾을 범위, 몇번째 열에서 찾을지, [정확한 값/ 근사값])
정확한 값 = false = 0

찾을범위!
VLOOKUP의 근사값 모드(TRUE) 동작:

오름차순으로 정렬!
찾는 값(lookup_value)보다 작거나 같은 값 중 가장 큰 값을 기준으로 삼음

즉, 구간의 시작점(이상 값)만 표에 두면,
엑셀은 자동으로 그보다 작은 구간을 다 포함해서 “미만” 처리.

분석작업

데이터 유효성 검사

검사 대상 셀 하나하나에 대해, 그 셀을 기준으로 수식을 적용하는 것이기 때문에
범위에 대한 질문을 해도 영역의 첫번째 셀 값만 수식으로 적어줄 것!

MOD(C9:H9,12)=0은 틀리고, MOD(C9,12)=0은 맞다

기타작업

UCASE

대문자로 변환하는 함수

UCASE(문자)

FOR EACH ~ NEXT

문법

For Each element In collection
    ' 실행할 코드
Next element

# element : 컬렉션에서 꺼낸 개별 항목(변수처럼 씀)
# collection : 여러 개의 요소가 들어 있는 집합(예: Range, Worksheets, Workbooks 등)

선택한 범위 안의 값을 전부 대문자로 변환하려면


For Each c In Selection
    c.Value = UCase(c.Value)   ' 선택한 범위 안의 값을 전부 대문자로 변환
Next c

여기서 c는 Range 타입 변수
→ 반복문 돌 때마다 Selection 안에 포함된 셀 하나씩 담김

Selection은 실행할 때 마우스로 선택한 범위 전체
따라서 선택된 각 셀(c)을 순서대로 꺼내서 대문자로 바꿈

Range("A1:B10") = “프로그래머가 지정한 범위”
Selection = “사용자가 선택한 범위”, 드래그 한 값

  • 문제 : txt번호 컨트롤에서 조회할 번호를 입력한 후 cmd조회 단추를 클릭하면 txt종류, txt금액, txt지점에 해당하는 자료를 폼에 표시하고, 다음의 경우 메시지 상자를 표시하는 프로시저를 작성하시오.
    - 해당 대출번호의 정보가 없는 경우에는 "조건에 일치하는 자료가 없습니다."라는 메시지 박스 표시
    • for each next문 이용
    • 소문자를 입력할 때 대문자로 변환하여 조회

대출번호의 정보가 있는지 없는지 확인하기 위해
a를 b3~b15(대출번호)의 범위 값으로 잡고, -> for each a in range("b3:b15")

a값이 txt번호값과 같다면 txt종류, txt금액, txt지점값을 입력 -> if a=UCASE
isdata = 1로 설정

다르다면 -> if isdata = 0

엑세스

입력 및 수정 기능 구현

테두리 스타일

  • 문제: 폼의 크기를 조정할 수 없도록 설정
    Access에서는 윈도우 창의 크기 조절 여부 자체를 ‘테두리 스타일’ 속성으로 컨트롤

테두리 스타일 = 두꺼움 → 크기 조절 가능
테두리 스타일 = 가늘게 → 크기 조절 불가
테두리 스타일 = 대화 상자 → 팝업처럼 고정 크기

즉, Access는 “크기 조절 여부”를 따로 두는 속성이 없고, 테두리 스타일에 묶어둔 거

조회 및 출력 기능 구현

순번

  • count(*)

특정 그룹이나 전체 레코드 개수를 세어서 순번처럼 사용.
보통 쿼리나 그룹화된 보고서에서 그룹 내 행 번호를 만들 때 사용함.
예: =Count(*)를 컨트롤 원본으로 하면 → 해당 그룹 내에서 몇 번째 레코드인지 표시됨.
👉 카운트 함수로 그룹 내 행 번호를 구하는 방식

  • 1
    컨트롤 원본을 그냥 =1로 두면 모든 행에 1만 표시됨.
    대신 해당 컨트롤의 집계 기능(누적 합계 = "그룹 전체" 또는 "구간별") 을 켜주면,
    행이 진행될수록 1,2,3… 식으로 순번처럼 올라감.
    👉 보고서의 누적 합계 기능을 이용한 순번

이벤트 프로시저

  • recordSource : 폼이나 보고서가 데이터를 가져오는 SQL문 또는 테이블/쿼리 이름
    select문 사용하면 됨!!!!

  • Requery: 폼이나 컨트롤의 데이터를 새로 고침(재조회)하는 메서드

me.recordsource = "select * from 강사 where 강사명 = '" & txt조회 & "'"
me.requery

0개의 댓글