[FORM] Genel fonksiyon yazma
#1
Herkese merhaba,

Yapmak istediğim şu: Her bir formda yetkisiz kişiler tarafından veri girişini - silinmesini veya yetkili kişiler tarafından da olsa yanlışlıkla veri girişini - silinmesini önlemek amacıyla aşağıdaki gibi bir kod yazdım.

Public Sub KILITLE()
Dim ctlr As Control
On Error Resume Next
For Each ctlr In Me.Form.Controls
ctlr.Enabled = False
ctlr.Locked = True
Me.DUZELT.Caption = "DÜZELT"
Next
End Sub

Public Sub COZ()
Dim ctlr As Control
On Error Resume Next
For Each ctlr In Me.Form.Controls
ctlr.Enabled = True
ctlr.Locked = False
Me.DUZELT.Caption = "KAYDET"
Next
End Sub

Public Sub SAYFA()
Dim ctlr As Control
On Error Resume Next
For Each ctlr In Me.Form.Controls
If ctlr.Tag = "SAYFA" Then
ctlr.Enabled = True
ctlr.Locked = False
End If
Next
End Sub

Public Sub IDNO()
Dim ctlr As Control
On Error Resume Next
For Each ctlr In Me.Form.Controls
If ctlr.Tag = "IDNO" Then
ctlr.Enabled = False
ctlr.Locked = True
End If
Next
End Sub


Burada "KILITLE" fonksiyonunu çağırarak SAYFA imi dışındaki tüm denetimlerin kilitlenmesini,
"COZ" fonksiyonunu çağırarak SAYFA ve IDNO imi dışındaki tüm denetimlerin kilidinin tekrar düzenleme, silme işlemleri için açılmasını sağlamaya çalışıyorum.

SAYFA ve IDNO imi ile KILITLE ve COZ fonksiyonlarından etkilenmesini istemediğim denetimler için kullanıyorum (SAYFA imi sürekli aktif olmasını istediğim komut düğmeleri için, IDNO imi de sürekli kilitli olmasını istediğim denetimler için kullanıyorum).

Ben bu fonksiyonları her bir form için ayrı ayrı düzenliyorum.

Acaba genel bir kod yazıp kullanmak istediğim formlarda bu kodu çağırabilir miyim?

Sanırım Access'te yapılamayacak bir şey yok gibi, ama ben nasıl yapılabileceğini bilmiyorum.

Bilen arkadaşlar yardımcı olursa çok sevinirim.

Şimdiden çok teşekkür ederim.



  Alıntı
Bu mesajı beğenenler:
#2
Visual Basic
  1. Function FormIslem(FormAdi As String, Islem As Long)
  2. Dim Frm As Form, FrmNesne As Control
  3. On Error Resume Next
  4. Set Frm = Forms(FormAdi)
  5. Frm.DUZELT.Caption = IIf(Islem = 0, "DÜZELT", "KAYDET")
  6. For Each FrmNesne In Frm.Controls
  7. If FrmNesne.Tag = "SAYFA" Then
  8. FrmNesne.Enabled = IIf(Islem = 0, False, True)
  9. FrmNesne.Locked = IIf(Islem = 0, True, False)
  10. Else
  11. MsgBox "Diger islemler"
  12. End If
  13. Next FrmNesne
  14. End Function



Call FormIslem(Me.Name, 0)
prosedur islemini form ismini belirterek kullanilabilir. Im(Tag) bolumune SAYFA yazma ile diger formlarda da islem kullanilabilir.



  Alıntı
Bu mesajı beğenenler:
#3
Sayın dsezgin hocam,

Öncelikle ilginize çok teşekkür ediyorum.

Verdiğiniz örnek, muhtemelen tam benim istediğim örnek.
Muhtemelen diyorum, çünkü yapmaya çalıştım, ama sanırım benden kaynaklı yapamadım.

Rica etsem, ekteki örnekte basitçe gösterebilir misiniz?

Yapmak istediğim form ilk açıldığında bütün denetimler kilitli olsun.
"Yeni" komut düğmesine bastığımda yeni sayfaya gidip bütün denetimleri serbestleştirmesi,
Düzelt komut düğmesine bastığımda da mevcut kayıtta mevcut denetimleri serbestleştirmesi.

İlginize tekrar çok teşekkür ederim.


Eklenti Dosyaları
.rar   Genel Fonksiyon.rar (Boyut: 24,28 KB / İndirilme: 69)



  Alıntı
Bu mesajı beğenenler:
#4

.rar   Genel Fonksiyon.rar (Boyut: 26,07 KB / İndirilme: 93) inceleyiniz.



  Alıntı
Bu mesajı beğenenler:
#5
Sayın dsezgin hocam, gerçekten emeğinize sağlık.
Çok teşekkür ederim.



  Alıntı
Bu mesajı beğenenler:


Benzer Konular...
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  [FORM] Genel Toplamda Sorun Yaşıyorum muratsen 4 321 15-05-2025, 12:24
Son Mesaj: muratsen
  [SORGU] Sorgu Ifadesi Içindeki Fonksiyon Ifade Içinde Kullanılamaz Hatası Mecnun24 7 664 27-08-2024, 16:53
Son Mesaj: Mecnun24
  Girilen Tarihin Haftanın Başlangıçı Ve Sorunu Gösteren Fonksiyon Veya Sorgu cozum@msn.com 1 511 04-08-2022, 13:20
Son Mesaj: onur_can
  [VBA] Text Dosyasına Yazma, Okuma, Düzenleme A.Serdar 4 486 19-01-2022, 12:13
Son Mesaj: halily
  [FORM] Yazma çakışması ahmetkestane 6 1.010 27-06-2021, 13:39
Son Mesaj: userx53
  Genel Muhasebe Uygulaması umit1907 1 1.007 09-05-2021, 16:36
Son Mesaj: onur_can
  [FORM] Il Kodu Ile Ilini Yazma golf2000 11 1.228 04-02-2021, 21:11
Son Mesaj: golf2000
  [VBA] Birden Fazla Tabloyu Aynı Excele Yazma hedefkaya 4 697 06-12-2020, 21:31
Son Mesaj: onur_can

Foruma Git:


Bu konuyu görüntüleyen kullanıcı(lar):