Msgbox Kullanımda Hata

31/07/2018, 16:59

kübrashn

Hayırlı günler arkadaşlar. Bu gün 2 hatanın olduğunu fark ettim 
İlki: Private Sub Komut519_Click()
On Error GoTo Err_Kaydet_Click

If IsNull(Me.Teknik_Özellikleri) Then
MsgBox "Lütfen Teknik Özellikleri Belirtiniz", 48, "Kayıt İşlemi"
Me.Teknik_Özellikleri.SetFocus
Exit Sub

End If

If IsNull(Me.Miktar) Then
MsgBox "Lütfen Miktar Belirtiniz", 48, "Kayıt İşlemi"
Me.Miktar.SetFocus
Exit Sub

End If

    DoCmd.RunCommand acCmdRefresh
    If MsgBox("Değişiklikler kaydediliyor!", 36, "Kayıt İşlemi") = 6 Then
    DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
    
       
End If
satinalma_durumu = 7
MsgBox "Siparişiniz Satınalma Birimine Yönlendirildi"

Exit_Kaydet_Click:
    Exit Sub

Err_Kaydet_Click:
    MsgBox Err.Description
    Resume Exit_Kaydet_Click
    

End Sub

Diye bir butonun altındaki kodun çalışma düzeninde bir terlik var. Msgbox a hayır desem de çalışmaya devam ediyor. En azından "satinalma_durumu = 7" faailyetlerini yapmaması gerekiyor. 

Diğer en önemli husus ise Kodun başında görüldüğü üzere alanlar boş ise alan doldurma hatası veriyor bu normal istenen bir komut.
Anormal olan ise ben başka bir tuş ile o alanları temizliyorum. Alanlarda hiç veri olmamasına rağmen dolu gibi davranıyor. kayıt işlemini yapıyor tabi boş olarak. Yardımlarınız için şimdiden teşekkürler.
31/07/2018, 18:52

ozanakkaya

Sondaki end if yanlış yerde

If IsNull(Me.Teknik_Özellikleri) Then
MsgBox "Lütfen Teknik Özellikleri Belirtiniz", 48, "Kayıt İşlemi"
Me.Teknik_Özellikleri.SetFocus
Exit Sub

End If

If IsNull(Me.Miktar) Then
MsgBox "Lütfen Miktar Belirtiniz", 48, "Kayıt İşlemi"
Me.Miktar.SetFocus
Exit Sub

End If

DoCmd.RunCommand acCmdRefresh

If MsgBox("Değişiklikler kaydediliyor!", 36, "Kayıt İşlemi") = 6 Then
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70


satinalma_durumu = 7
MsgBox "Siparişiniz Satınalma Birimine Yönlendirildi"

End If

çalışmaz ise örnek uygulamanızı ekleyiniz
01/08/2018, 09:56

kübrashn

Günaydın hayırlı sabahlar.
Hocam İl sorunum için kod düzeltmesi çalıştı teşekkürler. 

Devamı niteliğindeki soruma cevap bulabilmek için örnek ekledim. Sorunum Hiç veri girilmemiş ise kod normal olarak alan doldurmasını istiyor. Lakin alanlara veri girilip temizlendiğinde boş olmasına rağmen dolu gibi davranıp işlemeye devam ediyor. Saygı ve sevgilerimle.
01/08/2018, 10:45

ozanakkaya

Kodunuza aşağıdaki gibi ekleme yaparak deneyiniz.

If IsNull(Me.Teknik_Özellikleri) or Me.Teknik_Özellikleri="" Then
01/08/2018, 10:53

kübrashn

(01/08/2018, 10:45)ozanakkaya yazdı: Kodunuza aşağıdaki gibi ekleme yaparak deneyiniz.

If IsNull(Me.Teknik_Özellikleri) or Me.Teknik_Özellikleri="" Then

Cevabınız için teşekkürler. Başlangıç kodunu sizin yazdığınız ile değiştirince kalp spazmı geçiren kod normal hayata döndü. Çok Teşekkürler.