Access SQL
[MAKRO] Access' Te Tc Kimlik Nolarının Sonundaki Boşlukları Temizleme - Yazdırılabilir Sürüm

+- Access SQL (https://www.access-sql.com)
+-- Forum: ACCESS SORULARI VE ÖRNEK UYGULAMALARI (https://www.access-sql.com/Forum-ACCESS-SORULARI-VE-ORNEK-UYGULAMALARI)
+--- Forum: ACCESS SORULARI (https://www.access-sql.com/Forum-ACCESS-SORULARI)
+--- Konu: [MAKRO] Access' Te Tc Kimlik Nolarının Sonundaki Boşlukları Temizleme (/Konu-Access-Te-Tc-Kimlik-Nolarinin-Sonundaki-Bosluklari-Temizleme)



Access' te TC Kimlik Nolarının sonundaki boşlukları temizleme - turannet - 26-11-2023

Merhabalar.
Özel bir yazılım aracılığıyla girilen veriler, bir çok tablodan oluşan Access veri tabanı dosyasında tutulmaktadır.
Bunlardan "Malik" tablosu içerisinde, veri türü: kısa metin olan "VergiNo" alanında TC Kimlik Noları yer almaktadır.Bu veriler bahsettiğim yazılıma elle doğrudan veya copy/ paste şeklinde girilebilmektedir.Ancak copy/ paste yoluyla girilen TC Kimlik Nolarının sonunda "1 satır boşluk" oluşmaktadır.
Excellde  ufak tefek makro çalışmalarım olsa da Access makro konusunda hiç bir fikrim yoktur.
Excell' de kullandığımız "mid" fonksiyonu ile Access' te de verilerin sonundaki boşlukları temizleyebilirmiyiz.

Access çalışma dosyamda veriler şu şekilde yer almaktadır.
PROJE ADI: Çok sayıda tablolar içermektedir.
TABLO ADI : Malik (Çok sayıda alandan oluşmaktadır)
ALAN ADI: VergiNo (Sonunda boşluk olan TCKN'ler olduğu gibi boşluk olmayan/ hatasız TCKN'lerden oluşmaktadır)


Teşekkürler


RE: Access' te TC Kimlik Nolarının sonundaki boşlukları temizleme - dsezgin - 27-11-2023

(26-11-2023, 22:27)turannet demiş ki: copy/ paste yoluyla girilen TC Kimlik Nolarının sonunda "1 satır boşluk" oluşmaktadır.

Visual Basic
  1. Private Sub VergiNo_AfterUpdate()
  2. me.VergiNo=replace(me.VergiNo," ","")
  3. end sub



Sorgu ile tum verinin degistirilmesi(Yedek Almayi unutmayin)
SQL
  1. UPDATE TabloAdi SET TabloAdi.VergiNo= REPLACE([VergiNo]," ","");





RE: Access' te TC Kimlik Nolarının sonundaki boşlukları temizleme - turannet - 27-11-2023

(27-11-2023, 09:25)dsezgin demiş ki: Sorgu ile tum verinin degistirilmesi(Yedek Almayi unutmayin)
Visual Basic
  1. UPDATE TabloAdi SET TabloAdi.VergiNo= Replace([VergiNo]," ","");


Sezgin bey teşekkür ederim öncelikle.
Ekran görüntüsünü inceleyebilirseniz SQL sorgu ile yapmak istedim ama malesef TCKN'lerde bir düzelme olmadı.
Eksik ne olabilir.
Teşekkürler.


RE: Access' Te Tc Kimlik Nolarının Sonundaki Boşlukları Temizleme - dsezgin - 27-11-2023

Demek ki verinin sonundaki boşluk değilmiş, Tab veya yeni satir vb. değer olabilir.
SQL
  1. UPDATE Malik SET Malik.VergiNo = Mid([VergiNo],1,11);


VergiNo alan veri uzunluğu 11 hane ise Mid(... kullanabilirsiniz.


RE: Access' Te Tc Kimlik Nolarının Sonundaki Boşlukları Temizleme - turannet - 27-11-2023

(27-11-2023, 11:27)dsezgin demiş ki: Demek ki verinin sonundaki boşluk değilmiş, Tab veya yeni satir vb. değer olabilir.
Visual Basic
  1. UPDATE Malik SET Malik.VergiNo = Mid([VergiNo],1,11);


VergiNo alan veri uzunluğu 11 hane ise Mid(... kullanabilirsiniz.

Aynen "1 satır şeklinde" boşluk var
Yukardaki kod çalıştı.
Peki bu kodu harici bir Access dosyasından çalıştırarak (yani verilerimin olduğu Access dosyasına SQL Sorgusu eklemeden ve dosyanın olduğu dizini göstermek suretiyle) TCKN' leri düzeltebilirmiyiz.Ya da tüm bu işlemleri excell makro ile yapabilirmiyiz.
Teşekkürler


RE: Access' Te Tc Kimlik Nolarının Sonundaki Boşlukları Temizleme - dsezgin - 27-11-2023

1. Malik tablosu VergiNo alan uzunluğunu 11 yapabilirsin.
2. Excel'den veri al şablonuyla tabloya alabilirsin.
3. VBA da Docmd.transferspreadsheet......... ile excel dosyasına bağlanıp, tabloya ekleme sorusuyla dahil edilebilir.

NOT: Sorularını, konuya örnek dosya ile destek verebilirsiniz.