Büyük harfe çevirme sorunu

Katılım
16 Mart 2005
Mesajlar
132
Excel Vers. ve Dili
Office 2003 (Eng. )
merhaba,
Aşağıdaki sql cümlesi ile "i" harflerini "İ" yani büyük harfe çevirmeye çalışıyorum.
Çalıştırdığımda küçük "i" harflerini büyük "İ" harfine çeviriyor burada sorun yok fakat
mesela IŞIK kelimesini "İŞİK" haline çeviriyor.
Bunu nasıl düzeltebilirim?
Saygılar...

strsql = "UPDATE [Table1] SET [Table1].AD = Replace([table1]!AD,'i','İ';"
DoCmd.RunSQL strsql
 
Katılım
16 Mart 2005
Mesajlar
132
Excel Vers. ve Dili
Office 2003 (Eng. )
merhaba,
Aşağıdaki sql cümlesi ile "i" harflerini "İ" yani büyük harfe çevirmeye çalışıyorum.
Çalıştırdığımda küçük "i" harflerini büyük "İ" harfine çeviriyor burada sorun yok fakat
mesela IŞIK kelimesini "İŞİK" haline çeviriyor.
Bunu nasıl düzeltebilirim?
Saygılar...

strsql = "UPDATE [Table1] SET [Table1].AD = Replace([table1]!AD,'i','İ';"
DoCmd.RunSQL strsql
yardımcı olabilirmisiniz?
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın MURATT,

Gördüğünüz gibi fonksiyon yetetsiz kalmaktadır. Yeni fonksiyon yazılması gerekiyor.

Bir ara yazmıştım şimdi bulamıyorum.

Örneğinizi ekleyin üstünde yapayım.

İyi çalışmalar
 
Katılım
26 Ekim 2006
Mesajlar
169
Excel Vers. ve Dili
office 2003
forumdaki örnekler arasında mevcuttu. istediğiniz gibi ışık yazınca IŞIK olarak çeviriyor.

iyi çalışmalar

Private Sub alan1_AfterUpdate()
Dim metin, uce, UCaseEx, A
On Error GoTo hata
metin = Me.alan1
For uce = 1 To Len(metin)

If Asc(Mid(metin, uce, 1)) = 105 Then metin = Left(metin, uce - 1) & "İ" & Mid(metin, uce + 1)
If Asc(Mid(metin, uce, 1)) = 253 Then metin = Left(metin, uce - 1) & "I" & Mid(metin, uce + 1)

Next uce
uce = 0
UCaseEx = UCase(metin)
Me.alan1 = Trim(UCaseEx)

hata:
Exit Sub
End Sub
 

Ekli dosyalar

Katılım
16 Mart 2005
Mesajlar
132
Excel Vers. ve Dili
Office 2003 (Eng. )
forumdaki örnekler arasında mevcuttu. istediğiniz gibi ışık yazınca IŞIK olarak çeviriyor.

iyi çalışmalar
merhaba öncelikle teşekkürler yalnız ben bunu tek tek formda girerek değil de bir database içindeki verileri toplu olarak düzeltmek için istiyorum.
 

beab05

Özel Üye
Katılım
19 Mart 2007
Mesajlar
1,418
Excel Vers. ve Dili
Office 2013
Merhabalar;

Yukarıdaki kodu fonksiyona çevirdim böylece global olarak kullanabilirsiniz. İster sorguda ister form alanlarında..
Kodu bir module kopyalayınız. Kullanımı ise, örneğin yine sizin update sorgunuza göre;

Kod:
strsql = "UPDATE [Table1] SET [Table1].AD = harfler(AD);"
DoCmd.RunSQL strsql
Modul kodları;

Kod:
Public Function harfler(alan As String) As String

Dim uce, UCaseEx, A
On Error GoTo hata

For uce = 1 To Len(alan)

If Asc(Mid(alan, uce, 1)) = 105 Then alan = Left(alan, uce - 1) & "İ" & Mid(alan, uce + 1)
If Asc(Mid(alan, uce, 1)) = 253 Then alan = Left(alan, uce - 1) & "I" & Mid(alan, uce + 1)

Next uce
uce = 0
UCaseEx = UCase(alan)
alan = Trim(UCaseEx)
harfler = alan
hata:
Exit Function

End Function
 
Katılım
16 Mart 2005
Mesajlar
132
Excel Vers. ve Dili
Office 2003 (Eng. )
Sn.Beab05, Sn Bkcan ikinize de çok teşekkürler.
 
Katılım
2 Şubat 2008
Mesajlar
65
Excel Vers. ve Dili
office 2010
aynı soeun bendede var ama bu kodları nereye koyacağımızı biraz ayrıntılı olarak yazarsanız sevinirim çünkü iki tane kod var. teşekkürler
 
Katılım
19 Eylül 2008
Mesajlar
331
Excel Vers. ve Dili
2003
sayın apobaba beab05 çok güzel anlatmış önce bir tane modül aç
içine
Public Function harfler(alan As String) As String

Dim uce, UCaseEx, A
On Error GoTo hata

For uce = 1 To Len(alan)

If Asc(Mid(alan, uce, 1)) = 105 Then alan = Left(alan, uce - 1) & "İ" & Mid(alan, uce + 1)
If Asc(Mid(alan, uce, 1)) = 253 Then alan = Left(alan, uce - 1) & "I" & Mid(alan, uce + 1)

Next uce
uce = 0
UCaseEx = UCase(alan)
alan = Trim(UCaseEx)
harfler = alan
hata:
Exit Function

End Function
kodlarını kopyala yapıştır kaydet ve çık
sonra formunu aç
en kolayı sen bir tane komut düğmesi koy
hangi alanın harflerini güncelleyeceksen onu tespit ed mesala tablo1 in adı ve soyadı alanı
sonra
düğmenin komut satırına

strsql = "UPDATE [Table1] SET [Table1].AD = harfler(buraya herfi güncelleyeceğin alan Adı ve Soyadı gibi);"
yaz ve düğmeye bas çalışsın kolay gelsin

DoCmd.RunSQL strsql
 
Katılım
2 Şubat 2008
Mesajlar
65
Excel Vers. ve Dili
office 2010
adnan çok güzel anlatmışsın yani benim gibi bir aceminin anlayacağı dilden teşekkürler faydalı oldu
 
Üst