Formlardaki butonların tıklandığında olaylarındaki [Katıştırılmış Makro]'ları sil. Yerlerine [Olay Yordamı] olarak
Vba sayfasında kod yaz.
Soru ile ilgili olarak,
kapat butonunun tıklandığında olayına
If MsgBox("Kayıt Kaydedilsin mi", vbYesNo) = vbYes Then
DoCmd.RunCommand acCmdSaveRecord
Else
Me.Undo
End If
docmd.close
şeklinde kod ekleyebilirsin. Ana forma girilen veri yeni kayıt ise butonu tıkladığında kaydedilip kaydedilmeme işlemini soracaktır.
Alt formun alt/üst alanları bağla özelliğine
KSSSIPNO;SIPARISTARIHI;MUSTERI;MUSTERISIPNO;ASAMA
yazmışsınız. Burada sadece ksssipno alanının olması bence yeterli. diğer alanlar gereksiz yere tabloya veri tekrarı yapıyor ve tabloya gereksiz bilgiler kaydediliyor.
SIPARISTARIHI;MUSTERI;MUSTERISIPNO;ASAMA alanlarına kaydedilen veriler üst formdaki ksssipno alanı ile ana tablodan bulunabilir.
Bence SATISSIPARIS tablosuna veri türü sayı olan SATISSIPARISNO adında alan eklemeli,
SATISSIPARISMDB tablosundaki SIPARISNO alanı ile SATISSIPARIS tablosundaki SATISSIPARISNO alanlarını bir-çok ilişkisi ile ilişkilendirmelisin. Alt form/üst form olayına sadece bu alanları yazdırmalısın.
Üstteki kod ile kaydetmekten vazgeçersen alt tablo olan SATISSIPARIS tablosuna eklenen yeni kayıtlar da silinecektir.
kaydet_buton.rar
(Dosya Boyutu: 764,52 KB | İndirme Sayısı: 47)