|
* 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.
- 액세스 버전(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) |
|