Hatalı kayıdı engelleme

Katılım
10 Aralık 2007
Mesajlar
41
Excel Vers. ve Dili
Excel 2002
Merhaba arkadaşlar


Bu soruyu daha öncede sordum fakat istediğim cevabı alamadım. Sorum şöyle daha önceden girilimiş bir kaydı kontrol ederken veya kayıt üzerinde her hangi bir düzeltme yapıldığında proğramdan çıkıldığında otomotik olarak kayıt yapılıyor bunu engellemeyi nasıl yapabilirim ...örneğin kayıt üzerinde yapılan bir değişikliği kayıt yapılsınmı veya yapılmasınmı gibi soru sorduğunda evet is kaydetsin hayır ise kaydetmeden çıksın . acil yadıma ihtiyacım var şimdiden teşekürler.
 
Katılım
30 Ocak 2006
Mesajlar
937
Excel Vers. ve Dili
Access 2003
Bunun için bu formda çok örnek bulunuyor. Örnek programları incelesin mutlaka bulursunuz. Mesela ben birinde şu kodları gördüm. Bunları KAYIT> butonunun tıklandığında olay yordamına yazabilirsin:


On Error GoTo Err_KAYDET_Click
If IsNull(Me.MÜŞTERİ_ADI_SOYADI) Then MsgBox "Lütfen müşteri adını yazınız", 48, "Kayıt İşlemi": Me.MÜŞTERİ_ADI_SOYADI.SetFocus: Exit Sub
If MsgBox("Değişiklikler kaydedilsin mi?", 36, "K A Y D E T") = 6 Then
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
Me.müsterilistesi.Requery
Else
Me.Undo
End If
Exit_KAYDET_Click:
Exit Sub

Err_KAYDET_Click:
MsgBox Err.Description
Resume Exit_KAYDET_Click

Bu komutla yapılacak olan değişiklikten sonra onay isteniyor. Eğer soruya evet denilirsi kaydediyor, hayır denilirse de undo komutu işletilerek yapılan değişiklik geri alınıyor.

NOT: Bu kodları ben bu formdan indirilen musteri.mdb dosyasından aldım. Sedef Mobilya için yapılmış bir dosya. Yapan arkadaşın kodlarıdır veya o da biryerlerden almıştır. Bilemiyorum.
 
Katılım
7 Şubat 2008
Mesajlar
34
Excel Vers. ve Dili
Excel 2000 Türkçe
Bunun cevabını ben de merak ediyorum, çünkü kullanıcı forma veri girerken bundan vazgeçebilir, yani alanların yarısını doldurduktan kayıt yapmaktan vazgeçip formdan çıkmak isteyebilir. Bu ihtimal her zaman var, çıkmak istediğinde programın kulanıcıyı "yapılan değişiklikler kaydedilsin mi" türünden uyarması gerekiyor ve bence herkes bunu programlarında kullanmak zorunda ve programa nitelik katacaktır. Yardımcı olacak arkadaşlara şimdiden teşekkürler...
 
Katılım
30 Ocak 2006
Mesajlar
937
Excel Vers. ve Dili
Access 2003
Sayın Khaberdey, yukarıdaki kodlar bunun için zaten. Vazgeçilmesi durumunda da undo komutu ile bahsettiğiniz geri alma işlemi yapılıyor. Formdan başka türlü çıkma imkanı olmazsa kullanıcı kaydet veya vazgeç düğmesine basmadan çıkamaz. Çıkış butonu da yukarıdaki kodları işletirse sorun olmaz.. Kolay gelsin. Deneyin, takıldığınız yer olursa yardımcı olurum.
 
Katılım
7 Şubat 2008
Mesajlar
34
Excel Vers. ve Dili
Excel 2000 Türkçe
Sayın Khaberdey, yukarıdaki kodlar bunun için zaten. Vazgeçilmesi durumunda da undo komutu ile bahsettiğiniz geri alma işlemi yapılıyor. Formdan başka türlü çıkma imkanı olmazsa kullanıcı kaydet veya vazgeç düğmesine basmadan çıkamaz. Çıkış butonu da yukarıdaki kodları işletirse sorun olmaz.. Kolay gelsin. Deneyin, takıldığınız yer olursa yardımcı olurum.
Merhabalar, sayın mehmetdemiral;
Ben sizi anlıyorum elbette bu kodlar bende de,forumdaki birçok örnekte de mevcut, benim demek istediğim kullanıcı form üzerinde hangi alanda değişiklik yaparsa yapsın, yani açık gelen formun herhangi bir alanına bir karakter yazmış olup, kaydet veya kaydetme düğmelerinde basmadan çıkıp gidebilir, bunu var ise çıkış butonu ile yapar, varsa formun kapatma düğmesi ile yapar, Alt+F4 ile uygulamayı bile kapatabilir. İşte bu noktada kaydederek çık veya kaydetmeden çık diye seçim olması gerekir.Yoksa biz böyle bir duruma zaten yer bırakmıyoruz, ama yaptıklarımızı kullananlar için her ihtimali düşünmek zorundayız. Saygılarımı sunuyorum...
 

beab05

Özel Üye
Katılım
19 Mart 2007
Mesajlar
1,418
Excel Vers. ve Dili
Office 2013
Merhaba;
Sanrım birden fazla kayıtlar için bahsediyorsunuz örneğin sürekli bir formda 5 kayıt birden ettiniz ama 6. kayda geldiğinizde vazgeçtiniz gibi...Bir temp tablosu oluşturun kayıtlar buraya kaydedilsin çıkışa ya da ilgili buttona nereye olursa olsun belirli şartlara göre insert into komutuyla asıl tabloya aldırın ya da aldırmayın istediğinizi . Daha sonra da delete komutu devreye girsin temp tablosunu boşaltsın.
 
Katılım
7 Şubat 2008
Mesajlar
34
Excel Vers. ve Dili
Excel 2000 Türkçe
Merhaba;
Sanrım birden fazla kayıtlar için bahsediyorsunuz örneğin sürekli bir formda 5 kayıt birden ettiniz ama 6. kayda geldiğinizde vazgeçtiniz gibi...Bir temp tablosu oluşturun kayıtlar buraya kaydedilsin çıkışa ya da ilgili buttona nereye olursa olsun belirli şartlara göre insert into komutuyla asıl tabloya aldırın ya da aldırmayın istediğinizi . Daha sonra da delete komutu devreye girsin temp tablosunu boşaltsın.
Merhaba,
Evet demek istediğim buna yakın, ben sadece form üzerinde tek kayıt için geçerli olan veri alanları bazında düşündüm, kayıtla alakalı doldurulması gereken 3. alanda vazgeçip çıkmak gibi... Bu konuda örnek varsa eklemenizi rica ediyorum, teşekkürler...
 
Katılım
10 Aralık 2007
Mesajlar
41
Excel Vers. ve Dili
Excel 2002
Arkadaşlar çok teşekür ederim ilginize .

ben sayın mehmetdemiral verdiği kodu kullandım gayet güzel çalışıyor elinize sağlık.
yanlız şöyle bir problemim var . ben bu koda ilave yaparak formun çıkışını ana forma yönlendirmeye çalıştım fakat başaramadım yardımlarınızı bekliyorum saygılarımla


If MsgBox("Değişiklikler kaydedilsin mi?", 36, "K A Y D E T") = 6 Then
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
Me.AÇIKLAMA1.Requery
Else
Me.Undo
End If
C = MsgBox("Formu Kapatmak İstiyor musunuz?", vbYesNo + vbQuestion, "ANIL MUHASEBE")
If C = vbNo Then
Cancel = True
ElseIf C = vbYes Then
End If
 
Katılım
18 Nisan 2007
Mesajlar
2,053
Excel Vers. ve Dili
Access 2019
Arkadaşlar çok teşekür ederim ilginize .

ben sayın mehmetdemiral verdiği kodu kullandım gayet güzel çalışıyor elinize sağlık.
yanlız şöyle bir problemim var . ben bu koda ilave yaparak formun çıkışını ana forma yönlendirmeye çalıştım fakat başaramadım yardımlarınızı bekliyorum saygılarımla
Merhaba..

İlgili yere ilaveleri yapınız..

Kod:
If MsgBox("Değişiklikler kaydedilsin mi?", 36, "K A Y D E T") = 6 Then
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
Me.Requery
Else
Me.Undo
End If
C = MsgBox("Formu Kapatmak İstiyor musunuz?", vbYesNo + vbQuestion, "ANIL MUHASEBE")
If C = vbNo Then
Cancel = True
ElseIf C = vbYes Then
[COLOR=red]DoCmd.Close[/COLOR]
[COLOR=red]DoCmd.OpenForm "Ana Formunuzun Adı"[/COLOR]
End If
 
Katılım
10 Aralık 2007
Mesajlar
41
Excel Vers. ve Dili
Excel 2002
sayın Taruz çok teşekürler.

ben form üzerinde şöyle birşey yapmak istiyorum ...formu açtığımda tüm kayıtların kilitli bir şekilde gelmesini istiyorum form üzerine bırakacağımız bir butun veya benzer bir işlevle kaydın kilidini açıp güncelledikten sonra tekrar kapatmak .

başka bir şekil ise : yaptığım her kaydı onay vererek kilitlemek ..kaydı çağırdığımda veya güncellediğimde oany butubuna basıp açıp kaydı günceleyerek tekrar kapatmak... ben çok soru soruyorum ama affınıza sığnaraktan öğrenmenin en iyi yolu soru sormaktır.
işten yarılmam gerek bu uygulamayı tamamlamadan da yarılamıyorum
şimdiden siz ve diğer arkadaşların yardımını bekliyorum

saygılarımla
 
Katılım
18 Nisan 2007
Mesajlar
2,053
Excel Vers. ve Dili
Access 2019
Merhaba..

Formun Geçerli Olduğunda olayına

Kod:
Me.[COLOR=red]Alan Adı[/COLOR].Enabled = False
yazın ilgili denetimleri kitlersiniz..

Açmak içinde düğme kullanacaksanız, düğmenin Tıklandığında olayına da

Kod:
Me.[COLOR=red]Alan Adı[/COLOR].Enabled = True
yazın, iş görecektir.. Diğer alanları kodların altına ekleyebilirsiniz...

Selamlar..
 
Katılım
7 Şubat 2008
Mesajlar
34
Excel Vers. ve Dili
Excel 2000 Türkçe
Arkadaşlar merhabalar,sorunumu örnek içerisinde yazdım uğraşmama rağmen çözüm bulamadım yardımcı olursanız sevinirim..
 
Katılım
10 Aralık 2007
Mesajlar
41
Excel Vers. ve Dili
Excel 2002
Merhaba Sayın Khaberdey

sizin örnek üzerinde değişiklik yaptım bakın isterseniz

saygılar.
 
Katılım
7 Şubat 2008
Mesajlar
34
Excel Vers. ve Dili
Excel 2000 Türkçe
Merhaba Sayın Khaberdey

sizin örnek üzerinde değişiklik yaptım bakın isterseniz

saygılar.
Merhabalar,
yaptığınız örnekte çıkış düğmesine basıldığında onay istiyor ancak, formdan çıkmıyor. Ben istediğimi yaptım örnek olsun diye ekliyorum. bu haliyle formdan çıkılmak istendiğinde kayıt yapıp yapmamak istediğimizi soruyor. Herkese saygılar...
 
Katılım
30 Ocak 2006
Mesajlar
937
Excel Vers. ve Dili
Access 2003
İşte bu.. İlla birisinin yapmasına gerek yok. Biraz uğraşınca birnin örneği geliştirilebilir. Ben de size o örneği bu amaçla göndermiştim. Yoksa oturup birinin sizin programınızı yazmasını siz de istemezsiniz değil mi? Tebrikler.. Çok güzel olmuş..
 
Katılım
7 Şubat 2008
Mesajlar
34
Excel Vers. ve Dili
Excel 2000 Türkçe
İşte bu.. İlla birisinin yapmasına gerek yok. Biraz uğraşınca birnin örneği geliştirilebilir. Ben de size o örneği bu amaçla göndermiştim. Yoksa oturup birinin sizin programınızı yazmasını siz de istemezsiniz değil mi? Tebrikler.. Çok güzel olmuş..
Sağolun,
Elbette öyle sonuçta ben iyice tıkandığım ve örnek bulamadığım noktalarda yardım istemeye gayret gösteriyorum. Bence bu gibi örnekler basit gibi gözükse de veritabanı için olmazsa olmazdır. Herkese saygılarımı tekrar sunuyorum.
 
Üst