Arkadaşlar
Hegu'nun sorusuna benim Tc Kimlik Sorgulama örneğimi eklemek istiyoruz. Ben ekledim ama bir sorunum var. Tc Kimliğini yazdığımız kişinin ad ve soyad bilgileri ayrı ayrı geldiği için adı soyadı alanında birleştirmek istiyorum. Bunun için şu yöntemleri denedim:
1- trim() kullanarak boşluklarını aldım. Belki boşluk nedeniyle alt satıra atıyordur diye düşündüm ama ilgisi yok.
2- Bana gerekli verileri mevcut metin içerisinden instr$ ile aldığım için bir de instr ile almayı denedim. Durum değişmedi.
3- Verileri değişkenlere gönderdim. ad1 ve ad2 değişkenlerine aldığım verileri daha sonra hem & ile hem de + ile birleştirmeyi denedim sonuç yine değişmedi.
4- Verileri form üzerindeki başka metin kutularına ve etiketlere aktardım. Daha sonra ad ve soyad metinkutularını veya etiketlerini bir başka metin kutusunda ve etikette birleştirdim yine olmadı.
5- Ad ve soyad değerlerini değişkenden form üzerindeki iki metin kutusuna aktardım sonra da metin kutularından tekrara bir değişkene aktardım. Onu da msgbox ile ekrana getirdim. Msgbox penceresinde bile değer alt alta görüntülendi.
6- Acaba gelen ad ve soyad bilgisi benim bilmediğim bir şekilde sayı olarak mı algılanıyor diye str() kullandım. Tabii ki hata verdi çünkü değerler string biçimdeydi.
Daha bir sürü yol denedim. Bir yeri atladım ama nereyi atladığımı bulamıyorum. Sonuç olarak neden böyle olduğunu anlayamadım. Ne dersiniz?
Örnek ekledim. Tc kimlik alanına bir tc nosu yazığ sorgulayın ve çıkan değerleri "aktar ve kapat" butonuyla ana forma aktarın. Göreceğiniz gibi Ad ve Soyad alt alta geliyor.
Metin kutusuna atılan ad ve soyadın alt alta gelmesi
Hem adı, hemde soyadının sonuna Alt+Enter'a tekabül eden, 2 karakter birden konmuş. ( Chr(13) & Chr(10) )
"Aktar ve Kapat" butonundaki ilgili kodları aşağıdaki şekilde değiştirince sorun kalmıyor.
"Aktar ve Kapat" butonundaki ilgili kodları aşağıdaki şekilde değiştirince sorun kalmıyor.
Kod:
ad1 = Left$(Me.adi, Len(Me.adi) - 2)
ad2 = Left$(Me.soyadi, Len(Me.soyadi) - 2)
adsad = ad1 & " " & ad2
Bildiğini bilenin arkasından git, bildiğini bilmeyeni uyar, bilmediğini bilene öğret, bilmediğini bilmeyenden kaç.
Konfüçyüs
Konfüçyüs
Teşekkürler Seruz
Yardımlarınla hallettim.
Yardımlarınla hallettim.
Kod:
Private Function Duzenle(ByRef str1, ByRef str2)
str1 = Replace(str1, Chr(13), "")
str1 = Replace(str1, Chr(10), "")
str2 = Replace(str2, Chr(13), "")
str2 = Replace(str2, Chr(10), "")
End Function
Kod:
ad1 = Me.adi
ad2 = Me.soyadi
Duzenle ad1, ad2
İlk önce soruya bakıp çözmüştüm. Sonradan cevap yazarken yazılanları okudum.
Seruz hocanın yazdığı kod doğru. chr(13),chr(10) da doğru, son 2 karekteri silersek bu da doğru ve hızlı. Fakat ileride başına da koyarlarsa gibi bir sıkıntı olabilir. Bu kod onu da kapsar. Ha dersen ki yaparlar mı böyle birşey sanmıyorum ama yazmış bulundum kodu savunuyorum
Bana işe yarayan bir müdür göster,sana dünyayı yerinden oynatayım.
Descartes
Descartes
Konuyu Okuyanlar: 1 Ziyaretçi