1. DB구축
입력마스크
공백없이 최소 2글자 최대 4글자가 입력되도록
-> LL??
@ 앞뒤로 최소 두 글자가 입력되도록
like "*??@??*"
0부터 255이하의 숫자를 표현하기에 가장 적절한 데이터 형식
바이트
(문제에서 100이하의 정수가 입력되도록 하는 데이터 형식으로 물어봐도 바이트)
-> 이런 문제는 웬만하면 바이트더라.
특정필드에 특정 값만 입력되도록
유효성 검사규칙에 in 연산자 사용
ex) in("정규직","계약직", "인턴")
두개의 필드를 비교하는 유효성 검사 규칙은 속성시트에 작성하기!!
ex) 총판매대수 필드는 판매대수 필드보다 커야한다.
[총판매대수] > [판매대수]
체크 박스를 텍스트로 바꿀때
조회 속성을 확인란 -> 텍스트상자 로 변경하고
형식에 ;(체크되었을때 값);(체크안됐을때 값)
ex) ;남자;여자
instr(문자열, 찾을문자)
찾을문자가 뒤에 오는거 조심
외부데이터 가져올때
ex) 범위로 정의된 이름 '정산현황'의 내용을 가져와 테이블을 생성하시오.
-> 범위로 정의된 이름으로 가져오는거 주의하기
로드될때 정렬, 필터
정렬 : 속성시트 -> 정렬 칸에 입력
ex) 도서관분류, 도서관명 desc (생략하면 오름차순)
로드될 때 정렬 : 예 로 설정
필터 : 폼필터 사용
조건 입력하고 필터 적용/해제 버튼 누른 다음에
로드될때 필터링 예 로 설정을 해야 적용이 된다.
콤보상자 행원본 지정할때 중복없이 가져오기
-> select와 필드명 사이에 distinct 입력
2. 입력 및 수정기능 구현
본문에 있는 모든 컨트롤의 가로 간격을 동일하게 설정
-> 본문 컨트롤 선택 후 리본 메뉴 상단 정렬 선택해서 크기/맞춤 들어가서 설정하기
폼에서 컨트롤에 마우스를 가져가면 관련 텍스트가 나오도록 설정하는 옵션
"컨트롤 팁 텍스트"
(이름이 기억나지 않을 수도 있다.)
조건부 서식 지정할때 수식 입력하는 칸에
주어를 반드시 입력해야됨
ex) txt주문번호의 서식을 지정할땐
[txt주문번호] like "A[B-C]*" 이렇게 써야하고
그냥 like 만 쓰면 안된다.
형식 문자들
mmm : 영어로 월 표시 ex) Feb
aaa : 한글 요일 짧게 ex) 수
aaaa: 한글 요일 길게 ex) 수요일
ddd : 영어 요일 짧게 ex) Wed
dddd : 영어 요일 길게 ex) Wednesday
3. 조회 및 출력 기능 구현
특정 컨트롤의 위치를 이동시키는 문제
ex)
각 필드의 레이블이 페이지마다 상단에 한번씩만 표시되도록 위치를 변경 -> 페이지 머리글로 이동
특정 레이블이 매 페이지마다 인쇄되도록 설정 -> 페이지 머리글로 이동
& 연산자 안쓰고 필드 뒤에 문자 쓰는법
ex ) 강민용 -> 강민용 학생
속성시트 형식 속성에 @" 학생"으로 지정하면
표시할 수 있다.
D함수
Dsum("[필드]", "테이블/쿼리", "조건")
테이블이나 쿼리에서 조건을 만족하는 필드의 합
messagebox 에 now(), date(), time()등 함수를 쓰려면
메시지 내용을 = 기호를 쓰고 입력해야한다.
프로시저
me.filter 조건
문자 일때 : me.filter = "회사명 = ' " & txt조회 & " ' "
숫자 일때 : me.filter = "month([사용일]) = " & cmb월
날짜 일때 : me.filter = "날짜 = #" & txt본문날짜 & "#"
me.filteron = True 적는거 까먹지 말기
recordsource 함수 사용
me.recordsource = "select * from 테이블명 where 조건" 이렇게 사용
다음줄에 me.requery를 적어줘야 작동함
시수 필드를 기준으로 내림차순 정렬
me.orderBy = "시수 desc"
me.orderByon = True
4. 처리 기능 구현
함수에 들어갈 인수나 순서가 헷갈릴때는
아무 테이블이나 디자인보기로 들어가서 유효성 검사 규칙 쓰는 곳에다 수식을 입력해보자
-> 도움말이 뜬다.
dateadd함수
dateadd("형식", 더할 값, 시작일)
여러가지 형식들
일 : d
분기 : q
월 : m
결과값을 상위 3개만 표시하는 법
리본메뉴 상단의 "쿼리 설정" 탭을 보면 "반환" 버튼이 있다.
반환을 3으로 설정
like 조건식
첫번째 글자는 A로 시작하고 두번째 글자는 B부터 D까지의 문자로 시작
-> like "A[B-D]*"
첫번째 글자가 A 또는 B로 시작하고 B부터 D까지의 문자로 끝나는 데이터
-> like "[A,B]*[B-D]"
네번째 글자는 1부터 3까지의 숫자로 입력되도록
-> like "???[1-3]*"
In연산자의 사용
분류명 필드의 마지막 2자리가 용돈 이나 요금으로 끝나는 데이터만 조회
필드 : right([분류명],2)
조건 : In("용돈", "요금")
으로 지정할 수 있다.
사용자가 임의로 설정한 필드명으로 계산하려면
[총구매액] / [구매횟수]
(<- 테이블에는 없는 필드이지만 사용자가 이름을 직접 지정한 필드를 사용할때)
요약을 "식"으로 지정해야만 값이 구해진다.
집계함수의 절로 포함될수 없습니다. <- 이런 오류가 뜨면
수식을 사용한 필드가 요약이 "식"으로 지정되어있는지 확인해보자.
대여일자가 대여일자의 최대값인 데이터를 가져올때
in(select 도서코드 from 대여정보 where 대여일자 = max(대여일자))로 하면 안되고
in( select 도서코드 from 대여정보 where 대여일자 = (select max(대여일자) from 대여정보) ) 로 해서
최대값은 또다른 하위 쿼리를 작성해서 가져와야한다.