İyelik Eki Vba Kodu

22/06/2017, 20:03

sadooo

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
22/06/2017, 20:54

idrisy

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
22/06/2017, 22:41

sadooo

hocam nasıl kullanabilirim formda yada tabloda bunu
22/06/2017, 23:47

ozanakkaya

Merhaba, sayın @idrisyin eklediği kodun uygulanmış hali ektedir.
22/06/2017, 23:50

sadooo

(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.
23/06/2017, 00:05

idrisy

ozanakkaya hocanın cevabına istinaden kodu
Kod:
Me.Metin9 = Me.Metin13 & isimek(Me.Metin13)
eklersen isimle birlikte eki de görebilirsin.