Form Açılışında Pasif Olan Altform Formdaki Bir Alan Değer Alırsa Aktif Olsun

12/12/2018, 18:22

Oğuz Türkyılmaz

Merhabalar

T_01_TeklifGiris Formum açıldığında bağlı altformumu pasif hale getirdim, Firma seçimi yapıldıktan sonra Teklif no alanım otomatik teklif numarası veriyor.Bu teklif numarası değerine ( Formata Uygun Takip eden Numara verilmişse ) bakıp alt formumun aktif hale gelmesini istiyorum. Kodu aşağıdaki gibi yazdım. Kırmızı satırda pekçok denemeden sonra pes ettim.  Yardımcı olmanızı rica ederim.

Private Sub Form_Load()

DoCmd.GoToRecord , , acNewRec
cboFirmaKodu.SetFocus

afrTeklifDetay.Enabled = False

If Me.txtTeklifNo.Value =........ then

afrTeklifDetay.Enabled = True

End If

End Sub
12/12/2018, 19:02

berduş

Private Sub afrTeklifDetay_Enter()
If IsNull(Me.TeklifNo) Then       'TeklifNo boş ise
Me.afrTeklifDetay.Locked = True'
MsgBox ("Teklif  oluşturulmadan kayıt eklenemez")
cboFirmaKodu.SetFocus
Else
Me.afrTeklifDetay.Locked =False  
End If
End Sub

olayın kodunu formload'a değil "afrTeklifDetay"ın girildiğinde olayına yazmanız daha uygun olur
"afrTeklifDetay" kilitle dedim çünkü kilitlenince girebilirsiniz ama işlem yapamazsınız
eğer afrTeklifDetay.enabled = false deseydik oraya tekrar giremeyeceğimiz için
kontrolü tekrar yapamayabilirdik en azından ben denediğimde öyle oldu)
örneği inceler misiniz
Hatalı kod düzenlenip dosya yeniden eklenmiştir
12/12/2018, 23:28

Oğuz Türkyılmaz

(12/12/2018, 19:02)haliliyas yazdı:
Private Sub afrTeklifDetay_Enter()
If IsNull(Me.TeklifNo) Then       'TeklifNo boş ise
Me.afrTeklifDetay.Locked = False '
MsgBox ("Teklif  oluşturulmadan kayıt eklenemez")
cboFirmaKodu.SetFocus
Else
Me.afrTeklifDetay.Locked = True
End If
End Sub

olayın kodunu formload'a değil "afrTeklifDetay"ın girildiğinde olayına yazmanız daha uygun olur
"afrTeklifDetay" kilitle dedim çünkü kilitlenince girebilirsiniz ama işlem yapamazsınız
eğer afrTeklifDetay.enabled = false deseydik oraya tekrar giremeyeceğimiz için
kontrolü tekrar yapamayabilirdik en azından ben denediğimde öyle oldu)
örneği inceler misiniz

Halil Bey uyguladım tamamdır.Teşekkürler. Yalnız kodda anlamadığım bir şey var "Me.afrTeklifDetay.Locked = False '" bu satır da locked kilitli demek  = false da kilitli değil anlamına gelmiyormu. if isnull ( eğer boş ise demek değilmi yani eğer me.teklifno boş ise afrTeklifDetayı kilitleme olarak anlıyorum ben bu kodu. Yapmak istediğimin tersi oluyor bana göre. Yanlışım nedir.
12/12/2018, 23:39

berduş

haklısınız Oğuz Bey affedesiniz yerleri değişmeli özür dilerim
dosyayı güncelliyorum)
2. mesajdaki ek ve kod yeniden düzenlendi. Affedersiniz