将年份列表转换为两位数

时间:2014-10-17 13:23:20

标签: sql vba ms-access access-vba ms-access-2013

我在Access上有一个包含几百种产品的表,我需要从以下格式转换年份

1992,1993,1994,1995 

92-95

前段时间我从论坛中了解到如何将我1992年至1995年的岁月转换为现在的格式。但是根据最近的要求,我现在需要另外一个领域,第一年和最后一年来自现场,只有两位数。我正在使用几周前在这里创建的功能,但有些部分我无法理解并得出结论我不能在这种情况下使用它。有些年份也是单身,例如" 1984"它应该显示为" 84-84"。

我不确定之前的功能是否可用,但我会将其添加进来。

Public Function Conversion(ByVal pInput As Variant) As Variant
    Dim astrPieces() As String
    Dim i As Long
    Dim lngFirst As Long
    Dim lngLast As Long
    Dim varReturn As Variant

    If pInput Like "####-####" Then
        astrPieces = Split(pInput, "-")
        lngFirst = CLng(astrPieces(0))
        lngLast = CLng(astrPieces(1))
        For i = lngFirst To lngLast
            varReturn = varReturn & "," & CStr(i)
        Next
        If Len(varReturn) > 0 Then
            varReturn = Mid(varReturn, 2)
        End If
    Else
        varReturn = pInput
    End If
    Conversion = varReturn
End Function

1 个答案:

答案 0 :(得分:2)

假设它们按顺序排列,可以说多年或单年;

Public Function ToShortYearSpan(ByVal pInput As Variant) As Variant
   ToShortYearSpan = Mid$(pInput, 3, 2) & "-" & Right$(pInput, 2)
End Function