როგორ შევამოწმოთ, შეიცავს თუ არა სტრიქონი ანბანურ (არაციფრულ) სიმბოლოს Access VBA-ს საშუალებით

გააზიარე ახლა:

ინფორმაციის „გასუფთავება“ მონაცემთა ბაზაში მის იმპორტამდე საკმაოდ სტანდარტულია - ბოლოს და ბოლოს, ერთ-ერთი მიზეზი, რის გამოც მონაცემთა ბაზის გამოყენება დაიწყეთ, არის ის, რომ შეძლოთ ამ მონაცემთა ბაზაში დადგენილი კრიტერიუმების პროგნოზირება, არა... არა? მაშ, როგორ უმკლავდებით გარე სიტუაციებს, მაგალითად, როდესაც ინფორმაციის იმპორტი გიწევთ ფაილიდან, სადაც ერთი ადამიანი შეიყვანს „$“, მაგრამ მეორე ვარაუდობს, რომ თქვენ იცით, რომ ეს ფულადი ღირებულებაა - ან უარესი, როდესაც ვიღაც შეიყვანს „am“ ან „pm“, მაგრამ მესამე ადამიანი იყენებს 24-საათიან საათს? როგორც წესი, პრობლემის მოგვარების მრავალი გზა არსებობს, მაგრამ ერთ-ერთი გზაა იმის შემოწმება, არის თუ არა სტრიქონი მხოლოდ რიცხვების ნაკრები, თუ შეიცავს რაიმე „არარიცხვს“. მცირე VBA-ს გამოყენებით, ამ ტიპის შემოწმება მარტივია - და ეს სტატია გაჩვენებთ, თუ რამდენად მარტივია...

რატომ გვჭირდება ამის გაკეთება?

მონაცემთა სიმბოლოებითუ თქვენ ახორციელებთ რაიმე სახის ინფორმაციის იმპორტს, რომლის შეყვანის ან ამოღების კონტროლი არ გაქვთ, მაშინ ამ პრობლემას ადრეც ბევრჯერ (ბევრჯერ!) წააწყდით - ადამიანები დეტალებს ისე შეიყვანენ, როგორც მათთვის ყველაზე კომფორტულია და არა ერთგვაროვანი გზით. ეს ნიშნავს, რომ მხოლოდ დროის საკითხია, სანამ თქვენც მოგიწევთ ამის გაკეთება. მიიღოს ის ერთგვაროვანია, სანამ მის შემოტანას შეძლებთ.

ამის ტიპიური მაგალითია, როდესაც თქვენ გჭირდებათ მონაცემების იმპორტი ციფრულ ველში, მაგრამ როდესაც მონაცემებს უყურებთ, ხედავთ, რომ ზოგიერთმა გამოყო ათასობით მძიმით, ზოგმა დაამატა ვალუტის ნიშანი - და ვინ იცის, კიდევ რა.

სწრაფი სიფრთხილის სიტყვა!

მონაცემთა იმპორტი, რომელიც არ არის გასუფთავებული თქვენს მონაცემთა ბაზაში, შეიძლება საკმაოდ დამღუპველი იყოს – საუკეთესო შემთხვევაში, ამან შეიძლება შეაფერხოს თქვენი მოხსენება, უარეს შემთხვევაში, თქვენ შეიძლება დასრულდეს ყველა სახის გაფუჭება – ნუ მისცემთ უფლებას „ბინძური“ მონაცემების იმპორტი გახდეს მიზეზი. ვცდილობ წვდომის პრობლემის მოგვარება მთელი შაბათ-კვირა!

როგორ „მოვიშოროთ“ ანბანური სიმბოლოები

თქვენ შეგიძლიათ მოძებნოთ და შეცვალოთ ხელით, რა თქმა უნდა, მაგრამ ამის გაკეთებას შეიძლება დრო დასჭირდეს და შეიძლება გამოგრჩეთ რაღაც (თუ თქვენ მხოლოდ ეძებთ, მაგალითად, დოლარის ნიშნებს, შეიძლება გამოგრჩეთ ევროს ნიშანი ან მძიმეები, ინტერვალი და ა.შ.) . ასე რომ, ამის გაკეთების უმარტივესი და საიმედო გზაა ნება მიეცით Access-ს შეასრულოს მძიმე სამუშაო ქვემოთ მოცემული კოდის გამოყენებით.

კოდზე…

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

რასაც კოდი აკეთებს

VBA კოდიფუნქცია აქ ძალიან მარტივია. ჩვენ უბრალოდ გადაცემულ სტრიქონში ციკლურად გავლას ვაკეთებთ, თითო სიმბოლოზე. თუ სიმბოლო რიცხვია, მაშინ მას ჩვენს დროებით სტრიქონს ვუმატებთ და დასრულების შემდეგ მას „გრძელ“ სიმბოლოდ გარდავქმნით.

კოდის მორგება თქვენთვის

როგორც ხედავთ - ფუნქცია აბრუნებს მონაცემთა ტიპს "long" - თუ თქვენ მუშაობთ მთელ რიცხვებთან, ან მცურავ წერტილებთან და ა.შ., თქვენ მოგინდებათ შეცვალოთ ფუნქცია შესაბამისად ისე, რომ მან დააბრუნოს თქვენი მონაცემთა ბაზის მნიშვნელობის სწორი ტიპი.

ავტორი შესავალი:

მიტჩელ პონდი არის მონაცემთა აღდგენის ექსპერტი DataNumen, Inc., რომელიც მსოფლიო ლიდერია მონაცემთა აღდგენის ტექნოლოგიებში, მათ შორის სარემონტო SQL Server მონაცემთა ბაზა და Excel-ის აღდგენის პროგრამული პროდუქტები. დამატებითი ინფორმაციისთვის ეწვიეთ www.datanumen. ერთად

გააზიარე ახლა:

კომენტარები დახურულია.