অ্যাক্সেস ভিবিএর মাধ্যমে কোনও স্ট্রিংয়ে বর্ণমালা (অ-সংখ্যাযুক্ত) অক্ষর রয়েছে কিনা তা কীভাবে পরীক্ষা করবেন

এখন শেয়ার:

আপনার ডাটাবেসে তথ্য ইম্পোর্ট করার আগে সেটিকে “পরিষ্কার” করা একটি বেশ সাধারণ ব্যাপার – সর্বোপরি, আপনি ডাটাবেস ব্যবহার শুরু করার অন্যতম কারণই হলো যাতে আপনি নির্দিষ্ট মানদণ্ডের ভিত্তিতে সেই ডাটাবেসকে অনুমানযোগ্যভাবে কোয়েরি করতে পারেন, তাই না… তাই তো? তাহলে আপনি এমন বাহ্যিক পরিস্থিতি কীভাবে সামলাবেন, যেখানে, উদাহরণস্বরূপ, আপনাকে একটি ফাইল থেকে তথ্য ইম্পোর্ট করতে হচ্ছে, যেখানে একজন ব্যক্তি “$” লিখল কিন্তু অন্যজন ধরে নিল যে আপনি জানেন এটি একটি আর্থিক মান – অথবা আরও খারাপ, যেখানে কেউ “am” বা “pm” লিখল কিন্তু অন্যজন ২৪-ঘণ্টার ঘড়ি ব্যবহার করল? যথারীতি, এই সমস্যা সমাধানের অনেক উপায় আছে, কিন্তু একটি উপায় হলো পরীক্ষা করে দেখা যে একটি স্ট্রিং শুধুমাত্র কিছু সংখ্যার সমষ্টি, নাকি এর মধ্যে কোনো “অ-সংখ্যা” রয়েছে। সামান্য VBA ব্যবহার করে এই ধরনের পরীক্ষা করা সহজ – এবং এই নিবন্ধটি আপনাকে দেখাবে যে এটি ঠিক কতটা সহজ…

কেন আমাদের এটি করা দরকার?

ডেটা অক্ষরআপনি যদি এমন কোনো তথ্য ইম্পোর্ট করেন যার প্রবেশ করানো বা বের করার পদ্ধতির উপর আপনার কোনো নিয়ন্ত্রণ নেই, তাহলে আপনি এই সমস্যার সম্মুখীন আগেও বহুবার হয়েছেন – কারণ মানুষ কোনো নির্দিষ্ট নিয়ম মেনে নয়, বরং নিজেদের সুবিধামতো তথ্য প্রবেশ করায়। এর মানে হলো, আপনাকে এই সমস্যার সম্মুখীন হতে হওয়াটা কেবল সময়ের ব্যাপার। করা আপনি এটি আমদানি করার আগে এটি অভিন্ন।

এর একটি সাধারণ উদাহরণ হ'ল যেখানে আপনাকে সংখ্যাসূচক ক্ষেত্রে ডেটা আমদানি করা দরকার তবে আপনি যখন ডেটা দেখেন তখন দেখেন যে কয়েকজন হাজার হাজারকে কমা দিয়ে আলাদা করেছেন, অন্যেরা একটি মুদ্রার চিহ্ন যুক্ত করেছে - এবং কে কী জানে।

একটি সতর্কতার শব্দ!

আপনার ডেটাবেজে পরিষ্কার না হওয়া ডেটা আমদানি করা বিপর্যয়কর হতে পারে - সর্বোপরি এটি আপনার প্রতিবেদনের উপর ঝাঁপিয়ে পড়তে পারে, আরও খারাপভাবে আপনি সমস্ত ধরণের জিনিস ভাঙা শেষ করতে পারেন - কারণ "নোংরা" ডেটা আমদানির কারণ হবেন না চেষ্টা করছি অ্যাক্সেস সমস্যা ঠিক করুন সব সপ্তাহান্তে!

বর্ণানুক্রমিক অক্ষরগুলি কীভাবে "পরিত্রাণ পান"

আপনি অবশ্যই একটি অনুসন্ধান করতে এবং অবশ্যই ম্যানুয়ালি প্রতিস্থাপন করতে পারেন, তবে এটি করতে সময় লাগতে পারে এবং আপনি ভাল কিছু মিস করতে পারেন (যদি আপনি কেবল অনুসন্ধান করছেন, উদাহরণস্বরূপ, ডলারের লক্ষণগুলির জন্য, আপনি ইউরো চিহ্ন বা কমা, স্থানগুলি মিস করতে পারেন) । সুতরাং এটি করার সবচেয়ে সহজ এবং আরও নির্ভরযোগ্য উপায় হ'ল অ্যাক্সেসটিকে নীচের কোডটি ব্যবহার করে কঠোর পরিশ্রম করতে দিন।

কোডটিতে…

Public Function removeNonNumeric(inString As String) As Long
    Dim outputString, chrString As String
    Dim strPos As Integer
    
    For strPos = 1 To Len(inString)
        chrString = Mid(inString, strPos, 1)
        If IsNumeric(chrString) Then outputString = outputString & chrString
    Next
    
    removeNonNumeric = CLng(outputString)
End Function

কোডটি কী করে

ভিবিএ কোডএখানকার ফাংশনটি খুবই সরল। এখানে আমরা শুধু পাস করা স্ট্রিংটির প্রতিটি অক্ষর ধরে ধরে লুপ চালাই। যদি অক্ষরটি একটি সংখ্যা হয়, তবে আমরা সেটিকে আমাদের টেম্পোরারি স্ট্রিং-এ যোগ করি এবং কাজ শেষ হলে সেটিকে একটি “long”-এ রূপান্তর করি।

আপনার অনুসারে কোডটি মানিয়ে নিচ্ছে

আপনি দেখতে পাচ্ছেন - ফাংশনটি "লম্বা" একটি ডাটা ধরণের রিটার্ন দেয় - আপনি যদি পূর্ণসংখ্যার সাথে কাজ করছেন বা ভাসমান পয়েন্টস ইত্যাদি নিয়ে থাকেন তবে আপনি সেই অনুযায়ী ফাংশনটি পরিবর্তন করতে চাইবেন যাতে এটি আপনার ডাটাবেসের জন্য সঠিক ধরণের মান ফেরত দেয়।

লেখকের ভূমিকা:

মিচেল পন্ড একটি তথ্য পুনরুদ্ধার বিশেষজ্ঞ is DataNumen, ইনক। যা তথ্য পুনরুদ্ধারের প্রযুক্তিগুলির সহ বিশ্বের শীর্ষস্থানীয় মেরামত SQL Server ডাটাবেজ এবং এক্সেল পুনরুদ্ধার সফ্টওয়্যার পণ্য। আরো তথ্যের জন্য, যান WWW.datanumen.com

এখন শেয়ার:

মন্তব্যসমূহ বন্ধ করা হয়.