基于小数点

时间:2015-08-16 23:51:49

标签: ms-access

目前我有一个Access 2013数据库表,其中有一列有一些值;

Value1: 90.1244.1234

Value2: 90.1295

我想根据小数点将这些分成3列。

Column1    Column2    Column 3
90         1244       1234

然而,当我尝试将它们分开时,只有1个小数点的值会抛出一个#Func!错误。而不是#Func!错误,我想将单元格留空。

我正在使用的代码:

First Split: Left$([JDE Account Number],InStr([JDE Account Number],".")-1)

Middle Split: Mid([JDE Account Number],InStr([JDE Account Number],".")+1,InStrRev([JDE Account Number],".")-InStr([JDE Account Number],".")-1)

Last Split: Right$([JDE Account Number],Len([JDE Account Number])-InStrRev([JDE Account Number],"."))

导致#FUNC的中间分裂!错误,因为有时值只有1位小数。

如果值只有一位小数而不是两位,有没有办法让中间单元格留空?

1 个答案:

答案 0 :(得分:0)

创建一个小函数:

Public Function SplitString(ByVal Triple As String, ByVal Element As Integer) As Variant

    Dim Elements    As Variant
    Dim TriplePart  As Variant

    Elements = Split(Triple, ".")

    If UBound(Elements) >= Element - 1 Then
        TriplePart = Elements(Element - 1)
    Else
        TriplePart = Null
    End If

    SplitString = TriplePart

End Function

并在查询中将其用作表达式:

Column1: SplitString(Nz([JDE Account Number]),1)
Column2: SplitString(Nz([JDE Account Number]),2)
Column3: SplitString(Nz([JDE Account Number]),3)