AccessTr.neT

Tam Versiyon: Alt formda boş alan kontrolü
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Merhabalar hocalarım

Gönderdiğim örnekte alt forma kayıt ekliyorum. Ancak kaydet veya kapat düğmelerine bastığımda altformda MIKTAR,FIYAT ve TERMİN alanlar da boş olanların uyarısını verebilirmi. kaydetmeden çıkınca tablodan da verilerin silinmesi. Yardımcı olacaklara şimdiden teşekkür ederim.
Merhaba,
Vaktim kalmadığı için bukadarını yapabildim. Kodları incelerseniz fikir edinip kalanını tamamlayabilirsiniz.

Kaydet butonunun tıklandığında olayındaki kodları aşağıdaki ile değiştiriniz.

If IsNull([HAREKETDETAY].Form![MIKTAR]) Or [HAREKETDETAY].Form![MIKTAR] = "" Then
   If MsgBox("miktar boş", vbYesNo) = vbYes Then
   [Forms]![HAREKETLER].[HAREKETDETAY].SetFocus
   [Forms]![HAREKETLER].[HAREKETDETAY].[Form].[MIKTAR].SetFocus
   Exit Sub
   Else
   Me.Undo
   End If
ElseIf IsNull([HAREKETDETAY].Form![FIYAT]) Or [HAREKETDETAY].Form![FIYAT] = "" Then
   If MsgBox("MIKTAR boş", vbYesNo) = vbYes Then
   [Forms]![HAREKETLER].[HAREKETDETAY].SetFocus
   [Forms]![HAREKETLER].[HAREKETDETAY].[Form].[FIYAT].SetFocus
   Exit Sub
   Else
   Me.Undo
   End If
Else
DoCmd.RunCommand acCmdSaveRecord
End If


Geri alma olayında, 2. hayırda kaydın tamamını mı geri alacak, yoksa son işlemi mi geri alacak, veya kaydı tamamen mi iptal edecek anlamadım.

Ayrıca, sonraki sorularınızda konunuzu Site Kurallarına uygun olarak açarsanız memnun olurum.
Merhaba ozanakkaya bey

ilginiz için teşekkür ederim. kodu denedim ancak altforma 2.inci bir satır(ürün aktardığımda) eklediğimde uyarı vermiyor. Hayır dediğimde tamamen silecek (tablodan da). aynı işlem kapat düğmesine de yapmamız gerekiyor. Şimdiden teşekkür ederim.
sayın raburabu,

EK'te;
sayın ozan bey tarafından paylaşılan kodların yeniden düzenlenerek bahsettiğiniz talebinize yönelik olarak hazırlanmış örnek uygulama mevcuttur.inceleyebilirsiniz.

kodları deneyip olumlu sonuçlar neticesinde,aynı kodları;KAPAT butonu için de uygulayabilirsiniz.veyahut da formun KALDIRILDIĞINDA ya da KAPANDIĞINDA olay yordamı içerisine de dahil edebilirsiniz.tercih ve takdir sizindir elbet.

NOT

Alıntı:altforma 2.inci bir satır(ürün aktardığımda) eklediğimde uyarı vermiyor. 

ifadenize yönelik olarak;
aşağıdaki resimlerde de görüleceği üzere,her bir ürün dahil edildiğinde sorunsuz şekilde ilgili uyarı mesajları yer almaktadır.

[Resim: do.php?imgf=147765314651941.jpg]

[Resim: do.php?imgf=147765314661842.jpg]

bilginize...iyi çalışmalar,saygılar.
(28/10/2016, 11:54)raburabu yazdı: [ -> ]2.inci bir satır(ürün aktardığımda) eklediğimde uyarı vermiyor.

Merhaba, Atoz hocanın eklediği örnek uygulamada, kaydet butonunun tıklandığında olayındaki kodu

'ATOZ112
'AŞAĞIDAKİ KODLAR DAHİL EDİLMİŞTİR.
[Forms]![HAREKETLER].[HAREKETDETAY].SetFocus
DoCmd.RunCommand acCmdRecordsGoToLast

If IsNull([HAREKETDETAY].Form![MIKTAR]) Or [HAREKETDETAY].Form![MIKTAR] = "" Then
   If MsgBox("MIKTAR boş", vbYesNo) = vbYes Then
   [Forms]![HAREKETLER].[HAREKETDETAY].[Form].[MIKTAR].SetFocus
   Exit Sub
   Else
   
   tablodansil

   Exit Sub
   End If
ElseIf IsNull([HAREKETDETAY].Form![FIYAT]) Or [HAREKETDETAY].Form![FIYAT] = "" Then
   If MsgBox("FIYAT boş", vbYesNo) = vbYes Then
   [Forms]![HAREKETLER].[HAREKETDETAY].[Form].[FIYAT].SetFocus
   Exit Sub
   Else

   tablodansil

   Exit Sub
   End If
ElseIf IsNull([HAREKETDETAY].Form![TERMİN]) Or [HAREKETDETAY].Form![TERMİN] = "" Then
   If MsgBox("TERMİN boş", vbYesNo) = vbYes Then
   [Forms]![HAREKETLER].[HAREKETDETAY].[Form].[TERMİN].SetFocus
   Exit Sub
   Else

   tablodansil

   Exit Sub
   End If
Else
DoCmd.RunCommand acCmdSaveRecord
MsgBox ("Veri Kaydedildi")
End If

kodu ile, kapat butonunun tıklandığında olayındaki kodu 

[Forms]![HAREKETLER].[HAREKETDETAY].SetFocus
DoCmd.RunCommand acCmdRecordsGoToLast

If IsNull([HAREKETDETAY].Form![MIKTAR]) Or [HAREKETDETAY].Form![MIKTAR] = "" Then
   If MsgBox("MIKTAR boş", vbYesNo) = vbYes Then
   [Forms]![HAREKETLER].[HAREKETDETAY].[Form].[MIKTAR].SetFocus
   Exit Sub
   Else
   
   tablodansil

   Exit Sub
   End If
ElseIf IsNull([HAREKETDETAY].Form![FIYAT]) Or [HAREKETDETAY].Form![FIYAT] = "" Then
   If MsgBox("FIYAT boş", vbYesNo) = vbYes Then
   [Forms]![HAREKETLER].[HAREKETDETAY].[Form].[FIYAT].SetFocus
   Exit Sub
   Else

   tablodansil

   Exit Sub
   End If
ElseIf IsNull([HAREKETDETAY].Form![TERMİN]) Or [HAREKETDETAY].Form![TERMİN] = "" Then
   If MsgBox("TERMİN boş", vbYesNo) = vbYes Then
   [Forms]![HAREKETLER].[HAREKETDETAY].[Form].[TERMİN].SetFocus
   Exit Sub
   Else

   tablodansil

   Exit Sub
   End If
Else
DoCmd.Close
End If

değiştirerek deneyiniz. Sonuç hakkında olumlu/olumsuz bildirimde bulununuz.
Merhaba Atoz ve ozanakkaya hocam ellerinize sağlık Allah ilminizi artırsın süper oldu. Bunu başka formlarında da kullanacağım çok ama çok teşekkür ederim. süpersiniz.