Metindeki Farkı Bulma

19/04/2024, 05:40

access acemisi

Değerli Arkadaşlarım
Access öğrenmede yardımcı olacağını umduğum bir konu açtım
ekteki tabloda iki alandaki farkı ,aşağıdaki ekli şekilde görmek istiyorum.
Saygılarımla


(19/04/2024, 05:40)access acemisi yazdı: Değerli Arkadaşlarım
Access kod öğrenmede yardımcı olacağını umduğum bir konu açtım
ekteki tabloda iki alandaki farkı ,aşağıdaki ekli şekilde görmek istiyorum. Fark kırmızı olarak belirtilecek
Saygılarımla

19/04/2024, 11:55

atoykan

Ne yapmak istediğinizi daha net açıklar mısınız? Formunuzun ya da tablolarınızın işlevini anlamış değilim. Siz sorunuzu iletirken yapmak istediğinizi ve işleyiş mantığınız ifade etmeden bizim kafanızdakileri bilme şansımız yok. formunuzdaki metin_bir, metin_iki alanlarına bir aynı metni farkları bulmak için giriyorsunuz peki, fark_gorunum nedir, ne işe yarayacak, eklenen_metin sorunuz ile alakalı farkı görmek istediğiniz alanda sadece eklemeler mi görüntülenecek?
19/04/2024, 14:28

access acemisi

Sn atoykan
Tekrar bir örnek dosya gönderdim. Amacım acceste yazılan kodları Vba ..kod düzenlemelerinde yapılan değişiklikleri, bu dosyaya kopyala yapıştır yöntemiyle görmek , bir şeyler öğrenebilme. bulmak istediğim neticeyi resimde gösterdim.
selam saygılar



20/04/2024, 17:28

atoykan

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.
11/05/2024, 11:18

access acemisi

sn atoykan
sizin dediğinizi uyarlamaya çalıştım ama ,bir fark göremedim.
Eksiklerim nelerdir ? saygılar
dosyamı ekleyemedim ,nereden olacaktı bilemedim
ekle buton yok gibi