在MS Access中使用VB查找变量字符串长度的子字符串

时间:2013-11-15 11:47:54

标签: vba ms-access access-vba

我有一个带有几个表的Access DB,其中一个表有一列地址。这些地址都以建筑物名称开头,后面跟着城市信息。它们都用逗号分隔。

我正在寻找一种方法在VB代码中取这个字段并将其分成两个字段,第一个逗号留在一个字段中,一切留在第一个逗号的另一个字段中。

我尝试过以下各种变体:

currentBuildingName = currentBuildingAddress.Substring(0, currentBuildingAddress.IndexOf(","))
currentCity = currentBuildingAddress.Substring(currentBuildingAddress.IndexOf(","), 1)

但没有成功。我也尝试查看left()和right()函数,但它们要求您指定拆分应该发生的位置的整数位置,这是可变的。

任何建议人员?在MS Access 2010中,如何根据第一个逗号拆分字符串,在一个字段中左侧的所有内容和另一个字段中的所有内容?

2 个答案:

答案 0 :(得分:3)

使用InStr()功能InStr("expression_to_search", "search_string")。它返回您正在搜索的字符串的起始位置,如果找不到则返回零。获得逗号后,您可以使用Right()Left()来解析字符串。有关详细信息,请参阅

InStr Function

答案 1 :(得分:0)

感谢@OTTA的指导。这是我的最终答案:

startingPosition = InStr(currentBuildingAddress, ",")

currentBuildingName = Left(currentBuildingAddress, (startingPosition))
currentCity = Right(currentBuildingAddress, Len(currentBuildingAddress) - startingPosition)

美好而简单。