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



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

铵[代码]

获取:

因此,我使用这个:

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

但我只是得到了"["]"中的字符串。我的目标是获得原始字符串左侧的字符串。你知道为什么它不起作用吗?

您可以使用拆分并简化它:

If Not IsNull(Me!LenD) Then
Me!LenD = Left(Split(Me!LenD, "[")(0), 50)
End If
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

最新更新