Formda kayıt girişinin kilitlenmesi

Katılım
16 Şubat 2007
Mesajlar
323
Excel Vers. ve Dili
office 2003 prof.tr
Arkadaşlar merhaba,
Yine forumdan aldığım bir örnekte formdaki kayıtları kilitleyen bir kod var. benim öğrenmek istediğim; formda mevcut durumda metin kutuları ve açılan kutuları kilitliyor. bunlara alt formlar ekledim. bu alt formların da aynı komutla kilitlenip açılabilmesi için kodda nasıl düzeltme yapmam gerekiyor. (Örnek ektedir)
 

Ekli dosyalar

Son düzenleme:
Katılım
19 Eylül 2008
Mesajlar
331
Excel Vers. ve Dili
2003
Sayın abkbek
bunun için sayfa1 in üzerine gel sağ tıkla veri sekmesine gel etkin yazan yere hayır de aynısını sayfa12 de uygula
bu kadar
açmak bunu tersi evet olacak
 
Katılım
16 Şubat 2007
Mesajlar
323
Excel Vers. ve Dili
office 2003 prof.tr
Sayın adnanyurdakul,
söylediğiniz yöntem ile her seferinde formu tasarım görünümünde açıp düzenlemek gerekiyor. oysa benim istediğim tam olarak şudur; mevcut formdaki kayıt düzelt isimli komut düğmesine tıkladığımda aynen metin kutularında olduğu gibi alt formlar da düzenlenebilsin, vazgeç komut düğmesine tıkladığımda da yeniden kilitlensin. bunun için sanıyorum ilgili düğmeleri çalıştıran koda ilave bir tanımlama yapılması gerekiyor.
(vb şifresi kaldırılmıştır)
 
Son düzenleme:
Katılım
21 Ekim 2006
Mesajlar
100
Excel Vers. ve Dili
Excel2003 Tr
Sayın abkbek, form üzerinde Kilitle ve Düzenle adında iki düğme oluşturun . Bu işlem tek düğme ile de yapılabılır. Neyse anlaşılır olsun. Kilitle düğmesinin tıklandığında olay yordamına

Private Sub Kilitle_Click()
AllowEdits = False
Me.Requery
End Sub

kodunu yazın. Düzenle düğmesi olay yordamına aşağıdaki kodu yazın.

Private Sub Düzenle_Click()
AllowEdits = True
Me.Requery
End Sub

Alt form için alt formun adını kodda belirtmelisiniz. O zaman şöyle yazın

Private Sub Kilitle_Click()
AllowEdits = False
[urunsatislari alt formu].Form.AllowEdits = False
Me.Requery
End Sub


Private Sub Düzenle_Click()
AllowEdits = True
[urunsatislari alt formu].Form.AllowEdits = True
Me.Requery
End Sub


şeklinde yaz.
 
Katılım
16 Şubat 2007
Mesajlar
323
Excel Vers. ve Dili
office 2003 prof.tr
Sayın Aydıno ve sayın Adnanyurdakul,
ilgileriniz için çok teşekkür ederim. sizin yöntemlerinizi de deneyeceğim.

Acaba aşağıdaki mevcut kod üzerinden gerekli düzenleme yaparak cevaba ulaşmak mümkün değil midir?

Private Sub AlanKapali()
Dim ctl As Control
For Each ctl In Me.Form.Controls
Select Case ctl.ControlType
Case acTextBox
ctl.Locked = True
ctl.BackColor = 16764057
Case acComboBox
ctl.Locked = True
ctl.BackColor = 16764057
End Select
Next
End Sub
Private Sub AlanAcik()
Dim ctl As Control
For Each ctl In Me.Form.Controls
Select Case ctl.ControlType
Case acTextBox
ctl.Locked = False
ctl.BackColor = 16777215
Case acComboBox
ctl.Locked = False
ctl.BackColor = 16777215
End Select
Next
End Sub
 
Katılım
16 Şubat 2007
Mesajlar
323
Excel Vers. ve Dili
office 2003 prof.tr
Sayın arkadaşlar,
Yukarıdaki kod içerisine örneğimdeki altformları kilitlemek ve açmak için nasıl bir tanımlama yapmam gerekiyor.
 
Katılım
16 Şubat 2007
Mesajlar
323
Excel Vers. ve Dili
office 2003 prof.tr
yukarıdaki kod ile actextbox ve accombobox ile metin kutusu ve açılan kutular tanımlanmış alt formu da ac.... şeklinde tanımlamak mümkün müdür?
 
Katılım
18 Nisan 2007
Mesajlar
2,053
Excel Vers. ve Dili
Access 2019
Kod:
Private Sub AlanKapali()
    Dim ctl As Control
    For Each ctl In Me.Form.Controls
    Select Case ctl.ControlType
        Case acTextBox
            ctl.Locked = True
            ctl.BackColor = 16764057
        Case acComboBox
            ctl.Locked = True
            ctl.BackColor = 16764057
            [COLOR=red]Case acSubform
            ctl.Locked = True
[/COLOR]                  
        End Select
    Next
End Sub
Private Sub AlanAcik()
    Dim ctl As Control
    For Each ctl In Me.Form.Controls
    Select Case ctl.ControlType
        Case acTextBox
            ctl.Locked = False
            ctl.BackColor = 16777215
        Case acComboBox
            ctl.Locked = False
            ctl.BackColor = 16777215
            [COLOR=red] Case acSubform
           ctl.Locked = False
[/COLOR]        End Select
    Next
End Sub
Merhaba..

Kodları bu şekilde değiştiriniz..
 
Katılım
16 Şubat 2007
Mesajlar
323
Excel Vers. ve Dili
office 2003 prof.tr
Sayın Taruz,
Yine hızır gibi yetiştiniz, çok çok teşekkür ederim.
 
Katılım
29 Temmuz 2007
Mesajlar
38
Excel Vers. ve Dili
2003
merhaba,
benimde buna benzer bir problemim var ancak benim olması istediğim şey girdiğim kaydın değiştirilememesi. eklediğim dosya içinde "durum" bölmesinden close'u seçtiğimde kayıt üzerinde bir daha değişiklik yapılamasın. fakat yeni kayıt eklememe izin versin yani tüm formu kilitlemesin sadece kaydı kilitlesin.
yardımlarınızı bekliyorum.
 

Ekli dosyalar

Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın maliyer35,

Aşağıdaki kodlar işinizi görür zannedersem.

İyi çalışmalar

Kod:
Private Sub Durum_AfterUpdate()
If Me.Durum.Value = "CLOSE" Then
    Me.AllowEdits = False
Else
    Me.AllowEdits = True
End If
End Sub

Private Sub Form_Current()
If Me.Durum.Value = "CLOSE" Then
    Me.AllowEdits = False
Else
    Me.AllowEdits = True
End If
End Sub

Private Sub Form_Load()
If Me.Durum.Value = "CLOSE" Then
    Me.AllowEdits = False
Else
    Me.AllowEdits = True
End If
End Sub
 
Katılım
29 Temmuz 2007
Mesajlar
38
Excel Vers. ve Dili
2003
istediğim tam olarak buydu teşekkürler...
 
Üst