Formda Bir Alana Değer Girilmesini Şart Koşmak.

1 2 3 4 5
03/12/2018, 01:09

Oğuz Türkyılmaz

Merhabalar.

If IsNull(txtTeklifNo) Or txtTeklifNo = "" Then
    MsgBox "Lütfen Teklifiniz için Teklif Numarası veriniz ", vbExclamation, "Uyarı"
    Exit Sub
  End If
Şeklindeki kodumu txtTeklifNo metin kutusunun güncelleştirme sonrasına veya çıkıldığında yordamlarına yazdığımda alan boş ise hata mesajını veriyor fakat numaranın verilip verilmediğini kontrol etmeden sonraki sekmeye devam ediyor. Bu döngüyü nasıl sonlandırırım. Alana numara verilmediyse alandan çıkamamalı ve formu kaydedememeli ancak numara verildikten sonra işleme devam edebilmeli. Teşekkürler.
03/12/2018, 10:37

Allback

(03/12/2018, 01:09)Oğuz Türkyılmaz yazdı: Merhabalar.

If IsNull(txtTeklifNo) Or txtTeklifNo = "" Then
    MsgBox "Lütfen Teklifiniz için Teklif Numarası veriniz ", vbExclamation, "Uyarı"
    Exit Sub
  End If
Şeklindeki kodumu txtTeklifNo metin kutusunun güncelleştirme sonrasına veya çıkıldığında yordamlarına yazdığımda alan boş ise hata mesajını veriyor fakat numaranın verilip verilmediğini kontrol etmeden sonraki sekmeye devam ediyor. Bu döngüyü nasıl sonlandırırım. Alana numara verilmediyse alandan çıkamamalı ve formu kaydedememeli ancak numara verildikten sonra işleme devam edebilmeli. Teşekkürler.

Aklıma 2 farklı yöntem geldi ama tabii ki akıl akıldan üstündür. Daha iyi fikirler de çıkabilir.
Birincisi, bir sonraki metin kutusuna geçse bile kaydetme yordamını yapmasını engelleyebilirsiniz.
"Teklif numarası vermeden kayıt işlemi gerçekleşemez" şekline hata mesajı verdirip.
Me.txtTeklifNo.SetFocus komutuyla kullanıcıyı tekrar teklif no metin kutusuna yönlendirebilirsiniz.

İkinci önerim, diğer metin kutularının enable özelliğini false yaparsınız, teklif numarası vermeden true'ya dönmezler.
Böylece mecburen teklif numarası vermek zorunda olurlar.

Belki işinize yarar...
03/12/2018, 11:35

berduş

oğuz bey tam olarak nerede kullandığınız bilemediğimden kesin birşey söyleyemem ama eğer ISSE TEKLİF de kullanacaksanız
altformun kayıt eklenmeden önce olayına aşağıdaki kodu eklerseniz sanırım çalışır

Kod:
If IsNull(txtTeklifNo)Then
    MsgBox "Lütfen Teklifiniz için Teklif Numarası veriniz ", vbExclamation, "Uyarı"
    txtTeklifNo.setfocus
    Exit Sub
End If
03/12/2018, 12:08

Oğuz Türkyılmaz

(03/12/2018, 11:35)haliliyas yazdı: oğuz bey tam olarak nerede kullandığınız bilemediğimden kesin birşey söyleyemem ama eğer ISSE TEKLİF de kullanacaksanız
altformun kayıt eklenmeden önce olayına aşağıdaki kodu eklerseniz sanırım çalışır

Kod:
If IsNull(txtTeklifNo)Then
   MsgBox "Lütfen Teklifiniz için Teklif Numarası veriniz ", vbExclamation, "Uyarı"
   txtTeklifNo.setfocus
   Exit Sub
End If
Halil bey evet orda kullanacağım ama yazdığınız kodu ben önceden yazmıştım evet oraya focuslanıyor ama kullanıcı tekrardan orayı boş geçebiliyor, yada mouse ile bir sonraki alana tıklayıp işleme devam ediyor bu yordamı kaydet butonunu yordamına tanımlayıp uyarı vermesinide sağlıyorum ve teklif numarasına focus yaptıryorum ama zaman kaybı oluyor. Amacım giriş yapılırken sekmelerden sırayla bilgileri girdiğinde bu alanı boş geçmesin hatta bu alana geldiğinde teklif no ver butonuna tıklamış gibi teklif no üretilmiş şekilde alandan çıkıp bir sonraki alan olan Tedarikçi alanına devam etsin. Kıssadan hisse Teklif numarası verilmeden hiçbir şeye devam etmesine izin vermemek amacım, sadece kapat butonuna tıklayıp herhangi bir şeyi kaydetmesine izin vermeden formdan çıkabilmeli.
03/12/2018, 13:38

berduş

oğuz bey "teklif no ver" butonu ne işe yarıyor?
Düzeltme;
pardon anladım firma adı kısmına dikkat etmemişim
orayı boş bıraktığım için hata veriyormuş
03/12/2018, 13:47

berduş

peki forma girir girmez kendisi otomatik olarak butona basılmış gibi orayı doldursa
hatta buton hiç olmasa da "S_No"da olduğu gibi kendisi otomatik doldursa
1 2 3 4 5