Skip to main content

AccessTr.neT


Metindeki Farkı Bulma

access acemisi
access acemisi
4
310

Metindeki Farkı Bulma

#4
Access'i bir kelime işlemci gibi kullanmaya çalışmanız hatalı. Zira Access'de formlar, tablolar, raporlar ve denetimlerde metinler Plain Text formatında saklanır. Bahsettiğiniz gibi bir çalışma yapabilmeniz için öncelikle tablonuzda fark_gorunum ve eklenen_metin alanlarının biçiminin zengin metin olarak ayarlanması, formunuzdaki textboxların biçiminin de aynı şekilde zengin metin olarak ayarlanması gerekir. Ancak handikap şudur: Zengin Metin opsiyonu biçimlendirme özellliği olarak Access içinde yer alsa da, örneğin bir kelime işlemcisi Word gibi başarılı değildir ve bu yönüyle hatalı sonuç vermeye çok açıktır.
Bu ayarlamalarınızı yaptıktan sonra metin_iki textboxının AfterUpdate olayında
Private Sub metin_iki_AfterUpdate()
    Dim StrTxt1 As String, StrTxt2 As String, StrDiff As String, StrAdd As String
    Dim i As Integer, j As Integer
    Dim BoolDiff As Boolean
   
    ' Textbox değerlerini al
    StrTxt1 = Me.metin_bir.Value
    StrTxt2 = Me.metin_iki.Value
   
    ' Fark gösterimini ve eklenen metni değişken olarak belirle
    Me.fark_gorunum.Value = ""
    Me.eklenen_metin.Value = ""
    StrDiff = ""
    StrAdd = ""
   
    ' Metin_iki içinde bulunan farklı kısımları belirle
    For i = 1 To Len(StrTxt2)
        BoolDiff = False
        For j = 1 To Len(StrTxt1)
            ' Metin_iki'deki karakter metin_bir'de bulunuyorsa devam et
            If Mid(StrTxt2, i, 1) = Mid(StrTxt1, j, 1) Then
                BoolDiff = True
                Exit For
            End If
        Next j
        ' Metin_iki'de bulunan ancak metin_bir'de bulunmayan karakterler
        If Not BoolDiff Then
            ' Fark gösterimini güncelle, kırmızı renkte işaretle
            StrDiff = StrDiff & "<font color='red'>" & Mid(StrTxt2, i, 1) & "</font>"
            ' Eklenen metni güncelle
            StrAdd = StrAdd & "<font color='red'>" & Mid(StrTxt2, i, 1) & "</font>"
        Else
            ' Fark gösterimine normal karakteri ekle
            StrDiff = StrDiff & Mid(StrTxt2, i, 1)
        End If
    Next i
    ' Farkgorunum ve eklenen_metin textboxlarını güncelle
    Me.fark_gorunum.Value = StrDiff
    Me.eklenen_metin.Value = StrAdd
End Sub
gibi bir kodla istediğinizi yapabilirsiniz. Ancak belirttiğim üzere Access kelime işlemci değildir bu tip bir yaklaşım uygulamanın yapısına uygun bir çalışma olmayacaktır.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da

Bu Konudaki Yorumlar
Metindeki Farkı Bulma - Yazar: access acemisi - 19/04/2024, 05:40
RE: Metindeki Farkı Bulma - Yazar: atoykan - 19/04/2024, 11:55
Re: Metindeki Farkı Bulma - Yazar: access acemisi - 19/04/2024, 14:28
RE: Metindeki Farkı Bulma - Yazar: atoykan - 20/04/2024, 17:28
Re: Metindeki Farkı Bulma - Yazar: access acemisi - 11/05/2024, 11:18
Task