2011-12-18 16 views
34

मैं कोड का एक टुकड़ा बनाने की कोशिश कर रहा हूं जो एक शब्द को दूसरे के साथ बदल देता है। उदाहरण: एन साथ एवेन्यू और उत्तरी साथ एवेन्यू बदलें मैं एमएस एक्सेस उपयोग कर रहा हूँ, मैं एसक्यूएल इस्तेमाल कर सकते हैं समारोह REPLACE लेकिन मैं इतना है कि मैं दूसरे स्तंभ के लिए समारोह संलग्न कर सकते हैं पहुँच मॉड्यूल का उपयोग कर VBA में ऐसा करना चाहते हैं।एक्सेस वीबीए | एक स्ट्रिंग के हिस्सों को किसी अन्य स्ट्रिंग के साथ कैसे बदलें

मुझे यकीन है कि जहां इस के साथ शुरू करने के लिए नहीं कर रहा हूँ, इसलिए किसी भी इनपुट बहुत सराहना की जाएगी।

लड़का

+2

क्या कोड आप अब तक लिखा है? –

+0

जैसा कि मैंने उल्लेख किया है, मैं इसका उपयोग कर लिख सकता हूं: 'DECLARE @Mymessage varchar (100) SET @Mymessage = 'मुझे नहीं पता कि वीबीए में इसे कैसे किया जाए। ' चयन REPLACE (@Mymessage,' पता है ',' समझें ') ' फिर से, मैं नहीं यकीन है कि कैसे एक मॉड्यूल में VBA में इस लिखने के लिए कर रहा हूँ। आपके समय के लिए धन्यवाद। – Asynchronous

+0

भी http://stackoverflow.com/questions/8571192/access-vba-to-trim-space-around-a-specific-character-or-wordss-in-a-column/8571442#8571442 – Fionnuala

उत्तर

54

उपयोग पहुँच के लिए VBA समारोह Replace(text, find, replacement):

Dim result As String 

result = Replace("Some sentence containing Avenue in it.", "Avenue", "Ave") 
+0

देखें मैं होना चाहिए बेहतर समझाया, कहें कि मेरे पास कॉलम नाम पता है। मैं बस पता कॉलम में एवेन्यू को बदलने की कोशिश कर रहा हूं। तुम सबसे तेज हो! आपके मूल्यवान इनपुट के लिए धन्यवाद। – Asynchronous

+0

उस स्थिति में, इसे TSQL –

+0

में करें मेरा समाधान यहां है! इस के साथ मेरी सहायता करने के लिए धन्यवाद: हम सभी को चलने से पहले क्रॉल करना होगा। सार्वजनिक समारोह TrmChar (ReplaceChar स्ट्रिंग के रूप में) ReplaceChar = बदलें (ReplaceChar, "एवेन्यू", "एवेन्यू") TrmChar = ReplaceChar समाप्ति समारोह – Asynchronous

1

तुम भी एक समारोह इस के समान इस्तेमाल कर सकते हैं, तो यह आपको अलग अलग मामलों में जोड़ने के लिए अनुमति होगी जहां मूल्यों को बदलना चाहते हैं:

:
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 

फिर अपने एसक्यूएल की तरह कुछ पढ़ा होगा

+0

इस उत्तर को जोड़ने के लिए। 1. केस कई तर्क स्वीकार कर सकता है: उदा। केस "एवेन्यू", "Ave." 2. मामला मायने रखता है। अपनी तुलना के साथ लेंस या यूकेज़ का प्रयोग करें – ray

1

चूंकि स्ट्रिंग "नॉर्थ" सड़क नाम की शुरुआत हो सकती है, उदा। "उत्तरी बुल्वार्ड", सड़क की दिशा हमेशा सड़क संख्या और सड़क के नाम के बीच होती है, और सड़क संख्या और सड़क के नाम से अलग होती है।

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 
2

मैं इस सूत्र पढ़ रहा था और जानकारी जोड़ने के लिए भले ही यह निश्चित रूप से नहीं रह ओपी के लिए समय पर है करना चाहते हैं।

BiggerDon ऊपर रटना के साथ "एन" "उत्तर" की जगह की कठिनाई बताते हैं। "एवेन्यू" से "एवेन्यू" के साथ एक समान समस्या मौजूद है (उदाहरण के लिए "अमेरिका का एवेन्यू" अमेरिका का एवेन्यू बन जाता है: अभी भी समझ में आता है, लेकिन शायद ओपी चाहता है कि नहीं।

प्रतिस्थापन() फ़ंक्शन पूरी तरह से है संदर्भ मुक्त, लेकिन पते नहीं हैं। एक पूर्ण समाधान के संदर्भ में संदर्भ की व्याख्या करने के लिए अतिरिक्त तर्क होना आवश्यक है, और उसके बाद प्रतिस्थापन() को आवश्यकतानुसार लागू करें।

डेटाबेस में आमतौर पर पते होते हैं, और इसलिए मैं यह इंगित करना चाहता था कि संयुक्त राज्य अमेरिका के भीतर पते पर लागू ओपी की समस्या के सामान्यीकृत संस्करण को कोडिंग सटीकता समर्थन प्रणाली (सीएएसएस) द्वारा संबोधित किया गया है (हास्य!)। सीएएसएस एक डेटाबेस उपकरण है जो एक अमेरिकी पते स्वीकार करता है और मानक को पूरा करने के लिए इसे पूरा या सुधारता है यूएस डाक सेवा द्वारा निर्धारित। विकिपीडिया प्रविष्टि https://en.wikipedia.org/wiki/Postal_address_verification मूल बातें है, और अधिक जानकारी डाकघर पर उपलब्ध है: https://ribbs.usps.gov/index.cfm?page=address_info_systems

संबंधित मुद्दे