2020. 9. 16. 08:54ㆍ컴퓨터언어/컴활-액세스
기본작업
10% "인상"된 값은 1.1이지 0.1이 아니다.
A테이블중 B테이블에 없는 레코드를 출력하기
최종 출력해야 하는 부분은 A테이블이므로, A테이블만을 가지고 쿼리 디자인에 들어가서 Not In(Select 기준필드 from B) 이용
다른 필드에 또다른 조건이 있는 경우, Not In()도 계속 줄줄이 밑으로 써줘야 And로 연결됨을 유의할 것
뒷문제에서 바운드열 함부로 다시 만지지 말것
대신 [필드명].column(1)을 이용할 것 => "'' & ~~ & "'" 이용
바운드열만 1부터 시작한다.
column()은 0부터 시작한다.
필드명.setfocus == docmd.gotocontrol "필드명"
SetFocus : 절대경로 지정해주어야 함
Docmd.GotoControl : 코드 흐름상 그때그때 상황에 따른 개체에서 실행되므로 경로 필요 없음
액세스에서 Mod 함수 : () 쓰지 않음!!
제수 Mod 피제수
IIF에서는 거짓인 경우 생략한다.
~글자를 포함하는 자료를 추출 == Like "*" & [forms!]~~ & "*"
Is Null + 관계설정 => 불일치검색쿼리
Not In + Is Null + 관계설정 => 쿼리 디자인
"테이블을 넘기시오" => 테이블 만들기 누를 것 => 실행까지 별도로 눌러야 함!!
format()에서 ₩기호를 직접 쓰려면 ₩₩처럼 한번 더 써야 나온다.
누계 등 누적을 이용할 때는 컨트롤 원본을 필드명으로 그냥 두고, "누적 합계" 속성을 적용한다. Sum()같은거 엑셀마냥 쓰지 말것.
폼의 값 가져오기
현재 폼 : [컨트롤명]
외부 폼 : [Forms]![폼이름]![컨트롤명]
하위 폼 : [하위폼이름].Form![컨트롤명]
"포함하는" 나오면 like *
"남/여" 만 입력 가능하라고 해서 Yes/No로 바꾸라는 것은 아니다.
기존 단순 텍스트를 유효성 검사로 가는 것일 수 있다.
쿼리 문제 풀때 정확히 무슨 쿼리를 만들어야 하는지부터 볼 것
업데이트 쿼리에서 업데이트라고 해서 SQL 마냥 필드명 한번 더 적을 필요 없다. 어차피 필드를 더블클릭해서 이미 불러왔기 때문이다.
Not In()은 A테이블 입장에서 B테이블에는 없는 A내 필드를 조회할 때 쓴다. 이때 A테이블만 테이블 표시로 불러와야 한다.
Requery
어떤 버튼을 눌러서 특정 레코드를 삭제하도록 함
DoCmd.RunSQL "delete * from 테이블명 where 테이블내필드명 = 폼내컨트롤명(버튼명 등 연관된 요소)"
Me.Requery
InputBox()
날짜로 필터를 할 때는 작은 따옴표를 쓰지 않는다. "구매일자 = #" & Date & "#"
단! 기존 날짜에서 Year() 혹은 Month()를 사용하면 숫자로 반환되므로 #를 붙이면 안된다!
필드명은 ""안에 포함, 컨트롤명은 ""안에 미포함
left는 해당 인덱스까지의 모든 문자를 다 반환한다. 따라서 주민번호로 성별 판단할 때는 Mid로 한자리만 뽑아야한다.
Instr(필드명, "찾을값"), 없으면 0 반환
'컴퓨터언어 > 컴활-액세스' 카테고리의 다른 글
컴활 1급 실기 공부log - 20200917 (0) | 2020.09.17 |
---|---|
컴활 1급 실기 공부log - 20200915 (0) | 2020.09.15 |
컴활 1급 실기 공부log - 20200914 (0) | 2020.09.14 |
컴활 1급 실기 공부log - 20200912 (0) | 2020.09.12 |
컴활 1급 실기 공부log - 20200911 (0) | 2020.09.11 |