나눔터  
  HOME > 나눔터 > 묻고답하기 > 액세스
액세스
액세스에 대한 질문과 답변을 올려주세요. 단, 취지에 맞지 않는 글은 운영자가 삭제합니다.
 "000 님, 도와주세요", "부탁 드립니다.", "급합니다!" 등과 같이 막연한 제목을 달지 말아주세요.
[필독] 빠르고 정확한 답변을 얻는 16가지 Tip !
[필독] 저작권법 개정에 따른 이용안내
작성자:  

 황동준 (bogri2000)

추천:  0
파일:     221219_특정문자분리사용자함수_STYLE-SPLIT.accdb (428KB) 조회:  1285
제목:   [RE]필드값 분할
     
  * 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.

 - 액세스 버전(365):

* 아래줄에 질문을 작성하세요 >> 
기존 데이터 필드명이 STYLE 이고 값은 52121-DP305-P 인경우 구분기호 - 를 이용하여 
값을 새로 만든 필드 STYLE-1 에 첫번째 52121
       새로 만든 필드 STYLE-2 에 두번째 DP305
       새로 만든 필드 STYLE-3에 세번째 P 값을 넣는 업데이트 쿼리를 작성하려다 막셔서 질문 올립니다. 

또한 구분기호가 없는 경우는 STYLE-1 에 값이 업데이트 되지 않는데 이것 역시 해결 방안이 있을까요?

파일 첨부하니 도움 부탁 드립니다. 

==============[도야지님 글에 대한 답변입니다]==============
Mid InStr로 하면 너무 복잡하여 Split UBound 를 이용한 간단한 사용자함수입니다.

참조,출처 : https://stackoverflow.com/questions/68380886/vba-to-find-if-a-string-split-is-null


*사용자정의함수

Public Function MySplit(v As String, x As String, ix As Integer) As String

    MySplit = ""

    If IsNull(v) Then Exit Function

    If v = "" Then Exit Function

    Dim vBuf As Variant

    vBuf = Split(v, x)

    If ix > UBound(vBuf) Then Exit Function

    MySplit = vBuf(ix)

End Function


*업데이트 쿼리

UPDATE STYLE SET STYLE.STYLE_NUMBER_1 =
MySplit([STYLE_NUMBER],"-",0), STYLE.STYLE_NUMBER_2 =
MySplit([STYLE_NUMBER],"-",1), STYLE.STYLE_NUMBER_3 =
MySplit([STYLE_NUMBER],"-",2);

*사용방법
MySplit([원본필드명],"구분자",위치)

*세번째 인수는 0부터 시작합니다. (첫번째가 0)
 
[불량 게시물 신고]  
도야지안녕하세요 황동준님,

귀한시간 내서 도와 주셔서 감사합니다만, "식의 'MySplit' 함수가 정의 되지 않았습니다." 라는 에러 메세지가 나옵니다.

제가 예제로 드린 파일인데 제가 가지고 있는 원본 데이터베이스에서는 황동준님께서 작성해 주신 "사용자정의 함수"를 어떤 방법으로 업데이트 해야 하는지 모르겠습니다.

알려 주시면 감사하겠고요, 제 이메일 주소는 doyaji02@yahoo.com 입니다. 데이터 베이스 이관 문제로 상의 드릴것이 있으니 메일 보내 주시면 감사하겠습니다.

감사합니다.
12-19 (12:56)
삭제 ■신고
황동준1. 데이터베이스를 오픈 하신 후
2. 리본메뉴 만들기-매크로및코드-모듈 
3. vb 에디터에서 위 코드 Public Function MyS~ 부터 End Function 까지 복사해서 붙여 넣으세요.
4. vb 에디터에서 메뉴 디버그 - oooo 컴파일
5. 아무런 반응이 없고 , 메뉴 디버그 - oooo 컴파일이 회색으로 비활성화 되어 있으면 문제 없습니다.
6. vb 에디터에서 저장 버튼 눌러 모듈을 저장합니다.
7. 모듈 이름은 아무렇게나 해도 상관없습니다
8. 쿼리 작성 및 실행.

*제가 첨부한 파일도 안되나요? 한번 해보시고 결과 알려주세요.
12-19 (14:53)
삭제 ■신고
도야지빠른답변 감사합니다.
제가 해외 접속자라 내일 오전중으로 답변 드리겠습니다.
그리고 이메일 답신을 못받았는데요, 의향이 어떠신지요?

감사합니다.
12-19 (16:11)
삭제 ■신고
손님01-21 (14:27)
삭제 ■신고
        
  

작성일 : 2022-12-19(02:43)
최종수정일 : 2022-12-19(02:48)
 


 ◎ 관련글

  제 목   작성자   날짜
필드값 분할 도야지 2022-12-18
[RE]필드값 분할 황동준 2022-12-19