Cara Memeriksa apakah String Berisi Karakter Alfabet (Non-Numerik) melalui Access VBA

Bagikan sekarang:

"Membersihkan" informasi sebelum mengimpornya ke dalam basis data Anda adalah hal yang cukup standar – lagipula, salah satu alasan Anda mulai menggunakan basis data adalah agar Anda dapat secara terprediksi melakukan kueri basis data tersebut untuk kriteria yang telah ditetapkan, bukan? Jadi, bagaimana Anda menangani situasi eksternal di mana, misalnya, Anda harus mengimpor informasi dari file di mana satu orang memasukkan "$" tetapi orang lain menganggap Anda tahu itu adalah nilai mata uang – atau lebih buruk lagi, di mana seseorang memasukkan "am" atau "pm" tetapi orang lain menggunakan format jam 24 jam? Seperti biasa, ada banyak cara untuk mendekati masalah ini, tetapi salah satu caranya adalah dengan memeriksa apakah sebuah string hanya berupa kumpulan angka, atau apakah string tersebut berisi "non-angka". Dengan sedikit VBA, pemeriksaan semacam ini mudah dilakukan – dan artikel ini akan menunjukkan betapa mudahnya...

Mengapa kita perlu melakukan ini?

Karakter DataJika Anda mengimpor informasi apa pun yang tidak dapat Anda kendalikan cara pemasukan atau pengambilannya, Anda pasti sudah sering menemui masalah ini sebelumnya – orang memasukkan detail dengan cara yang paling nyaman bagi mereka, bukan dengan cara yang seragam. Ini berarti hanya masalah waktu sebelum Anda harus... membuat itu seragam sebelum Anda dapat mengimpornya.

Contoh tipikal dari ini adalah di mana Anda perlu mengimpor data ke dalam bidang numerik tetapi ketika Anda melihat data Anda melihat bahwa beberapa telah memisahkan ribuan dengan koma, yang lain telah menambahkan tanda mata uang - dan entah apa lagi.

Sebuah kata peringatan cepat!

Mengimpor data yang belum dibersihkan ke dalam database Anda bisa sangat berbahaya - paling banter ini dapat merusak pelaporan Anda, lebih buruk lagi Anda bisa berakhir dengan segala macam hal yang rusak - jangan biarkan impor data "kotor" menjadi alasan Anda sedang mencoba memperbaiki masalah akses sepanjang akhir pekan!

Bagaimana cara "menghilangkan" karakter alfabet

Anda dapat melakukan pencarian dan mengganti secara manual tentu saja, tetapi melakukan itu dapat memakan waktu dan Anda mungkin melewatkan sesuatu (jika Anda hanya mencari, misalnya, tanda dolar, Anda mungkin kehilangan tanda euro atau koma, spasi dll) . Jadi, cara termudah dan lebih andal untuk melakukannya adalah dengan mengizinkan Access bekerja keras menggunakan kode di bawah ini.

Ke kode…

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

Apa fungsi kode itu

Kode VBAFungsi di sini sangat sederhana. Yang kita lakukan hanyalah mengulang string yang diberikan, satu karakter per satu. Jika karakter tersebut berupa angka, maka kita menambahkannya ke string sementara kita, dan setelah selesai kita mengubahnya menjadi tipe data "long".

Menyesuaikan kode agar sesuai dengan Anda

Seperti yang Anda lihat - fungsi mengembalikan tipe data "panjang" - jika Anda bekerja dengan bilangan bulat, atau titik mengambang, dll. Maka Anda ingin mengubah fungsi yang sesuai sehingga mengembalikan jenis nilai yang tepat untuk database Anda.

Pengantar Penulis:

Mitchell Pond adalah pakar pemulihan data di DataNumen, Inc., yang merupakan pemimpin dunia dalam teknologi pemulihan data, termasuk memperbaiki SQL Server Database dan unggul dalam produk perangkat lunak pemulihan. Untuk informasi lebih lanjut kunjungi www.datanumen.com

Bagikan sekarang:

Komentar ditutup.