엑세스 2일차
19년 3월 2일
44번 바이트 크기순 작은 것-> 큰 순 :
yes/no < 바이트 < 정수 < 정수(long) < 일련번호 < 날짜/시간 < 통화 < 복제ID
1비트 1바이트 2바이트 4바이트 4바이트 8바이트 8바이트 8바이트
정수(Integer) : 2바이트 Long : 4바이트 Single : 4바이트 Double : 8바이트
49번 답
Private Sub cmd숨기기_Click()
me![DateDue].Visible=False
End Sub
60쪽
컨트롤명 : 레이블, 텍스트상자, 명령단추등의 컨트롤에 부여된 이름
바운드 컨트롤 : 데이터가 연결되어있는 컨트롤
언바운드 컨트롤 : 데이터가 없는 컨트롤, 즉 자기가 직접 내용을 입력하거나 선택할 수 있는 상태임
엑셀
표시형식에서 숫자 나타내는 기호
0 : 항상 자리수를 맞춰줘라.(필수)
# : 불필요한 자릿수는 표시하지 말아라.(선택)
엑세스
표시형식에서 숫자 나타내는 기호
0 : 항상 자릿수를 맞춰줘라. (필수) 덧셈 뺄셈 기호 사용 불가능,(공백사용불가)
# : 불필요한 자릿수는 표시하지 말아라. (선택) 덧셈 뺄셈 가능(공백사용가능)
9 : 덧셈, 뺄셈 기호 사용 불가능(공백사용가능)예) 전화번호, 우편번호등을 표시할때 사용된다고 보면 됨.
날짜
엑셀에서 오늘날짜는 Today()
엑세스 오늘 날짜 : DATE()
엑셀 & 엑세스 오늘 날짜 와 시간 : NOW()
엑셀에서 DATE(년, 월, 일) 형식으로 사용
엑세스에서는 Dateserial(년, 월, 일)
=Year(Date())
In ("A","B","C","D","F") / "A" OR "B" OR "C" OR "D" OR "F"
BETWEEN 0 AND 100 / >=0 And <=100
80쪽
개수구하는 함수 : =count(*) 또는 =count(필드명)
전체 레코드 개수 예 ‘59건’처럼 해야될 경우 & 연산자 사용 : =count(*)&"건"
수익률(txt수익률) : 판매수량 필드 값이 20 이상인 경우 10%를 그 외의 경우 5%를 표시하도록 설정하시오(백분율 소수 1자리까지 표시)
엑셀 예를들어 판매수량필드가 B2셀이라고 가정하고 문제를 푼 것임.
IF(조건식, 참, 거짓)
=if(B2>=20,10%,5%)
엑세스 셀주소 대신 필드명을 사용함.
IIF(조건식, 참, 거짓)
=IIF([판매수량]>=20, 0.1, 0.05)
형식에서 ‘백분율’선택하고 소수점자릿수는 ‘1’로 선택
----------------------------------------
알아둘 것 : 엑세스에서 날짜를 입력할 때는 날짜 앞뒤에 반드시 # 기호를 붙여준다.
예 ) #2018-07-06#
p.89 쪽 8번
TIP : 함수부분에서 문자를 나타낼 때 작은따옴표를 써야됨(큰따옴표를 쓸때도 있음, 데이터베이스함수를 할때는 문자를 나타낼 때 작은따옴표를 사용함). 필드명과 테이블명들을 표시할 때 큰따옴표를 사용하게됨으로 문자를 표시할때는 작은따옴표를 써야됨.
엑셀
=DSUM(데이터전체범위, 계산할필드번호또는셀주소, 조건의범위)
엑세스
엑셀로 표시한다고 했을 경우 =DSUM(계산할필드번호또는셀주소,데이터전체범위,조건의범위)
엑세스로 변경하면=> =DSUM(“[계산할필드명]”,“테이블/쿼리명”,“[조건필드명]=[조건컨트롤명]”)
폼의 ‘txt지역코드’ 컨트롤을 이용하여 ‘판매현황’ 테이블에서 ‘매출액’ 합계와 평균
=DSUM(“[계산할필드명]”,“테이블또는쿼리명”,“앞쪽의테이블또는쿼리명에있는필드명=현재작업하고있는폼의조건컨트롤명”)
=DSUM(“[매출액]”,“판매현황”,“[지역코드]=[txt지역코드]”)
또는
=DSUM(“[매출액]”,“판매현황”,“[지역코드]=‘txt지역코드’”) 그런데 txt지역코드 부분은 내용이 매번 바뀌는 부분이기 때문에 컨트롤명 앞 뒤는 & 연산자로 끊어줘야됨.
=DSUM(“[매출액]”,“판매현황”,“[지역코드]=‘” & txt지역코드 & “’”)
예) =DSUM(“[매출액]”,“판매현황”,“[지역코드]=‘DG1’”)
=DSUM(“[매출액]”,“판매현황”,“[지역코드]=‘” & DG1 & “’”)
엑셀에서 문자표시할때는 큰따옴표 예 : “대구”
엑세스에서 문자표할때는 큰따옴표일때도 있고, 작은따옴표일때도 있음. 어디서 하느냐에따라 다름
함수에서는 작은따옴표를 사용한다고 생각하면 됨. 예 : ‘대구’
엑셀
D____(데이터전체범위, 계산할필드번호또는 셀주소, 조건의범위)
엑세스
D___(계산할필드명, 테이블명(엑셀로보면데이터전체범위), "성별='여'")
=DSUM([납부금],"수강고객현황","성별=txt성별")
조건부분
"성별=txt성별"은 "수강고객현황쿼리에있는 필드명=폼에있는 컨트롤명"
필드명=폼에있는 컨트롤명으로 쓸때는 ' [필드명]=[컨트롤명] ' 식으로 입력하거나 또는 컨트롤명안의 내용이 문자일 경우 "필드명='" & 컨트롤명 & "'" 처럼 입력하고
숫자일경우에는 [ "필드명=" & 컨트롤명 ] 처럼 입력하면된다.
예를들명
"직위='" & txt직위 & "'"
"나이=" & txt나이
"입사일=#" & txt입사일 & "#"
엑셀
DATEDIF(시작일, 종료일, 단위)
시작일부터 종료일까지의 경과한 날짜를 계산하는 함수
단위 : Y , M , D , YM , YD , MD
예를들어서 A1셀에 2015-5-1 B1셀에 2018-7-6
=DATEDIF(A1,B1,“Y”)
엑세스
DATEDIFF(단위, 시작일, 종료일)
엑세스 단위는 교재 88쪽 참조
엑셀
문자열 반복 REPT(반복할문자, 개수)
=Rept(“★”,5) 결과 : ★★★★★
엑세스
문자열 반복 STRING(개수, 반복할문자)
=String(5,“★”) 결과 : ★★★★★
엑세스
=replace(원본 텍스트, 찾을 텍스트, 바꿀 텍스트)
예 : =replace(“ABCDEFG”,“D”,“-”) 결과 : ABC-EFG
엑셀
=COUNTIFS(조건1의범위, 조건1, 조건2의범위, 조건2,,,,,)
엑세스
=SWITCH(첫번째조건, 첫 번째결과값, 두 번째조건, 두 번째결과값,,,,,,)
97쪽
SELECT 필드이름
FROM 테이블 이름;
정렬하기 전
SELECT 사원정보.직위
FROM 사원정보;
조건이 있는 경우
SELECT 사원정보.직위
FROM 사원정보
WHERE (((사원정보.직위)="사원"));
정렬한 후
SELECT 사원정보.직위
FROM 사원정보
ORDER BY 사원정보.직위 DESC;
오름차순은 생략가능 오름차순은 ASC 이고, 내림차순은 DESC
조건과 정렬이 있는 경우
SELECT 사원정보.직위
FROM 사원정보
WHERE (((사원정보.직위)="사원"))
ORDER BY 사원정보.직위 DESC;
중복된 내용 한번만 표시할 경우
DISTINCT 는 중복된 내용을 한번만 표시하도록 하라는 말임.
SELECT DISTINCT 사원정보.직위
FROM 사원정보
ORDER BY 사원정보.직위;
필드 이름 바꾸기
SELECT 현재필드이름 AS 바꿀필드이름
FROM 테이블이름;
예를들어
SELECT 주민등록번호 AS 주민번호
FROM 테이블이름;
그룹으로 묶어서 할때
SELECT 필드이름
FROM 테이블이름
GROUP BY 필드 이름;
그룹으로 묶은 것에 조건까지 더할 경우
SELECT 필드이름
FROM 테이블이름
GROUP BY 필드 이름
HAVING 조건;
반복표시 별표를 한다음 뒤에 반복시킬 기호나 문자를 너비만큼 반복표시 *★
총 5페이지 중 현재 2페이지입니다.
="총 " & Pages & "페이지 중 현재 " & Page & "페이지입니다."
p. 114쪽 4단계
숫자 : “생년=” & txt생년
텍스트 : “학교=‘” & txt학교 & “’”
날짜 : “생년월일=#” & txt생년월일 & “#”
부분일치하는 것 찾을 때는 등호(=)대신 LIKE 가 사용됨.
“강자명 like ‘*txt강좌명*’” => 수정 : “강자명 like ‘*” & txt강좌명 & “*’”
Private Sub cmd제품명찾기_Click()
Me.Filter = "제품명='" & txt제품명 & "'"
Me.FilterOn = True
End Sub
설명 : 필드명=컨트롤명형태로 쓰고 수정 제품명='책상'
컨트롤명 앞과 뒤에는 공백이 한칸씩 있어야 됨.
Private Sub cmd전체보기1_Click()
Me.FilterOn = False
End Sub
설명 : 필터링 해제하라는 소리임.
부분일치하는 것 찾을 때 사용하는 것 : like
LIKE "김*" : 김으로 시작한 모든글자를 표시
LIKE "*김" : 김으로 끝나는 모든글자를 표시
LIKE "*김*" : 김이 포함된 모든글자를 표시
NOT LIKE "김*" : 김으로 시작한 모든글자를 제외
속성은 등호(=) 다음에 값을 정의하지만 메서드는 등호(=)없이 값을 정의함.
속성 : 개체의 특징을 말함. 크기, 색상, 화면의 위치 등 개체의 특성을 변경하는것
메서드 : 개체가 수행할 수 있는 행동을 말함. 문서를 열거나 닫기, 선택하기등
p117
Me.RecordsetClone.FindFirst “필드명=컨트롤명”
Me.Bookmark=Me.recordsetClone.Bookmark
부분일치하는걸 찾으라고 할 경우
Private Sub cmd찾기_Click()
Me.RecordsetClone.FindFirst "제품코드 like '*" & txt조회 & "*'"
Me.Bookmark = Me.RecordsetClone.Bookmark
End Sub
p. 119
부분일치하는 것 찾을 때 등호대신 like 사용(실기시험에 자주 출제되고있음)
Private Sub cmd찾기_Click()
Me.RecordSource = "select * from 강좌 where 강좌명 like '*" & txt찾기 & "*'"
End Sub
엑세스 2일차.hwp