Lcase ve Ucase fonksiyonlarındaki i, ı ve I problemi

11/11/2008, 16:52

access_delisi

sayın site halkı,

sorguda tümü büyük yazılan kelimeleri adi_soyadi: Lcase([adi]) kodu ile küçük harfe çeviriyorum,

diğer harflerde de problem varmı bilmiyorum ama I (büyük ı) harfini i olarak küçültüyor, mesela TARIK kelimesini tarik yapıyor.

Ucase fonksiyonunda ise i harfini I yapıyor, ı harfini ise büyütmüyor, diğer harflerdede sıkıntı varmı bilmiyorum.

Yardımlarınızı irca ediyorum.
11/11/2008, 17:59

ozanakkaya

Aşağıdaki kodları modüle ekle, (kodları modüle yapıştırdıktan sonra modülü kaydettiğinden emin ol)

Option Compare Database


Public Function ilkharfbuyuk(kelime)
   kont = Len(kelime)
   If kont <> 0 Then
       harf = Mid(kelime, 1, 1)
       If Asc(harf) = 73 Or Asc(harf) = 253 Then
           ilkharfbuyuk = ilkharfbuyuk & "I"
           ElseIf Asc(harf) = 221 Or Asc(harf) = 105 Then
           ilkharfbuyuk = ilkharfbuyuk & "İ"

           ElseIf harf = "ç" Or harf = "Ç" Then
           ilkharfbuyuk = ilkharfbuyuk & "Ç"
           ElseIf harf = "ğ" Or harf = "Ğ" Then
           ilkharfbuyuk = ilkharfbuyuk & "Ğ"
           ElseIf harf = "ö" Or harf = "Ö" Then
           ilkharfbuyuk = ilkharfbuyuk & "Ö"
           ElseIf harf = "ş" Or harf = "Ş" Then
           ilkharfbuyuk = ilkharfbuyuk & "Ş"
           ElseIf harf = "ü" Or harf = "Ü" Then
           ilkharfbuyuk = ilkharfbuyuk & "Ü"
           Else
           ilkharfbuyuk = ilkharfbuyuk & UCase(harf)
       End If
       For I = 2 To Len(kelime)
           harf = Mid(kelime, I, 1)
           If eharf = "." Or eharf = " " Or eharf = "-" Or eharf = "/" Then
               If Asc(harf) = 73 Or Asc(harf) = 253 Then
                  ilkharfbuyuk = ilkharfbuyuk & "I"
                   ElseIf Asc(harf) = 221 Or Asc(harf) = 105 Then
                   ilkharfbuyuk = ilkharfbuyuk & "İ"
                   ElseIf harf = "ç" Or harf = "Ç" Then
                   ilkharfbuyuk = ilkharfbuyuk & "Ç"
                   ElseIf harf = "ğ" Or harf = "Ğ" Then
                   ilkharfbuyuk = ilkharfbuyuk & "Ğ"
                   ElseIf harf = "ö" Or harf = "Ö" Then
                   ilkharfbuyuk = ilkharfbuyuk & "Ö"
                   ElseIf harf = "ş" Or harf = "Ş" Then
                   ilkharfbuyuk = ilkharfbuyuk & "Ş"
                   ElseIf harf = "ü" Or harf = "Ü" Then
                   ilkharfbuyuk = ilkharfbuyuk & "Ü"
                   Else
                   ilkharfbuyuk = ilkharfbuyuk & UCase(harf)
               End If
               Else
               If Asc(harf) = 73 Or Asc(harf) = 253 Then
                   ilkharfbuyuk = ilkharfbuyuk & "ı"
                   ElseIf Asc(harf) = 221 Or Asc(harf) = 105 Then
                   ilkharfbuyuk = ilkharfbuyuk & "i"
                   ElseIf harf = "ç" Or harf = "Ç" Then
                   ilkharfbuyuk = ilkharfbuyuk & "ç"
                   ElseIf harf = "ğ" Or harf = "Ğ" Then
                   ilkharfbuyuk = ilkharfbuyuk & "ğ"
                   ElseIf harf = "ö" Or harf = "Ö" Then
                   ilkharfbuyuk = ilkharfbuyuk & "ö"
                   ElseIf harf = "ş" Or harf = "Ş" Then
                   ilkharfbuyuk = ilkharfbuyuk & "ş"
                   ElseIf harf = "ü" Or harf = "Ü" Then
                   ilkharfbuyuk = ilkharfbuyuk & "ü"
                   Else
                   ilkharfbuyuk = ilkharfbuyuk & LCase(harf)
               End If
           End If
           eharf = harf
       Next I
   End If
End Function

Public Function tumubuyuk(kelime)
   kont = Len(kelime)
   If kont <> 0 Then
       harf = Mid(kelime, 1, 1)
        For I = 1 To Len(kelime)
           harf = Mid(kelime, I, 1)
           If eharf = "." Or eharf = " " Or eharf = "-" Or eharf = "/" Then
               If Asc(harf) = 73 Or Asc(harf) = 253 Then
                   tumubuyuk = tumubuyuk & "I"
                   ElseIf Asc(harf) = 221 Or Asc(harf) = 105 Then
                   tumubuyuk = tumubuyuk & "İ"
                   ElseIf harf = "ç" Or harf = "Ç" Then
                   tumubuyuk = tumubuyuk & "Ç"
                   ElseIf harf = "ğ" Or harf = "Ğ" Then
                   tumubuyuk = tumubuyuk & "Ğ"
                   ElseIf harf = "ö" Or harf = "Ö" Then
                   tumubuyuk = tumubuyuk & "Ö"
                   ElseIf harf = "ş" Or harf = "Ş" Then
                   tumubuyuk = tumubuyuk & "Ş"
                   ElseIf harf = "ü" Or harf = "Ü" Then
                   tumubuyuk = tumubuyuk & "Ü"
                   Else
                   tumubuyuk = tumubuyuk & UCase(harf)
               End If
               Else
               If Asc(harf) = 73 Or Asc(harf) = 253 Then
                   tumubuyuk = tumubuyuk & "I"
                   ElseIf Asc(harf) = 221 Or Asc(harf) = 105 Then
                   tumubuyuk = tumubuyuk & "İ"
                   ElseIf harf = "ç" Or harf = "Ç" Then
                   tumubuyuk = tumubuyuk & "Ç"
                   ElseIf harf = "ğ" Or harf = "Ğ" Then
                   tumubuyuk = tumubuyuk & "Ğ"
                   ElseIf harf = "ö" Or harf = "Ö" Then
                   tumubuyuk = tumubuyuk & "Ö"
                   ElseIf harf = "ş" Or harf = "Ş" Then
                   tumubuyuk = tumubuyuk & "Ş"
                   ElseIf harf = "ü" Or harf = "Ü" Then
                   tumubuyuk = tumubuyuk & "Ü"
                   Else
                   tumubuyuk = tumubuyuk & UCase(harf)
               End If
           End If
           eharf = harf
       Next I
   End If
End Function

Public Function tumukucuk(kelime)
   kont = Len(kelime)
   If kont <> 0 Then
       harf = Mid(kelime, 1, 1)
        For I = 1 To Len(kelime)
           harf = Mid(kelime, I, 1)
           If eharf = "." Or eharf = " " Or eharf = "-" Or eharf = "/" Then
               If Asc(harf) = 73 Or Asc(harf) = 253 Then
                   tumukucuk = tumukucuk & "I"
                   ElseIf Asc(harf) = 221 Or Asc(harf) = 105 Then
                   tumukucuk = tumukucuk & "i"
                   ElseIf harf = "ç" Or harf = "Ç" Then
                   tumukucuk = tumukucuk & "ç"
                   ElseIf harf = "ğ" Or harf = "Ğ" Then
                   tumukucuk = tumukucuk & "ğ"
                   ElseIf harf = "ö" Or harf = "Ö" Then
                   tumukucuk = tumukucuk & "ö"
                   ElseIf harf = "ş" Or harf = "Ş" Then
                   tumukucuk = tumukucuk & "ş"
                   ElseIf harf = "ü" Or harf = "Ü" Then
                   tumukucuk = tumukucuk & "ü"
                   Else
                   tumukucuk = tumukucuk & LCase(harf)
               End If
               Else
               If Asc(harf) = 73 Or Asc(harf) = 253 Then
                   tumukucuk = tumukucuk & "ı"
                   ElseIf Asc(harf) = 221 Or Asc(harf) = 105 Then
                   tumukucuk = tumukucuk & "i"
                   ElseIf harf = "ç" Or harf = "Ç" Then
                   tumukucuk = tumukucuk & "ç"
                   ElseIf harf = "ğ" Or harf = "Ğ" Then
                   tumukucuk = tumukucuk & "ğ"
                   ElseIf harf = "ö" Or harf = "Ö" Then
                   tumukucuk = tumukucuk & "ö"
                   ElseIf harf = "ş" Or harf = "Ş" Then
                   tumukucuk = tumukucuk & "ş"
                   ElseIf harf = "ü" Or harf = "Ü" Then
                   tumukucuk = tumukucuk & "ü"
                   Else
                   tumukucuk = tumukucuk & LCase(harf)
               End If
           End If
           eharf = harf
       Next I
   End If
End Function

Tablodaki adi alanındaki verilerin sorguda tümünün küçük görünmesi için
TumKucAd: TumuKucuk([adi])

tümünün büyük görünmesi için

TumBuyAd: TumuBuyuk([adi])



Sadece ilk harfinin büyük, diğer harflerin küçük görünmesi için

IHarfBuyAdi: ilkharfbuyuk([adi])

kodlarını sorguya ekle


12/11/2008, 02:24

access_delisi

Sayın sledgeab, çok çok teşekkür ederim. bundan daha iyisi olamazdı.
07/11/2019, 00:02

te-kin

Bencede çok güzel ve her zaman işimize yarayacak bir fonsiyon. Teşekkürler...