질문)엑세스에서 관계설정할 때...테이블을 보면 어느 2개다 기본키가 설정이 안되어 있지만 문제에서는
기본키를 설정하라거나 인덱스(중복불가능)설정 이런건 전혀 없었습니다. 그런데..기본키가 없어도
관계설정이 되더라구요...이러면 문제에서 기본키나 고유인덱스 설정이라는 말이 전혀 없었다면 그냥
관계설정하면 되는거지요? 기본키 설정(1:m 일 경우 1의 필드에다가 기본키설정)을 할 필요없죠?
질문) 이건 다른 사람꺼 질문을 그대로 복사해서 온건데..-_- 고급필터 조건이 이해가 안되서
<고급필터>
조건이 학생코드의 4번째부터 2자리가 ''03''이고, 3월 점수가 80 이상이거나 4월 점수가 80이상인 것 이었습니다.
전 이해가 안되네요..
코드 3월 4월
=mid(a2,4,2)="03" >=80
>=80
이렇게 되어야 하는거 아닌가여? 글쓴이가 묻기로는 이미 '03'이고, 에서 쉼표로 끊어줬는데...
ex) 1) 음식이 떡볶이거나 순대이고, 가격은 500원 이상
2) 음식이 떡볶이거나, 순대이고 가격은 500원 이상
이럴경우는 고급필터 조건이 전혀 다르지 않나여?
1) 일 경우
음식 가격
떡볶이 >=500
순대 >=500
2) 일 경우
음식 가격
떡볶이
순대 >=500
이렇게 해주잖아요.
암튼 질문 요지는 왜 a15셀에다가도 =mid(a2,4,2)="03" 이걸 써주는지 이해가 안됩니다.
질문) 10년 3회 기출문제에서 1번 문제인데...
= VLOOKUP(B3,$G$31:$J$35,MATCH(C3,$H$30:$J$30,0)+1,FALSE)
여기서 +1이 이해가 잘 안되네요. 지금 MATCH 함수의 값은 VLOOKUP에서 열의 값을 찾기위해
match함수를 쓴것인데...+1의 의미는 match의 함수에서 일단 c3의 '대'를 h30:j30에서 h30(대)
가격을 알기 위해 +1을 쓴 것 같은데... 일단 match함수를 계산하면 위치의 일련번호가 1이잖아요.
그러면 +1을 하면 2?? 흠...이건 아닌 것 같고..
일단 '대'의 위치를 알았으니..그 밑에 9,900 알기 위해서는 행이 증가해야 할텐데....
설명 좀 해주세요.
질문) 교재 182p 3번 해설에서...
[제품명]=[forms]![제품별조회]![txt제품명]
그리고 프로시저로 작성할 경우
"제품명='" & txt제품명 & "'"
제가 이전 질문에 대게 매크로에서 forms를 사용하고 프로시저에는 forms를 이용하는걸 못봤다..
원래 forms가 다른 폼의 컨트롤과 비교할 때 사용한다고 들었는데...프로시저에서도 forms를
사용하는 경우가 있냐고 질문을 했습니다.
답변 내용은
프로시저에서도 다른 폼에 있는 컨트롤을 가져와서 비교해야 한다면
"상품코드 = [forms]![매출현황관리]![cmb상품코드]"와 같이 작성하셔야 합니다.
이거였는데......
근데 182p 3번의 해설을 보면...매크로에서는 forms를 사용했지만... 이벤트프로시저로 작성할 경우에는
forms가 없잖아요;;; 이게 똑같은 답이 나오는데 매크로에서는 forms를 사용하고 프로시저로 작성한
정답에는 forms가 없던데..저번에 답변 달아주셨을 때는 이벤트 프로시저여도 다른 폼의 컨트롤과
비교할 시에는 forms를 쓴다고 하셨는데..... 정답지는 그게 아닌 것 같은데요...
182p의 3번 해설(매크로로 작성된 그림과 그 밑에 이벤트 프로시저로 작성하면 다음과 같습니다."
이걸 비교해보세요.
질문0 ) 사용자정의 함수에서 답이 0이 - 나오는 경우가 회계서식으로 되어 있어서 그렇다고 했잖아요.
근데 문제지에서 볼때는 - 을 0으로 하라는 말은 없고...if문을 세울 조건이 주어지잖아요
ex : ~이 ~면 15,000 ~이 ~면 0 으로 하시오. 이렇게 해서..조건을 세우고 사용자정의함수의 답에서
15,000
15,000
-
15,000
이렇게 나온단말이예요. 그렇다면 이건 그대로 내비둬야하는건지..아니면 서식을 회계서식에서 숫자로
해줘야 하는건지...
질문1) me.filter = "year(년도) = " & txt년도 & " and month(년도)=" & txt월
로 사용 하시면 될 것 같네요.
의 답변에서 년도의 필드명이 숫자이기에 #을 안쓴건가여? 원래 날짜일 경우에는 #을
사용하잖아요
"필드명=#" & 컨트롤명 & "#" 이런식으로...
겉으로는 날짜인것처럼 보이는데...실제로는 숫자여서 저렇게 답변처럼 쓴건가여?
이럴 경우에는 숫자와 날짜를 구분할 수 있는게 있나여? 원래 문자나 숫자 같은 경우에는 굳이 테이블
에 가서 디자인보기를 안하더라도 정렬의 위치(문자 : 왼쪽, 숫자 : 오른쪽)로 구분을 하는데...
이건 무조건 테이블에 가서 저 '년도'의 필드명의 데이터형식을 확인해보는 방법뿐인가여?
질문2)
답변을 이렇게 달아주셨는데...이해가 잘 안되네요...
이 분이 물어봤을때는 right 함수를 이용해서 고급필터를 하라고 했는데..만약에 이럴 경우에
고급필터조건란에 value 함수를 쓰면 틀리는건가여? 근데 답변을 보면
=right(a1,3)<="20" ㅡ.ㅡ right로 가져라오는 문자는 3글자이면서 왜 "20" 이렇게 2개의 문자와
비교를 하는지...그리고 문자인데도 어떻게 논리연산자로 비교가 가능하는지 이해가 안되요...
아무리봐도 value를 써야 문자를 숫자로 변환해서 비교를 해야 할 것 같은데..
이건 답변자님이 달아주신 답변 내용...
1. 네 기본키 설정하라는 말이 없었다면 지시사항 대로 관계 설정 하시면 됩니다.
2. 조건이 학생코드의 4번째부터 2자리가 '03'이고, 3월 점수가 80 이상이거나 4월 점수가 80이상인 것 이니까요..
학생코드는 동일 조건이고 점수는 이거나 이기때문에
학생코드가 03이고 3월 점수가 80이상 이거나
학생코드가 03이고 4월 점수가 80이상 인 것이 되어야 합니다.
만약 문제가
조건이 학생코드의 4번째부터 2자리가 '03'이고 3월 점수가 80 이상이거나, 4월 점수가 80이상인 것 이었습니다.
였다면 님이 쓰신 식이 맞겠죠.
3. vlookup 의 범위에서 열을 찾는 것이잖아요.
대, 중, 소 의 위치를 찾아 match 함수에서 상대위치를 반환합니다.
즉 대이면 1, 중이면 2, 소이면 3을 반환하는데
vlookup의 참조범위인 $G$31:$J$35 에서 첫번째 열은 제품번호 이므로 2번째 열부터 가져와야 합니다.
그렇기 때문에 2번째 열부터 표시 하기 위해 +1 을 하여
대이면 2번열, 중이면 3번열, 소이면 4번열에서 값을 찾게 하는 것입니다.
4. 그렇네요. 이벤트 프로시저에서 "제품명 = '" & txt제품명 & "'"
으로 사용가능 하구요.
매크로를 이벤트 프로시저로 변경했을때는 forms도 들어가거든요. 그래서 그렇게 답변을 드린 것입니다.
사용이 가능 하다면 둘다 사용가능 하겠죠.
5. 0이 든 -이든 상관 없는데요.. 어차피 회계서식이 미리지정 된 것이고 0이 -으로 표시 된다는것 다 아는데 오답처리 할까 싶네요.
6. 날짜가 year 함수에 들어가서 년도만 추출하게 되면 숫자 형식으로 나옵니다. 날짜는 원래 숫자 형식인데
1999-10-10 과 같이 날짜 전체를 쓰실려면 #이 필요하지만 따로 떼어놓고 년도 월 일만 쓴다면 숫자 형식으로 쓸수 있죠.
year month 함수가 날짜에서 년도와 월을 추출하여 숫자로 표시 하므로 #을 사용하실 필요가 없습니다.
7.
value 를 쓰시면 value(left(a1,2))<=20 과 같이 숫자로 비교하셔야 겠죠.
left에서 나온값이 숫자 20이 아닌 문자 "20" 이기 때문에 비교하는 값도 "20" 이 되어야 하는 것입니다.
"20"="20" 은 같지만
"20"= 20 은 다른 것이니까요.
문자로 반영하긴 했지만 숫자 모양이라서 비교연산자가 사용이 가능 합니다.
좋은 하루 되세요.
"-
*2011-06-24 10:26:55
1. 네 기본키 설정하라는 말이 없었다면 지시사항 대로 관계 설정 하시면 됩니다.
2. 조건이 학생코드의 4번째부터 2자리가 '03'이고, 3월 점수가 80 이상이거나 4월 점수가 80이상인 것 이니까요..
학생코드는 동일 조건이고 점수는 이거나 이기때문에
학생코드가 03이고 3월 점수가 80이상 이거나
학생코드가 03이고 4월 점수가 80이상 인 것이 되어야 합니다.
만약 문제가
조건이 학생코드의 4번째부터 2자리가 '03'이고 3월 점수가 80 이상이거나, 4월 점수가 80이상인 것 이었습니다.
였다면 님이 쓰신 식이 맞겠죠.
3. vlookup 의 범위에서 열을 찾는 것이잖아요.
대, 중, 소 의 위치를 찾아 match 함수에서 상대위치를 반환합니다.
즉 대이면 1, 중이면 2, 소이면 3을 반환하는데
vlookup의 참조범위인 $G$31:$J$35 에서 첫번째 열은 제품번호 이므로 2번째 열부터 가져와야 합니다.
그렇기 때문에 2번째 열부터 표시 하기 위해 +1 을 하여
대이면 2번열, 중이면 3번열, 소이면 4번열에서 값을 찾게 하는 것입니다.
4. 그렇네요. 이벤트 프로시저에서 "제품명 = '" & txt제품명 & "'"
으로 사용가능 하구요.
매크로를 이벤트 프로시저로 변경했을때는 forms도 들어가거든요. 그래서 그렇게 답변을 드린 것입니다.
사용이 가능 하다면 둘다 사용가능 하겠죠.
5. 0이 든 -이든 상관 없는데요.. 어차피 회계서식이 미리지정 된 것이고 0이 -으로 표시 된다는것 다 아는데 오답처리 할까 싶네요.
6. 날짜가 year 함수에 들어가서 년도만 추출하게 되면 숫자 형식으로 나옵니다. 날짜는 원래 숫자 형식인데
1999-10-10 과 같이 날짜 전체를 쓰실려면 #이 필요하지만 따로 떼어놓고 년도 월 일만 쓴다면 숫자 형식으로 쓸수 있죠.
year month 함수가 날짜에서 년도와 월을 추출하여 숫자로 표시 하므로 #을 사용하실 필요가 없습니다.
7.
value 를 쓰시면 value(left(a1,2))<=20 과 같이 숫자로 비교하셔야 겠죠.left에서 나온값이 숫자 20이 아닌 문자 "20" 이기 때문에 비교하는 값도 "20" 이 되어야 하는 것입니다.
"20"="20" 은 같지만
"20"= 20 은 다른 것이니까요.
문자로 반영하긴 했지만 숫자 모양이라서 비교연산자가 사용이 가능 합니다.
좋은 하루 되세요.
"