• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Formda kayıt girişinin kilitlenmesi

  • Konbuyu başlatan Konbuyu başlatan abkbek
  • Başlangıç tarihi Başlangıç tarihi
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:
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
 
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:
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.
 
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
 
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.
 
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?
 
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..
 
Sayın Taruz,
Yine hızır gibi yetiştiniz, çok çok teşekkür ederim.
 
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

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
 
istediğim tam olarak buydu teşekkürler...
 
Geri
Üst