Kaydetmeden kapatma işlemini nasıl gerçekleştirebilirim?

1 2 3 4 5
06/03/2017, 12:16

raburabu

Merhaba Hocalarım. Sizlerden öğrendiğim ile bir VT yapmaya uğraşıyorum. En son yardımlarınızla tbl_gecici , srg_geciciekle , srg_guncelle ve srg_hareletdetay  ekleyerek HAREKETLER formumda açılan siparişi tekrar görüntülendiğinde herhangi bir düzenleme yapılıp  veya kaydetmeden çıktığımızda kayıt tablom da değişiklik olmuyor.

Benim istediğim. Bir çok formum var. örnek eklediğim alısfatura formum gibi yaklaşık 10-15 adet. Bu formlarda kayıt edilenlerin tekrar düzenleme yapılması için getirildiğinde her biri için ayrı ayrı geçici tablo ve geçici ,güncelle sorguları mı eklemem mi gerekiyor.  Yoksa Bu hazır olanları bütün formlarım da da kullanabilir miyim.  

Şimdiden teşekkür ederim.
10/03/2017, 12:45

atoz112

sayın raburabu,

eklediğiniz mdb uzantılı örnek uygulamayı,kendi adıma geçerli olmak sureti ile kısa süreli imkan ve zaman akabinde inceleme sonrası edindiğim izlenimlere yönelik olarak aşağıdaki açıklamaların yapılması uygun görülmüştür.

HAREKETLER adlı form üzerinde yer alan DÜZENLE ifadeli butonun olay yordamı içeriğindeki kodların işleyişi olarak;önce,tbl_gecici adlı tablodaki veriler silinmekte ve sonrasında srg_geciciekle adlı sorgu üzerinden düzenleme düşüncesi dahil edilmiş fakat bu buton çalıştırıldığında ekranda olan tek işlem,KİLİT AÇILDI mesajı belirmekte ve alt form üzerinde herhangi bir düzenleme yapmaya imkan tanınmamakta.

buradaki işleyişi,açıkçası tam anlayamadım,yapılmak istenen olarak.örneğin;

1) neden geçici tablo oluşturulmakta?

2) neden ekleme sorgusu üzerinde düzenleme yapılmak istenmekte?

3) neden eğer alt formda bir düzenleme yapılmak isteniyorsa,UPDATE Sorgusu kullanımı ile ya da KAYIT KAYNAĞI satırını HAREKETDETAY adlı kendi tablosu göstermek sureti ile direkt olarak kaydetme veya güncelleme kodu ile bu güncelleme işlemi sağlanmamakta?

4) örnek verdiğiniz için alısfatura adlı form üzerinde de benzer bir işleyişin ve kullanımın olması nedeni ile,yine bu formda da neden yukarıda yazılı şekilde işleyiş sağlanmamakta?

5) ayrıca,DÜZENLEME işleminden kast edilen,sadece alt form olarak kullanılan HAREKETDETAY adlı tabloda bir düzenleme mi yoksa kendi ana formları içeriğinde de bir düzenleme yapmak mı,veyahut da her ikisi için de geçerli mi olmakta?

aklıma takılan veya yorumlamakta zorlandığım hususlar bunlar,şu an itibarı ile.her bir form için böyle geçici tablolar veya sorgular oluşturmak anlamsız kalıyor böyle durumda.daha kolay kullanımlar söz konusu,bana göre.yapılmak istenenleri bu formlara yönelik olarak belki daha net ifadeler ile açıklamanız da fikir verebilir kanısındayım.yanlış düşünüyor ya da yorumluyor olabilir.bunun için de ayrıntılı bilgilendirmeniz ile netleştirmeyi değerlendirebilirsiniz.

bilginize...iyi çalışmalar,saygılar.
10/03/2017, 14:56

raburabu

Merhaba atoz112,

Asıl istenen Hareketler formumla açtığım siparişi sipariş onay formu veya başka bir formla tekrar çağırdığımda alt form veya üst formda diyelim ki alt formda adet (1.000 adet) ,fiyatta (1.00tl) veya her ikisinde herhangi bir değişiklik yaptığımızda "adet (5.000 adet) ,fiyatta (2.00tl)" bu değişikliği kaydetmeden formu kapattığımızda HAREKETDETAY tablom da ilk açtığım sipariş adet ve fiyatların değişmeden formun kapatılmasını istiyorum.

Aynı şekilde alısfatura formumda gelen faturayı girip tekrar çağırdığımda alt formda adet, fiyat üst formda evrak no ve tarih değiştiğinde kaydet dediğimde Tablomda gerekli değişikliği yapması. kayıt yapılmadan çıkıldığında herhangi bir değişiklik yapmadan formu kapatması.

Bunu daha önce formda paylaştım ve geçici tablo , güncelleştirme sorguları eklenerek cevap verildi,

Eğer daha kolay bir yolu var ise göndermiş olduğum örneğe uyarlayabilir seniz bende diğer formlarıma uyarlamaya çalışıyım.
Teşekkür ederim
10/03/2017, 19:58

atoz112

sayın raburabu,

bahsettiğiniz talebinizi,aslında formun KALDIRILDIĞINDA olay yordamı içerisine bir kayıt kontrol işlemi içerecek kodların yazılması sureti ile istediğiniz sonucu elde edebilirsiniz.

form üzerindeki KAYDET butonları içerisine bu kaydetmeye uygun kod satırının yazılması ayrı bir husustur.

sizin burada talep ettiğiniz,değişikliklerin yapılması sonrasında eğer kaydetmeksizin formun kapatılması gerçekleştiğinde,bu durumda,bir mesaj sorusu aracılığı ile yapılan değişikliklerin kaydedilerek mi yoksa kaydedilmeksizin mi formun kapatılmasını sağlamak yönündedir.

bilginize...iyi çalışmalar,saygılar.
11/03/2017, 00:48

raburabu

merhaba atoz112 hocam.

Önereceğiniz örnek bir uygulama verebilirseniz çok sevinirim.
11/03/2017, 13:39

atoz112

sayın raburabu,

bahsettiğiniz talebinize yönelik olarak;

elbette ki,değişik olay yordamları içerisinde farklı alternatif yöntemler ya da kullanımlar söz konusu olabilir.

If Me.Dirty Then
   If MsgBox("Kayıt verisinde değişiklik yapıldı.Kaydetmek ister misiniz?", vbYesNo + vbQuestion, "Değişikliği KAYDET") = vbNo Then
         Me.Undo
   End If
End If

yukarıdaki kodları,formun GÜNCELLEME ÖNCESİNDE olay yordamı içerisine dahil edilmesi ile de sonuç elde edilebilir.formun sağ üst kısmındaki Kapatma Butonu (Çarpı İşareti) ile çıkılmak istendiğinde,eğer form üzerindeki herhangi bir denetimde bir değer değişimi yapıldıysa ve akabinde de form kapatılmak istenirse,kodlarda yer alan mesaj bildirimi ekranda belirir ve cevaba göre işlem yapılması sağlanır.

site arama sayfasında bahsi yapılan alternatif kullanımları içeren konular muhtemeldir.araştırmak ve incelemek gerek.denk gelirsem ben de yönlendiririm.

bilginize...iyi çalışmalar,saygılar.
1 2 3 4 5