AccessTr.neT

Tam Versiyon: İyelik Eki Vba Kodu
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Arkadaşlar merhaba çok aradım ancak herhangi bir kaynak bulamadım. yaptığım evrak programında isimlere gelen ekleri bulmanın bir yolu varmıdır. bir örnek ekledim. nasıl olduğu önemli değil ister tabloda yapsın ister sadece eki bulsun. elinde konuyla ilgili örneği olan varmı. bir arkadaştan aşşağıdaki kodu buldum ama çalışmadı.


Public Function taki1(kelime As String)
Dim t As String
If (Right(kelime, 1) = "A" Or Right(kelime, 1) = "I") Then t = "'nın"
If (Right(kelime, 1) = "E" Or Right(kelime, 1) = "İ") Then t = "'nin"
If (Right(kelime, 1) = "O" Or Right(kelime, 1) = "U") Then t = "'nun"
If (Right(kelime, 1) = "Ö" Or Right(kelime, 1) = "Ü") Then t = "'nün"
If (Left(Right(kelime, 2), 1) = "A" Or Left(Right(kelime, 2), 1) = "I") Then t = "'ın"
If (Left(Right(kelime, 2), 1) = "E" Or Left(Right(kelime, 2), 1) = "İ") Then t = "'in"
If (Left(Right(kelime, 2), 1) = "O" Or Left(Right(kelime, 2), 1) = "U") Then t = "'un"
If (Left(Right(kelime, 2), 1) = "Ö" Or Left(Right(kelime, 2), 1) = "Ü") Then t = "'ün"
If (Left(Right(kelime, 3), 1) = "A" Or Left(Right(kelime, 3), 1) = "I") Then t = "'ın"
If (Left(Right(kelime, 3), 1) = "E" Or Left(Right(kelime, 3), 1) = "İ") Then t = "'in"
If (Left(Right(kelime, 3), 1) = "O" Or Left(Right(kelime, 3), 1) = "U") Then t = "'un"
If (Left(Right(kelime, 3), 1) = "Ö" Or Left(Right(kelime, 3), 1) = "Ü") Then t = "'ün"
taki1 = t
End Function
Ben bunun için şöyle bir modül hazırlamıştım.
Kod:
Function isimek(kelime As String) As String
   If Trim(Mid(kelime, (Len(kelime) - 1), 1)) = "A" Then
isimek = "'ın"
ElseIf Trim(Mid(kelime, (Len(kelime) - 1), 1)) = "I" Then
isimek = "'ın"
ElseIf Trim(Mid(kelime, (Len(kelime) - 1), 1)) = "E" Then
isimek = "'in"
ElseIf Trim(Mid(kelime, (Len(kelime) - 1), 1)) = "İ" Then
isimek = "'in"
ElseIf Trim(Mid(kelime, (Len(kelime) - 1), 1)) = "İ" Then
isimek = "'in"
ElseIf Trim(Mid(kelime, (Len(kelime) - 1), 1)) = "O" Then
isimek = "'un"
ElseIf Trim(Mid(kelime, (Len(kelime) - 1), 1)) = "Ö" Then
isimek = "'ün"
ElseIf Trim(Mid(kelime, (Len(kelime) - 1), 1)) = "U" Then
isimek = "'un"
ElseIf Trim(Mid(kelime, (Len(kelime) - 1), 1)) = "Ü" Then
isimek = "'ün"

ElseIf Trim(Mid(kelime, (Len(kelime)), 1)) = "A" Then
isimek = "'nın"
ElseIf Trim(Mid(kelime, (Len(kelime)), 1)) = "I" Then
isimek = "'nın"
ElseIf Trim(Mid(kelime, (Len(kelime)), 1)) = "E" Then
isimek = "'nin"
ElseIf Trim(Mid(kelime, (Len(kelime)), 1)) = "İ" Then
isimek = "'nin"
ElseIf Trim(Mid(kelime, (Len(kelime)), 1)) = "U" Then
isimek = "'nun"
ElseIf Trim(Mid(kelime, (Len(kelime)), 1)) = "Ü" Then
isimek = "'nün"

ElseIf Trim(Mid(kelime, (Len(kelime) - 2), 1)) = "A" Then
isimek = "'ın"
ElseIf Trim(Mid(kelime, (Len(kelime) - 2), 1)) = "I" Then
isimek = "'ın"
ElseIf Trim(Mid(kelime, (Len(kelime) - 2), 1)) = "E" Then
isimek = "'in"
ElseIf Trim(Mid(kelime, (Len(kelime) - 2), 1)) = "İ" Then
isimek = "'in"
ElseIf Trim(Mid(kelime, (Len(kelime) - 2), 1)) = "İ" Then
isimek = "'in"
ElseIf Trim(Mid(kelime, (Len(kelime) - 2), 1)) = "O" Then
isimek = "'un"
ElseIf Trim(Mid(kelime, (Len(kelime) - 2), 1)) = "Ö" Then
isimek = "'ün"
ElseIf Trim(Mid(kelime, (Len(kelime) - 2), 1)) = "U" Then
isimek = "'un"
ElseIf Trim(Mid(kelime, (Len(kelime) - 2), 1)) = "Ü" Then
isimek = "'ün"

End If
End Function
hocam nasıl kullanabilirim formda yada tabloda bunu
Merhaba, sayın @idrisyin eklediği kodun uygulanmış hali ektedir.
(22/06/2017, 23:47)ozanakkaya yazdı: [ -> ]Merhaba, sayın @idrisyin eklediği kodun uygulanmış hali ektedir.

Hocam nasıl teşekkür edeceğimi bilemedim elinize sağlık.
ozanakkaya hocanın cevabına istinaden kodu
Kod:
Me.Metin9 = Me.Metin13 & isimek(Me.Metin13)
eklersen isimle birlikte eki de görebilirsin.