Skip to main content

AccessTr.neT


Maskeleme

Maskeleme

#4
Sayın @C*e*l*o*y*c*e ve Sayın @onur_can Hocalarımızın tavsiye ettiği kodlara ek olarak yapmak istediğiniz isim uzunluğu kadar ve Ad - Soyadı ayrı ayrı maskelemek gördüğüm kadarı ile. Bu durumda 2 adı veya 2 soyadı olanlar için ne olacak sorusu sorulmalı?

Örneğin raporunuza Masked_Adi Soyadi adlı bir textbox ekleyip Adi_Soyadi adlı textboxı sadece kontrol için kullanırsanız mesela Report Open olayında şöyle bir kod kullanılabilir:
    Dim AdSoyad As String, Ad1 As String, Ad2 As String, Soyad As String
    Dim Ad1Maske As String, Ad2Maske As String, SoyadMaske As String
    Dim Spacing As Integer
   
    AdSoyad = Me.Adi_Soyadi
    Spacing = InStr(AdSoyad, " ")

    If Spacing > 0 Then
        '2 Ad veya 2 Soyad varsa durumu
        Ad1 = Left(AdSoyad, Spacing - 1)    'İlk adı ayırır
        AdSoyad = Mid(AdSoyad, Spacing + 1)
        Spacing = InStr(AdSoyad, " ")

    If Spacing > 0 Then
        Ad2 = Left(AdSoyad, Spacing - 1)    'İkinci adı ve soyadı ayırır
        Soyad = Mid(AdSoyad, Spacing + 1)
            Ad1Maske = Left(Ad1, 3) & String(Len(Ad1) - 3, "*")    'Ad1 için maskeleme yapar
            Ad2Maske = Left(Ad2, 3) & String(Len(Ad2) - 3, "*")    'Ad2 için maskeleme yapar
            SoyadMaske = Left(Soyad, 3) & String(Len(Soyad) - 3, "*")    'Soyad için maskeleme yapar
            Me.Masked_Adi_Soyadi = Ad1Maske & " " & Ad2Maske & " " & SoyadMaske    'Sonuçları birleştirip yazar
        Else
            'Sadece 1 Ad ve 1 Soyad varsa durumu
            Ad2 = AdSoyad
            Ad2Maske = Left(Ad2, 3) & String(Len(Ad2) - 3, "*")
            Me.Masked_Adi_Soyadi = Ad1Maske & " " & Ad2Maske
        End If
    Else
        'Eğer boşluk yoksa tam ad olarak kabul ederek sadece adı maskeleme durumu
        Me.Masked_Adi_Soyadi = Left(AdSoyad, 3) & String(Len(AdSoyad) - 3, "*")
    End If
End Sub

Ancak maskelemede güvenlik için isim uzunluğu kadar bir maskeleme yapmak yerine belirli bir formatta maskeleme yapmak, Ayrıca ilk 3 karakter  yerine 1 veya 2. karakterden sonra maskeleme yapmak daha doğrudur, zira üç harften yola çıkarak isim uzunluğundan tahminde bulunmak kolaydır ve ayrıca 3 harfli isimler maskelenmeden gösterilir. Bu hususlara dikkat etmeniz gerekli.
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
Maskeleme - Yazar: evren89 - 12/07/2024, 09:16
RE: Maskeleme - Yazar: C*e*l*o*y*c*e - 12/07/2024, 12:59
RE: Maskeleme - Yazar: onur_can - 12/07/2024, 13:40
RE: Maskeleme - Yazar: atoykan - 15/07/2024, 16:06
RE: Maskeleme - Yazar: evren89 - 15/07/2024, 16:15
Task