Yanlışlıkla silineni geri alsın

1 2 3
17/12/2014, 13:31

caytug

Arkadaşlar, benzer konuları araştırdım ama benim istediğim gibi bir örnek yoktu.

tablo2 formundan silinen kayıtlar tablo1 deki aynı isimdeki tüm kayıtların durumu sütununa iptal yazıyor. 

Benim istediğim tablo2 den yanlışlıkla silinen kaydın,
Silinenler Formundan, sadece seçili olan kaydı butona tıklandığında tekrar tablo2 ye geri alsın,
aynı zamanda tablo1 deki bu kayda ait tüm kayıtların durumu sütununda İPTAL yazılarının yerine AKTİF yazsın.

Yardımınız için şimdiden Teşekkür ederim.
17/12/2014, 13:54

alpeki99

Örneği inceledim soruya baktım hiç bir şey anlayamadım. Ne yapmak istediğinizi örneklendirerek anlatırsanız daha kolay yardımcı olabiliriz.
17/12/2014, 15:52

caytug

(17/12/2014, 13:54)alpeki99 yazdı: Örneği inceledim soruya baktım hiç bir şey anlayamadım. Ne yapmak istediğinizi örneklendirerek anlatırsanız daha kolay yardımcı olabiliriz.

tablo1 tablosu ana tablomdur , tablo2 tablosu ise benzersiz kuş adlarının olduğu tablomdur.
tablo2 formundan kuş adlarından birini sildiğimde haliyle tablo2 tablosundan silmektedir ve daha önce tablo1 tablosuna kaydedilmiş olan silinen kuş adının yanındaki durumu sütununa İPTAL yazmaktadır.(buraya kadar zaten çalışıyor)

ilave olarak istediğim;
1-tablo2 Formundan sildiğim kaydı silinenler tablosuna kaydetsin
2-silinenler Formundan geri almak istediğim silinen kaydı seçip butonu kullanarak silinenler tablosundan silip tablo2 tablosuna kaydetsin istiyorum
3-tablo1 tablosundaki geri alınan kaydın adının yanındaki durum sütununda İPTAL yazmakta iken AKTİF yazsın istiyorum(çünkü artık iptallikten çıkmış Aktif olmuş oluyor)
17/12/2014, 16:34

caytug

Sn.Ozanakkaya nın daha önce cevapladığı aşağıdaki konunun devamıdır bu konu.

https://accesstr.net/konu-kaynak-veri-si...azsin.html
17/12/2014, 18:09

atoz112

Sayın caytug,

Öncelikle,konunuzda bahsini yaptığınız sorununuz içinde geçen ifadelerde bir düzeltmede bulunmakta fayda var kanısındayım.siz ifadelerinizde “kayıt silme” diye belirtiyorsunuz fakat uygulamanızdaki kodlamalar incelendiğinde,tablo2 aslı formunuzun Silme Onayı Sonrasında Olay Yordamında kayıt silme olarak değil de güncelleme (update) Sql sorgusu olduğu görülmektedir. dolayısı ile de,siz bu kodlama ile bir kayıt silmek yerine mevcut bulunan bir kaydın (tablo1 deki ilgili kaydın bir diğer alan değeri olarak “iptal” yazma işlemi) istenen bir değer ile güncellenmesini sağlıyorsunuz.
Kayıt kaynağı Silinenler tablosu olan Silinenler adlı formunuzda ise,tablo1 ve tablo2 adlı tablolara geri alınmasını belirttiğiniz bir anlatım yazısı söz konusu.

Bu taleplerinize yönelik olarak,izninizle birkaç öneride bulunarak size belki bir yol gösterme anlamında olması temennisi ile bilgi paylaşımlarında bulunmak isterim.

1)      Tıpkı silinenler formunda olduğu gibi,tekrar eski haline geri dönüştürmek üzere ilgili kaydı yine eski bilgi ile güncellemek söz konusu olduğuna göre,Böyle fazladan tablolar ekleyerek uygulamanızın performansını yormak yerine,eğer ki niyetiniz kayıt silmek yerine bilgi eklemeleri ile kayıt güncellemesinde bulunmak ise;o zaman,bunca zahmete de gereksiniminiz olmamalı.

İPTAL yazılı olan kayıtlar sorgu ile bulunduktan sonra,bu kayıtların ister tek tek isterse de topluca eski hallerine geri bilgileri güncellenebilir.

2)      Ayrıca,kayıtların sizin ifadeniz ile “…yanlışlıkla silinmesi” durumuna düşülmemesi için;kayıt silme adlı oluşturulacak butona silme işlemi kontrolü yaptırılarak (uyarı mesajı verilerek) kullanıcının bu mesaj uyarısı ile silme işlemine vereceği yanıta göre (evet / hayır) davranışta bulunması sağlanabilir.kaydı silmekten vazgeçilme tercihi seçildiğinde me.Undo konutu ile kaydın geri alınması sağlanabilir.

3)      Bir diğer konu olarak da,eğer niyetiniz gerçekten mevcut bulunan bir tablodan bir kaydı silmek ise bu kaydı silmeden öncesinde bir gecici tabloya kaydı yapılması sağlanır (INSERT INTO…SELECT…Sql komutları ile yapılır…ve bu konuda site içerisinde mevcut bilgiler ve örnekler içeren konuları araştırarak inceleyebilirsiniz).sonrasında da,ilgili kayıt silinir.daha sonraki aşamalarda ise,eğer silinen bir kayıt tekrar geri alınmak istenirse bu geçici tablodaki kaydın tekrar daha önceden kaydının silindiği tabloya kaydedilmesi sağlanır.

Fakat bu bahsi yapılan husus,sadece DELETE Sql sorgusu ile silme işlemi uygulanması durumunda olacak işlemlerdir.

Sayın caytug,
Bu paylaşımlar neticesinde,tam olarak ne yapmak istediğinizi ve uygulamanızda gerçekleştirmek istediğiniz tercihinizi biraz daha net bir anlatımlarla belirtseniz,daha verimli katkılar elde edebilirsiniz.

Son olarak,uygulamanızda henüz ilerleme aşamalarına geçmediğiniz görüldüğünden önemli bir hususu da belirtmekte fayda görüyorum.uygulamanızın temelini oluşturacak olan tablolarınızı ve alan veri türlerini ve tanımlamalarını lütfen yine site içerisinde bununla ilgili konularda araştırmalarda bulunarak,daha sağlıklı ve doğru tablo yapılandırmalarında kendinizi geliştirecek bilgi kazanımlarını edinmeniz size iyi katkıda bulunmayı sağlayacaktır.bu hali ile uygulamanızda sonrasındaki aşamalarda sorunlar,hatalar ve düzeltme çalışmalarında bulunma sonuçları ile karşılaşmanız olası bir gözlem neticesidir.bilgilerinize.

İyi çalışmalar,
Saygılar.
17/12/2014, 22:32

caytug

Sayın atoz112,
Tavsiyelerinizin gerekliliğinin farkındayım, belki yapmak istediğimi tam anlatamadım.
benim üzerinde çalıştığım proje farklı bir konu ancak bu örnekte olmasını istediklerim benim işimi görüyor.

1-tablo2 Formundan mausla tüm satırı seçerek delete tuşuna basarak sildiğim kaydı silme işleminden önce silinenler tablosuna kaydetsin.(kendi çalışmamda bunu yaptım ancak silinen kaydı değilde tablo2 deki tüm kayıtları silinenler tablosuna aktarıyordu) 


2-silinenler Formundan geri almak istediğim  silinen kaydı yine aynı şekilde mausla tüm satırı seçtikten sonra butonu kullanarak silinenler tablosundan silip tablo2 tablosuna kaydetsin istiyorum.

Bu dahi benim için yeterlidir.
Bundan maksat yanlışlıkla silinen bir kaydı tekrar eski tablosuna iade etmektir.iyi çalışmalar.
1 2 3