드로우홀릭 더베이직

안녕하세요, 도저히 어떻게 구현을 할까 고민되는게 있어서 질문 드립니다.



지금 현재 쿼리를 해서 필드가 있다면


코드 - 이름 - 정보A(텍스트)로 구성한 BOM 쿼리가 있는데



실무적으로 적용하기 위해서, 텍스트에 대해 그룹적으로 적용을 하고 싶은 상황입니다.



예로들면, 조건식으로 BOM 쿼리를 작성해놓았을때

0001 - 밥 - 국내산

0001 - 간장 - 중국산

0001 - 물 - NULL



쿼리를 써서

0001 - 밥 (국내산) 간장 (중국산) 물


이런 느낌으로 코드별로 단일 필드를 구성하고 싶은데, 그것이 좀 많이 어렵습니다.


이경우 제가 사용할 수 있는 노하우가 있을까요?






profile

돌직구

2020.03.02 16:19:29
*.165.242.137

답변이 늦어 죄송합니다.


말씀하신 것은, 액세스 쿼리만으로는 구현하기가 불가능합니다.

별도의 VBA 프로시저를 만들고, 그 프로시저를 액세스 쿼리에서 사용해야 합니다.


별도의 VBA 프로시저는 다음과 같은 로직으로 구현되어야 하죠.


입력값은 '코드' 입니다.

그리고, 이 VBA 프로시저는 입력받은 '코드'값을 가진 레코드를 구합니다.

그리고 그 레코드의 값을 읽어서 한 줄로 만들고, 그 값을 반환합니다.


구현해 보면 아시겠지만, 관계형 DB에서 이러한 연산은 무척 느립니다.

그렇다면 차라리, 위에 쓰인 테이블에 대해서..

이 테이블이 입력/수정/삭제 되는 시점에, 아래 데이터를 테이블로 자동으로 만드는 기능을 구현하는 것을 검토해 봐야겠죠.

(이 이야기는 무척 어려운 이야기 입니다.)


만약 SQL Server를 사용하신다면, 'STUFF' 함수를 이용해서 쿼리문 만으로 구현할 수도 있습니다.

broadside

2020.03.03 12:42:51
*.16.157.134

답변 감사합니다. 현재는 복잡한 계산 및 가공은 액세스로 한다음, 그 결과를 뽑아내어 VBA 사용자 정의함수로 어떻게 구현을 하긴 했습니다. 단점은 수동업데이트를 해줘야 한다는 점과 한 플랫폼에서 관리를 할 수 없다는 점 같군요.


구글링을 해보니 MYSQL, ORACLE 등의 DB 프로그램에서는 SQL언어로 적용할 수 있는 함수가 있던데, 액세스는 SQL 차원에서 적용할 수 없이 VBA 프로시저로 해야한다니 안타깝습니다. 말씀하신 VBA 프로시저적 연산이 느리고 어렵다는 것도 이해가 됩니다.


List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 FAQ: 어떤 과정을 수강하는 것이 좋을까요? 외 돌직구 2017-08-29 31984
공지 좋은 답변을 이끌어 내는 방법 [1] 돌직구 2017-07-14 28135
공지 액세스 Q/A 게시판 형식을 변경합니다. 돌직구 2014-09-10 23157


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