AccessTr.neT
Form Açılışında Pasif Olan Altform Formdaki Bir Alan Değer Alırsa Aktif Olsun - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html)
+--- Forum: Access Cevaplanmış Soruları (https://accesstr.net/forum-access-cevaplanmis-sorulari.html)
+--- Konu Başlığı: Form Açılışında Pasif Olan Altform Formdaki Bir Alan Değer Alırsa Aktif Olsun (/konu-form-acilisinda-pasif-olan-altform-formdaki-bir-alan-deger-alirsa-aktif-olsun.html)



Form Açılışında Pasif Olan Altform Formdaki Bir Alan Değer Alırsa Aktif Olsun - Oğuz Türkyılmaz - 12/12/2018

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


Cvp: Form Açılışında Pasif Olan Altform Formdaki Bir Alan Değer Alırsa Aktif Olsun - berduş - 12/12/2018

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


Cvp: Form Açılışında Pasif Olan Altform Formdaki Bir Alan Değer Alırsa Aktif Olsun - Oğuz Türkyılmaz - 12/12/2018

(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.


Cvp: Form Açılışında Pasif Olan Altform Formdaki Bir Alan Değer Alırsa Aktif Olsun - berduş - 12/12/2018

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