我想創建一段代碼,用另一個字代替一個字。 示例:用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