Ma'lumotni ma'lumotlar bazasiga import qilishdan oldin "tozalash" juda oddiy - axir, buning sabablaridan biri.tarMa'lumotlar bazasidan foydalanish ma'lumotlar bazasini belgilangan mezonlar bo'yicha oldindan so'rashingiz uchundir... to'g'rimi? Masalan, bir kishi “$” kiritgan fayldan ma’lumotni import qilishingiz kerak bo‘lgan, ammo boshqasi siz bu pul ekanligini biladigan tashqi vaziyatlarni qanday hal qilasiz.tary qiymati - yoki undan ham yomoni, kimdir "am" yoki "pm" ni kiritsa, lekin boshqa odam 24 soatlik soatdan foydalanadimi? Odatdagidek, muammoga yondashishning ko'plab usullari mavjud, ammo bitta yo'l - bu satr shunchaki raqamlar to'plamimi yoki unda "raqamlar bo'lmagan" yoki yo'qligini tekshirish. Kichkina VBA bilan bunday tekshirish oddiy - va bu maqola sizga qanchalik sodda ekanligini ko'rsatib beradi ...
Nima uchun biz buni qilishimiz kerak?

Buning odatiy misoli, siz ma'lumotlarni raqamli maydonga import qilishingiz kerak, ammo ma'lumotlarga qaraganingizda, ba'zilari minglab raqamlarni vergul bilan ajratganini, boshqalari valyuta belgisini qo'shganini ko'rasiz - va yana nima biladi.
Tezkor ogohlantirish so'zi!
Ma'lumotlar bazasiga tozalanmagan ma'lumotlarni import qilish juda halokatli bo'lishi mumkin - eng yaxshi holatda bu sizning hisobotingizni buzishi mumkin, eng yomoni, siz har xil narsalarning buzilishiga olib kelishi mumkin - "iflos" ma'lumotlar importiga sabab bo'lishiga yo'l qo'ymang. harakat qilmoqdalar kirish muammosini hal qilish butun hafta oxiri!
Qanday qilib alifbo belgilaridan "qutulish" mumkin
Siz, albatta, qo'lda qidirishingiz va almashtirishingiz mumkin, lekin bu vaqt talab qilishi va biror narsani o'tkazib yuborishingiz mumkin (agar siz faqat dollar belgilarini qidirayotgan bo'lsangiz, siz evro belgisini yoki vergullarni, bo'shliqlarni va hokazolarni o'tkazib yuborishingiz mumkin) . Shunday qilib, buni amalga oshirishning eng oson va ishonchli usuli Accessga quyidagi kod yordamida qiyin ishni bajarishga ruxsat berishdir.
Kodga…
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
Kod nima qiladi

Kodni sizga moslashtirish
Ko'rib turganingizdek - funksiya "uzun" ma'lumotlar turini qaytaradi - agar siz butun sonlar yoki suzuvchi nuqtalar bilan ishlayotgan bo'lsangiz, u holda ma'lumotlar bazasi uchun to'g'ri turdagi qiymatni qaytarishi uchun funktsiyani mos ravishda o'zgartirishni xohlaysiz.
Muallif kirish:
Mitchell Pond - ma'lumotlarni qayta tiklash bo'yicha mutaxassis DataNumenMa'lumotlarni qayta tiklash texnologiyalari bo'yicha jahon yetakchisi bo'lgan , Inc ta'mirlash SQL Server ma'lumotlar bazasi va excel tiklash dasturiy mahsulotlar. Qo'shimcha ma'lumot olish uchun tashrif buyuring www.datanumen.com