• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

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
 
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?
 
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
 
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

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.
 
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
 
Sn.Beab05, Sn Bkcan ikinize de çok teşekkürler.
 
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
 
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
 
adnan çok güzel anlatmışsın yani benim gibi bir aceminin anlayacağı dilden teşekkürler faydalı oldu
 
Geri
Üst