การ "ทำความสะอาด" ข้อมูลก่อนนำเข้าสู่ฐานข้อมูลเป็นเรื่องปกติอยู่แล้ว – เพราะหนึ่งในเหตุผลที่คุณเริ่มใช้ฐานข้อมูลก็คือเพื่อให้คุณสามารถเรียกดูข้อมูลจากฐานข้อมูลได้อย่างแม่นยำตามเงื่อนไขที่กำหนดไว้ใช่ไหม…ใช่ไหม? แล้วคุณจะจัดการกับสถานการณ์ภายนอกอย่างไร เช่น เมื่อคุณต้องนำเข้าข้อมูลจากไฟล์ที่คนหนึ่งป้อน "$" แต่คนอื่นเข้าใจว่าเป็นค่าเงิน – หรือแย่กว่านั้นคือ คนหนึ่งป้อน "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
รหัสทำอะไร

การปรับรหัสให้เหมาะกับคุณ
อย่างที่คุณเห็น - ฟังก์ชันจะส่งคืนข้อมูลประเภท "ยาว" - หากคุณกำลังทำงานกับจำนวนเต็มหรือจุดลอยตัวเป็นต้นคุณจะต้องเปลี่ยนฟังก์ชันให้สอดคล้องกันเพื่อให้ส่งคืนค่าประเภทที่ถูกต้องสำหรับฐานข้อมูลของคุณ
บทนำผู้เขียน:
Mitchell Pond เป็นผู้เชี่ยวชาญด้านการกู้คืนข้อมูลใน DataNumen, Inc. ซึ่งเป็นผู้นำระดับโลกด้านเทคโนโลยีการกู้คืนข้อมูล ได้แก่ ซ่อมแซม SQL Server ฐานข้อมูล และผลิตภัณฑ์ซอฟต์แวร์กู้คืน excel ดูข้อมูลเพิ่มเติมได้ที่ wwwdatanumenด้วย.