我想创建一段代码,用另一个字代替一个字。 示例:用Ave替换Avenue,并用N替换North。 我正在使用MS Access,我可以使用SQL REPLACE Function但我想在VBA中使用Access模块执行此操作,以便我可以将该函数附加到其他列。访问VBA |如何用另一个字符串替换字符串的部分
我不知道从哪里开始,所以任何输入将不胜感激。
盖伊
我想创建一段代码,用另一个字代替一个字。 示例:用Ave替换Avenue,并用N替换North。 我正在使用MS Access,我可以使用SQL REPLACE Function但我想在VBA中使用Access模块执行此操作,以便我可以将该函数附加到其他列。访问VBA |如何用另一个字符串替换字符串的部分
我不知道从哪里开始,所以任何输入将不胜感激。
盖伊
使用访问的VBA函数Replace(text, find, replacement)
:
Dim result As String
result = Replace("Some sentence containing Avenue in it.", "Avenue", "Ave")
我应该有说得更好,说我有一个专栏名称地址。我只是试图在地址栏中替换Avenue。你是最聪明的!感谢您的宝贵意见。 – Asynchronous 2011-12-18 06:44:19
在这种情况下,在TSQL中执行 – 2011-12-18 06:51:17
这是我的解决方案! 感谢您对我的帮助:我们都必须爬行才能走路。 公共职能TrmChar(ReplaceChar作为字符串) ReplaceChar =替换(ReplaceChar, “大道”, “大道”) TrmChar = ReplaceChar 端功能 – Asynchronous 2011-12-18 07:16:17
你可以使用类似这样的功能也将让你在不同情况下添加,你想改变的值:
Public Function strReplace(varValue As Variant) as Variant
Select Case varValue
Case "Avenue"
strReplace = "Ave"
Case "North"
strReplace = "N"
Case Else
strReplace = varValue
End Select
End Function
那么你的SQL将改为类似:
SELECT strReplace(Address) As Add FROM Tablename
要添加到这个答案。 1.案例可以接受多个参数:例如CASE“大道”,“大道” 2.案件事宜。与你的比较使用lcase或ucase – ray 2011-12-19 00:55:59
由于字符串“North”可能是街道名称的开始,例如, “北大道”的街道方向始终位于街道号码和街道名称之间,并与街道号码和街道名称分开。
Public Function strReplace(varValue As Variant) as Variant
Select Case varValue
Case "Avenue"
strReplace = "Ave"
Case " North "
strReplace = " N "
Case Else
strReplace = varValue
End Select
End Function
我正在阅读此主题并希望添加信息,即使对OP肯定不再及时。
BiggerDon上面指出了死记硬背取代“北”与“N”的困难。 “大道”到“大道”存在类似的问题(例如“美洲大道”变成“美洲大道”:仍然可以理解,但可能不是OP想要的东西。
replace()函数完全上下文无关,但地址不是,完整的解决方案需要额外的逻辑来正确解释上下文,然后根据需要应用replace()。编码精度支持系统(CASS)解决了适用于美国境内地址的OP问题的一般版本CASS是一种数据库工具,它接受美国地址并完成或纠正它以符合标准由美国邮政局设置。维基百科条目https://en.wikipedia.org/wiki/Postal_address_verification具有基础知识,更多信息可在邮局获得:https://ribbs.usps.gov/index.cfm?page=address_info_systems
您目前编写了哪些代码? – 2011-12-18 06:35:08
正如我所提到的,我可以这样写: 'DECLARE @Mymessage varchar(100) SET @Mymessage ='我不知道如何在VBA中做到这一点。 ' SELECT REPLACE(@Mymessage,'know','understand')' 同样,我不确定如何在VBA中将它写入模块中。 谢谢你的时间。 – Asynchronous 2011-12-18 06:41:32
另请参阅http://stackoverflow.com/questions/8571192/access-vba-to-trim-space-around-a-specific-character-or-wordss-in-a-column/8571442#8571442 – Fionnuala 2011-12-21 20:58:29