드로우홀릭 더베이직

크로스탭에서 변수 불러오기

2019.06.19 00:24:09 조회 수 4021 추천 수 0

안녕하세요.


일반 쿼리에서는 SetTempVar로 변환한 값을 불러올 수 있으나, 크로스탭 쿼리에서는 어떻게 하는지 몰라 질문 드립니다.


간단한 예를 만들어 첨부하오니 답변해주시면 감사하겠습니다.


안녕히 계세요.


profile

돌직구

2019.06.19 23:52:34
*.165.242.137

크로스탭 쿼리에서는 임시 변수 뿐만 아니라, 매개변수도 제대로 동작하지 않습니다.

쿼리 디자인 보기에서 쿼리 도구 - 디자인 - 표시/숨기기 - 매개 변수 를 클릭하면 매개 변수를 정의하는 창이 표시됩니다.

여기에서 매개 변수를 정의하면 잘 동작할 것입니다.

Michael

2019.06.20 03:10:23
*.52.132.65

어떻게 매개변수를 정의하라시는건지 이해를 못하겠네요.


초보라서 죄송합니다.

Michael

2019.06.20 20:37:27
*.52.132.65

매개변수('부서')를 'Text'로 정의해도 아래의 에러 메시지는 계속 나오는데요.


The Microsoft Access Database Engine does not recognize '[Tempvars]![부서]' as a Valid Field Name or Expression 

Michael

2019.06.20 20:50:03
*.52.132.65

'[TempVars]![부서]'를 'Text'로 정의하니까 되네요.

감사합니다.

profile

돌직구

2019.06.20 22:44:37
*.165.242.137

스스로 해결책을 찾으셨네요.

이번 주는 제가 출장중이라 빨리 대응해 드리지 못했습니다.


어쨌든 해결되었으니 참 다행입니다.

Michael

2019.06.22 03:19:11
*.52.132.65

추가 질문이 있습니다.

위에서 작성한 크로스탭 쿼리를 어떻게 폼으로 가져올 수는 있는지요?


물론 로그온 한 부서의 내용이 상당에 나오고, 하단에 크로스탭쿼리로 작성한 내용이 나왔으면 하는데요.


감사합니다.


Michael

2019.06.22 04:22:53
*.52.132.65

해결했습니다.

쿼리의 property의 ColumnHeading에서 값을 지정해주면 되네요.


감사합니다.

profile

돌직구

2019.06.24 11:24:42
*.165.242.137

네.


추가로 크로스탭 쿼리의 가장 큰 약점인데..

열 제목이 고정되어 있지 않은 경우.. 폼을 만들기가 아주 까다롭습니다.

폼의 컨트롤 역시 동적으로 변화해야 하거든요.


가능하다면 열 제목을 고정된 값(예를 들면 년/월 같은)으로 하는 것이 여러 모로 편리합니다.

Michael

2019.06.25 05:19:57
*.52.132.65

말씀하신데로 열제목을 월/연 형식으로넣고 여러 연도를 넣다보니,  배열에 문제가 문제가 생겼습니다.

예를 들어

Jan/2017

Jan/2018

Jan/2019

Fev/2017

Fev/2018

Fev/2019

....


어떻게 해결해야 하는지요

profile

돌직구

2019.06.25 17:13:46
*.165.242.137

이렇게 되면, 열 제목이 그때 그때 달라지게 됩니다.

(이런 것을 '동적으로 변화'한다고 표현합니다.)


따라서, 다음 두 가지 작업을 하셔야 합니다.

1. 쿼리의 ColumnHeading 속성을 그때 그때 알맞게 변경해 줘야 합니다.

2. 폼을 사용한다면, 폼의 컨트롤의 '컨트롤 원본' 속성을, 그때 그때 알맞게 변경해 줘야 합니다.


이 두 가지 작업을 하는 방법을 간략히 설명드릴 수는 있겠습니다만..

이정도 설명으로 구현 가능하실지 모르겠네요.


일단 설명 드려 보겠습니다.


1. 쿼리의 ColumnHeading 속성 변경하기

크로스탭 쿼리를 SQL 보기로 전환해 보면 다음과 비슷합니다.

TRANSFORM Sum(q주문서_내역.금액) AS 금액의합계
SELECT 고객업체.고객업체코드, 고객업체.고객업체명
FROM 고객업체 INNER JOIN (주문서 INNER JOIN q주문서_내역 ON 주문서.주문서번호 = q주문서_내역.주문서번호) ON 고객업체.고객업체코드 = 주문서.고객코드
GROUP BY 고객업체.고객업체코드, 고객업체.고객업체명
PIVOT Format([수주일],"yyyy/mm") In ("2019-01","2019-02")

맨 마지막에 보면 'In ("2019-01","2019-02")' 이라는 부분이 있지요? 이것을 그때 그때 만들어 줘야 합니다.

예를 들어, 2019년 1월부터 3월까지 봐야 한다면, 다음과 같이 만들어 줘야겠지요.

In ("2019-01","2019-02", "2019-03")


그리고, 이렇게 만든 SQL 구문을 쿼리에 적용시켜 줘야 합니다.

CurrentDB("QueryName").SQL = strSQL



2. 폼 컨트롤의 컨트롤 원본 속성 제어하기

일단, 데이터시트 폼을 만듭니다. 폼에 있는 모든 컨트롤의 '컨트롤 원본' 속성은 비워둡니다.

컨트롤 이름을 'txt01', 'txt02' 처럼, 숫자를 이용해서 규칙성 있게 만듭니다.

그리고, 해당 폼의 Open 이벤트 프로시저에 코드를 다음과 유사하게 입력합니다.

txt01.ControlSource="2019-01"
txt02.ControlSource="2019-02"
txt03.ControlSource="2019-03"
...


이상입니다. 아마, 이 정도 설명만 듣고 구현하기가 쉽지 않으실 겁니다.

일단 시도해 보시고, 잘 모르는 것은 '새 글'로 질문 올려 주세요.

댓글로 계속 질문하는 것 보다는, 그 편이 더 나을겁니다.


그리고, 이 정도 Q&A는, 튜터링이 훨씬 낫습니다.

10~30분 정도면 충분한 설명이 되리라 생각합니다.

List of Articles
번호 제목 글쓴이 날짜 조회 수sort
공지 FAQ: 어떤 과정을 수강하는 것이 좋을까요? 외 돌직구 2017-08-29 31983
공지 좋은 답변을 이끌어 내는 방법 [1] 돌직구 2017-07-14 28131
공지 액세스 Q/A 게시판 형식을 변경합니다. 돌직구 2014-09-10 23157
520 데이처를 TXT 문장으로 완성하는 방법에 대해 1 붕어짱 2023-01-09 42
519 Section4-3.기본키 특성 파악하기 3 Ericsson 2024-04-23 44
518 VBA 환경설정 실습 첫 단계에서 에러 메시지가 나왔습니다 file 2 창원바우 2024-04-10 60
517 모듈설치후 디버그결과 컴파일 오류 에러메시지가 나오는데 해결방법? file 4 창원바우 2024-04-12 64
516 실무 액세스3_ 2강 업로드 서식 다운로드 버그발생 해결방법? file 3 창원바우 2024-04-13 69
515 안녕하세요 기본적인 질문입니다. 5 으흐흐 2022-06-03 86
514 쿼리를 만드는데 별표에 대해 요약을 계산할 수 없습니다라는 에러메시지 file 2 바우 2024-03-15 94
513 엑세스 2013 무작정 다라하기 (비용보고 앱 만들기 질문) file 1 Ericsson 2024-03-06 114
512 대화상자에서 명령메크로작동? 1 열심 2022-08-16 126
511 액세스 2021 초급 13강 차트에 필터 기능 넣기 에러 질문 file 3 창원바우 2024-03-26 173
510 화면데이타 초기화 버튼 명령어 문의드립니다. file 2 맥스21 2024-03-08 177
509 교안 다운로드 에러가 발생합니다. 1 linuver 2022-08-23 202
508 Collection 관련 문의입니다. 8 vrn001 2021-11-05 221
507 엑세스에서 커서깜박임 등 속성변경이 가능한지 문의드립니다. 1 맥스21 2024-03-05 228
506 코딩한 내용이 작동이 안됩니다. file 4 학이시습 2020-08-05 236
505 튜터링 범위에 대한 문의입니다. (Azure를 이용한 메일 보내는 기능 관련) 4 vrn001 2021-11-19 241
504 로그인된 유저이름 반환하기 가능할까요?? 2 아놀드 2021-11-08 245
503 ID와 암호 기반의 로그인 기능 클로이 2020-03-31 273
502 Data 형태로 저장된 문장과 단어의 결합 2 라키7 2020-01-02 286
501 매크로가 안됩니다. file 1 학이시습 2020-05-07 289


  주소  12925 경기도 하남시 미사대로 540, B동 917호 (현대지식산업센터 한강미사2차) ㈜팀데이터이십일  |  고객센터 전화번호  02-467-2998  |  대표이사  염기웅
개인정보관리책임자  염기웅 (ml_privacy@td21.com)  |  사업자등록번호  120-86-79260  |  통신판매업신고번호  제 2021-경기하남-1166 호  [사업자 정보 확인]
  TD21의 사전 서면 동의 없이 TD21 사이트 일체의 정보, 콘텐츠 및 UI 등을 상업적 목적으로 전시, 전송, 스크래핑 등 무단 사용할 수 없습니다.