Kullanıcı Adına Göre Textbox Veri Kaynağını Değiştirmek

1 2
25/03/2020, 07:03

accessman

Başlıktan da net bir şekilde anlaşıldığı gibi
İlişkili Bir form var içinde birden çok metin kutusu var
Metin kutularından birisi
Admin açınca farklı bir alanı mesela kaydın gerçek zamanını
kullanıcı açınca başka bir alanı mesela manuel girilen zamanı
Ziyaretçi açınca da hiç bir alanı göstermeyecek
Bunu visible özelliği ile yapabilirim ama bunu sormuyorum
Nasılki runtime listbox satır kaynağını değiştirebiliyoruz
Metin kutusu içinde bu yapılabilir mi
Kutu gözükecek ama adamına göre veri kaynağı değişecek
25/03/2020, 11:18

berduş

kaba bir tabir yaklaşımla aşağıdaki gibi yapılabilir
Me.Metin2.ControlSource = "=" & Me.Acilan_Kutu0
ben burada açılan kutudaki değer değiştiğinde metin alanının kaynağını değiştirecek şekilde yaptım
burada 2 sütunlu bir açılır kutu kullandım açılır kutunun ilk sütunu alan adı 2. sütunu ise admin /kullanıcı/ziyaretçi
ama siz giriş ekranlı bir çalışmada kullanıcı kimliğini kullanıp ona göre alanı alabilirsiniz
25/03/2020, 11:43

accessman

teşekkürler sn. @berduş
bunu tablodaki alanlardan biri olarak yazacak olsaydık nasıl yazacaktık mesela 
if(usertype="admin")then
Me.Metin2.ControlSource = isim '(tablodaki alan)
else
Me.Metin2.ControlSource = soyisim '(tablodaki alan)
end if
25/03/2020, 11:51

ozanakkaya

Siz direk sormak yerine örnek uygulamanızda

Me.Metin2.ControlSource = "Alan1"

Şeklinde deneme yapmıyor musunuz??
25/03/2020, 12:06

accessman

bu kod ile yetkisiz kişiler için bazı metin kutularınının içeriğini gizledik diyelim sonra yetkili kişi için her metin kutusunun ControlSource değerine  tek tek alan mı tanımlayacağız
Dim ctl As Control
    For Each ctl In Me.Form
        If InStr(1, ctl.Tag, tagname) <> 0 Then
            If ctl.ControlType = acTextBox Or ctl.ControlType = acComboBox Then
                ctl.Enabled = deger
                ctl.ControlSource = "=****"
            ElseIf ctl.ControlType = acOptionGroup Or ctl.ControlType = acCheckBox Then
                ctl.Enabled = deger
                ctl.Value = Null
            Else
                ctl.Enabled = True
            End If
        End If
    Next ctl
    Set ctl = Nothing
25/03/2020, 12:34

accessman

şöyle yapınca daha kolay oldu
ctl.ControlSource = ctl.name
1 2