MS Access VBA-루프 분할 기능 및 첫 번째 값 (Null이 아닌 경우) 또는 마지막 값 출력

UserX

나는 다음과 같은 값이 포함되어 내 Access 데이터베이스의 필드가 24,25,152, 128,152, ,113, 113및 널 (null).

필드에 값이 하나만있는 경우 첫 번째 값이 내 출력이되기를 원하고 ( 113for ,113113) 둘 이상의 값이있는 경우 마지막 값이 내 출력이되기를 원합니다 ( 152for 24,25,152128,152).

현재 필드에있는 올바른 쉼표 / ​​값 수를 설명하기 위해 하드 코딩 된 쿼리에 의해 호출되는 사용자 정의 함수가 있습니다. 앞으로는 더 많은 쉼표가있을 것이므로이를 고려하고 출력이 단일 열에 표시되기를 원합니다 (각 쉼표 뒤에 값당 하나의 열이있는 것과는 반대로).

이 게시물 에서 가져온 사용자 정의 함수에 대한 VBA 코드는 다음과 같습니다 .

Function mySplit(sMyText As String, sDelim As String, lIndx As Long) As String
    On Error GoTo Error_Handler

    mySplit = Split(sMyText, sDelim)(lIndx)

Error_Handler_Exit:
    On Error Resume Next
    Exit Function

Error_Handler:
    If Err.Number = 9 Then
        mySplit = ""
    Else
        MsgBox "The following error has occured" & vbCrLf & vbCrLf & _
               "Error Number: " & Err.Number & vbCrLf & _
               "Error Source: mySplit" & vbCrLf & _
               "Error Description: " & Err.Description & _
               Switch(Erl = 0, "", Erl <> 0, vbCrLf & "Line No: " & Erl) _
               , vbOKOnly + vbCritical, "An Error has Occured!"
    End If
    Resume Error_Handler_Exit



End Function

다음은 쿼리입니다.

SELECT Field, mySplit([field].[table],",",0) AS 1, mySplit([field].[table],",",1) AS 2, mySplit([field].[table],",",2) AS 3, Val(IIf([3]<>"",[3],IIf([2]<>"",[2],IIf([1]<>"",[1])))) AS [Value]

FROM Table;

이상적으로는 아래 이미지에서 "값"필드 (초록색으로 표시)와 같은 단일 필드를 사용하는 것이 좋습니다.

현재 값 필드가 있음을 중첩 한 무리의 if문은보고 1, 23열. 이 코드를 수정하여 구분 기호를 계산 한 다음 각 구분 기호를 반복하고 첫 번째 값 (하나만있는 경우)과 마지막 값 (하나 이상있는 경우)을 취해야한다는 것을 알고 있지만 방법을 잘 모르겠습니다. 그것을 달성하기 위해 가십시오.

어떤 도움이라도 대단히 감사하겠습니다.

편집하다

여기에 이미지 설명 입력

코스타스 K.

이 시도.

값을 분할하고 배열의 마지막 요소를 반환하십시오. 값이 null이면 빈 문자열을 반환합니다.

Public Function SplitToLast(Value As Variant) As String
    On Error GoTo Trap

    If IsNull(Value) Then GoTo Leave

    Dim arr As Variant
        arr = Split(Value, ",")

    SplitToLast = arr(UBound(arr))

Leave:
    On Error GoTo 0
    Exit Function

Trap:
    MsgBox Err.Description, vbCritical
    Resume Leave
End Function

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

첫 번째 및 마지막 입력 데이터를 출력하는 루프

분류에서Dev

두 번째에서 마지막 및 마지막 값 및 출력 가져 오기

분류에서Dev

첫 번째 값이없는 경우 두 번째 및 세 번째 분할 값을 사용하는 방법은 무엇입니까? (자바)

분류에서Dev

여러 목록의 첫 번째 값과 마지막 값을 채우는 for 루프 단축

분류에서Dev

Pandas에서 하루의 첫 번째 및 마지막 값 (Python)

분류에서Dev

F #은 첫 번째 또는 마지막 요소없이 우아하게 접기?

분류에서Dev

데이터 프레임의 고유 ID로 첫 번째 및 마지막 행 값 가져 오기

분류에서Dev

PHP 행의 첫 번째 및 마지막 값 변경

분류에서Dev

Excel : 값이있는 첫 번째 및 마지막 셀의 주소 찾기 (사이에 공백 포함)

분류에서Dev

0이 아닌 첫 번째 값 찾기 및 그 이후의 열 계산

분류에서Dev

열 값이 동일한 경우 해당 열의 첫 번째 및 마지막 인스턴스를 기반으로 새 열을 만듭니다.

분류에서Dev

다른 열에서 첫 번째, 두 번째 및 세 번째 값을 선택하는 방법-Ms Access

분류에서Dev

다른 열 값을 기반으로 한 열의 첫 번째 및 마지막 값을 가져 오는 방법

분류에서Dev

SQL-Server : NULL이 아닌 마지막 값 계속, 잘못된 분할 기준

분류에서Dev

중첩 된 루프의 첫 번째 및 마지막 항, 0이 아닌 인덱스로 시작하는 산술 시리즈의 합

분류에서Dev

팬더 그룹화 및 모든 열에 대해 첫 번째 null이 아닌 값 찾기

분류에서Dev

Lead () 및 Lag ()를 사용하여 null이 아닌 첫 번째 값을 얻는 방법

분류에서Dev

색인이 아닌 기준을 충족하는 첫 번째 값 찾기

분류에서Dev

DAX는 공백이 아닌 마지막 N 번째 값을 얻습니다.

분류에서Dev

Pandas 시리즈에서 0이 아닌 첫 번째 값 찾기

분류에서Dev

Java의 SQLlite db 테이블에서 첫 번째 및 마지막 기본 키 값을 얻습니까?

분류에서Dev

Java의 SQLlite db 테이블에서 첫 번째 및 마지막 기본 키 값을 얻습니까?

분류에서Dev

데이터 프레임의 첫 번째 및 마지막 행을 유지하여 특정 값이있는 행 삭제

분류에서Dev

Pandas는 그룹을 첫 번째 값과 마지막 값으로 분할합니다.

분류에서Dev

계층 구조에서 첫 번째 및 / 또는 마지막 멤버 값을 보는 방법

분류에서Dev

SQL 그룹의 첫 번째 줄에 값 및 기타 값을 null로 채우는 방법

분류에서Dev

마지막 값을 첫 번째 값으로 이동

분류에서Dev

데이터 프레임의 NA 값을 그룹 내 다른 열의 첫 번째 또는 마지막 값으로 대체

분류에서Dev

그룹 별 여러 첫 번째 및 마지막 비 NA 값

Related 관련 기사

  1. 1

    첫 번째 및 마지막 입력 데이터를 출력하는 루프

  2. 2

    두 번째에서 마지막 및 마지막 값 및 출력 가져 오기

  3. 3

    첫 번째 값이없는 경우 두 번째 및 세 번째 분할 값을 사용하는 방법은 무엇입니까? (자바)

  4. 4

    여러 목록의 첫 번째 값과 마지막 값을 채우는 for 루프 단축

  5. 5

    Pandas에서 하루의 첫 번째 및 마지막 값 (Python)

  6. 6

    F #은 첫 번째 또는 마지막 요소없이 우아하게 접기?

  7. 7

    데이터 프레임의 고유 ID로 첫 번째 및 마지막 행 값 가져 오기

  8. 8

    PHP 행의 첫 번째 및 마지막 값 변경

  9. 9

    Excel : 값이있는 첫 번째 및 마지막 셀의 주소 찾기 (사이에 공백 포함)

  10. 10

    0이 아닌 첫 번째 값 찾기 및 그 이후의 열 계산

  11. 11

    열 값이 동일한 경우 해당 열의 첫 번째 및 마지막 인스턴스를 기반으로 새 열을 만듭니다.

  12. 12

    다른 열에서 첫 번째, 두 번째 및 세 번째 값을 선택하는 방법-Ms Access

  13. 13

    다른 열 값을 기반으로 한 열의 첫 번째 및 마지막 값을 가져 오는 방법

  14. 14

    SQL-Server : NULL이 아닌 마지막 값 계속, 잘못된 분할 기준

  15. 15

    중첩 된 루프의 첫 번째 및 마지막 항, 0이 아닌 인덱스로 시작하는 산술 시리즈의 합

  16. 16

    팬더 그룹화 및 모든 열에 대해 첫 번째 null이 아닌 값 찾기

  17. 17

    Lead () 및 Lag ()를 사용하여 null이 아닌 첫 번째 값을 얻는 방법

  18. 18

    색인이 아닌 기준을 충족하는 첫 번째 값 찾기

  19. 19

    DAX는 공백이 아닌 마지막 N 번째 값을 얻습니다.

  20. 20

    Pandas 시리즈에서 0이 아닌 첫 번째 값 찾기

  21. 21

    Java의 SQLlite db 테이블에서 첫 번째 및 마지막 기본 키 값을 얻습니까?

  22. 22

    Java의 SQLlite db 테이블에서 첫 번째 및 마지막 기본 키 값을 얻습니까?

  23. 23

    데이터 프레임의 첫 번째 및 마지막 행을 유지하여 특정 값이있는 행 삭제

  24. 24

    Pandas는 그룹을 첫 번째 값과 마지막 값으로 분할합니다.

  25. 25

    계층 구조에서 첫 번째 및 / 또는 마지막 멤버 값을 보는 방법

  26. 26

    SQL 그룹의 첫 번째 줄에 값 및 기타 값을 null로 채우는 방법

  27. 27

    마지막 값을 첫 번째 값으로 이동

  28. 28

    데이터 프레임의 NA 값을 그룹 내 다른 열의 첫 번째 또는 마지막 값으로 대체

  29. 29

    그룹 별 여러 첫 번째 및 마지막 비 NA 값

뜨겁다태그

보관