访问:递增/递减带有2点的数字

时间:2019-01-10 08:44:20

标签: ms-access access-vba

我在表单中有两个字段用于显示当前版本号和先前版本号。我要做的是输入当前版本号(写成这样的18.04.15),即在下一个文本框中输入上一个版本号以自动用18.04。 14 。< / p>

我尝试过:  =[txtCurrentVersion]-1在控制源中,但是显然因为我没有递减一个,所以它没有用。

请多多指教,谢谢:)

2 个答案:

答案 0 :(得分:0)

下面的代码基于点分割文本,并从最后一项减去一个。

Private Sub txtCurrentVersion_AfterUpdate()
    If Nz(Me.txtCurrentVersion, "") <> "" Then
        Me.txtPrevVersion.Value = Split(Me.txtCurrentVersion, ".")(0) & "." & Split(Me.txtCurrentVersion, ".")(1) & "." & Split(Me.txtCurrentVersion, ".")(2) - 1
    End If
End Sub

答案 1 :(得分:0)

我建议创建一个函数,在其中给函数提供3个参数,第一个是当前版本号字符串,第二个是版本号级别(0表示主版本号,1表示次版本号,2表示次要版本号)以及增加或减少的值。

例如:

Function ModifyVersion(VersionNumber, NumberLevel, Number)

If VersionNumber <> "" AND NumberLevel >= 0 AND NumberLevel < 3 Then

    dim VersionArray
    VersionArray = Split(VersionNumber, ".")

    Select Case NumberLevel
    Case 0
        VersionArray(0) = VersionArray(0) + Number
    Case 1
        VersionArray(1) = VersionArray(1) + Number
    Case 2
        VersionArray(2) = VersionArray(2) + Number
    End Select

    ModifyVersion = VersionArray(0) & "." & VersionArray(1) & "." & VersionArray(2)

    End If

End Function

然后从次要版本号减少一个:

VersionNumber = [txtCurrentVersion]
Dim UpdateVersion
UpdateVersion = ModifyVersion(VersionNumber, 2, -1)