Access VBA如何从字符串中提取[]之外的文本

时间:2018-11-27 11:16:59

标签: vba ms-access

在访问表单中,我可以在名为LenD的文本框中输入值。有时我需要检查输入代码,以便从代码中拆分标准文本。例如:

名词[代码]

获得:

名词

所以我用这个:

If InStr(1, Me!LenD, "[") Then
            Me!LenD = Left(Mid(Me!LenD, InStr(1, Me!LenD, "[") + 1, (InStr(1, Me!LenteD, "]")) - (InStr(1, Me!LenD, "[")) - 1), 50)
        Else
            Me!LenD = Left(Me!LenD, 50)
End If

但是我只获取了“ [”“]”内的字符串。我的目标是获取原始String左侧的字符串。知道为什么它不起作用吗?

2 个答案:

答案 0 :(得分:0)

 Dim x as Long
 x = Instr(me!LenD,"[")
 If x > 0 then
     Me!LenD = Left(Me!lenD,x-1)
 Else
     me!LenD = Left(Me!LenD,50)
 End If

答案 1 :(得分:0)

您可以使用 Split 进行简化:

If Not IsNull(Me!LenD) Then
    Me!LenD = Left(Split(Me!LenD, "[")(0), 50)
End If