Skip to main content

AccessTr.neT


Alt Form Kayıt hk.

Alt Form Kayıt hk.

Çözüldü #1
Merhabalar,

Arkadaşlar takıldığım bir konu var. Formda araştırdım ama net bir bilgi göremedim. Kaydet tuşuna bassamda basmasamda alt form kayıt yapıyor.  Ana formda bulunan kaydet butonuna basmadan ana form ve alt form kayıt yapmasına nasıl engel olurum?  Bu konuyla ilgili örnek kod veya çalışması olan var mı? 
.rar DENEME.rar (Dosya Boyutu: 768,76 KB | İndirme Sayısı: 7)
larion, 18-05-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla
#2
Sayın larion,

Uygulamanız “Tanınmayan…” uyarısı verdiğinden dolayı inceleme imkanı söz konusu olmamaktadır.

Açıklamanızdan yola çıkarak,şu bilgilendirmelerde bulunulabilir bir bakıma.

Eğer alt formun herhangi bir vesile ile bir olay yordamı ya da bir işlem akabinde güncellenmesi (.requery) sağlanıyorsa ve ilgili alt formun da kayıt kaynağını bir tablo oluşturuyorsa,bu hususlar neticesinde kayıt işlemi gerçekleştiriliyor olabilir.

Bu direkt kaydetme işlemini engellemek için IF FONKSİYONU kullanımı ile kontrol kod ifadeleri yazmak yeterli  olacaktır.

Site genelinde arama yapmak sureti çeşitli konularda yer alan örnekleri ya da bilgilendirmeleri inceleyebilirsiniz.aşağıda bu hususu içeren birkaç konu yer almaktadır.

Form kaydet olayı

Kaydet Butonuna Basmadan Kaydetmesin
 
formda sadece kaydet butonunun kaydetmesi

son olarak,örneğinizi önceki sürüme göre de eklemenizi,bu sürümleri kullanan katılımcıların da konunuza paylaşımda bulunmalarına imkan sağlar kanısındayım.bilginize…iyi çalışmalar,saygılar.
Herkes, kendisinin AR-GE'cisidir...


Konulara eklenen Uygulama içeriğine yönelik Tavsiyeler
Alt Form Denetim Değerlerine ulaşma ve Alt Form Güncelleme
Kapatırken Düzenle (Compact On Close) Seçeneğinin İşaretlenmesi Hakkında
Cevapla
#3
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.
.rar kaydet_buton.rar (Dosya Boyutu: 764,52 KB | İndirme Sayısı: 44)
Cevapla
#4
sayın atoz112 ve ozzanakkaya verdiğiniz cevaplar için teşekkür ederim. 
ozanakkaya hocamın tavsiyesi ile üst alt form bağlarını düzelttim. 
bu işlem sayesinde üst formda sildiğim kayıt alt formda da siliniyor (uğraşıyordum).
kapat düğmesine aşağıda belirttiğiniz kodu yazdım.
tekrar teşekkür ederim.
larion, 18-05-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task