Formda Verileri Kaydettikten Sonra Tekrar Kayıt Yapılamaması

1 2
08/01/2011, 14:36

HARMANTARLA

merhaba arkadaşlar ben Access te yeniyim.bir personel yapılan işler takip programı hazırladım ama ortak ağda böldüm güzel düzenli çalışıyor fakat bir sorun var bir veri girişi yapıp kaydettikten sonra bir önceki kayda gidiyorum herhangi bir veri de değişiklik yapıyorum ama kaydetmiyorum yeni kayıt ekliyorum kaydetmeden değişiklik yaptığım veriye dönüyorum hiç bir uyarı vermeden o değiştirdiğim veriyi kaydetmiş oluyor ben uyarı vermeden kaydet demeden verilerin değişmesini istemiyorum yardımcı olabilirmisiniz teşekkürler

08/01/2011, 14:40

ercansahin

Örnek eklemeniz daha sağlıklı olur ancak;
Private Sub Metin0_AfterUpdate()
If Me.Metin0 > 0 Then
Me.Metin0.Locked = True
Else
Me.Metin0.Locked = False
End If
End Sub
size bir fikir verebilir. Bu durum metin kutuları için ayrı ayrı uygulanır. Ancak bir çok metin kutusuna aynı anda bu işlemi gerçekleştirmek isterseniz size tavsiyem im kullanmanızdır. Deneyip sonucu bildiriniz.
08/01/2011, 16:14

alpeki99

Access'te bahsetmiş olduğunuz şey normaldir. Çünkü formunuz tabloya kayıtlı olduğundan kaydet demeseniz bile değişiklikler kaydedilir. Buna ne çözüm üretebiliriz ona bakalım :

1- BlackEagle abimin dediği gibi kayıt işlemi sonrasında tüm alanları kilitlersiniz. Kilitlenen metin kutularında değişiklik yapılamaz. Düzenleme ve Yeni kayıt için bir buton koyup tüm alanları aktif edersiniz.

2- Dirty komutu ile kayıtta değişiklik olup olmadığını denetlersiniz. Değişiklik varsa Dirty ile tespit eder ve kaydetmek isteyip istemediğini sorarsınız.

3- ADO kullanırsınız ve tüm kontrol elinizde olur. Şu anki bilgi seviyenize göre en iyi seçenek birincisi olacaktır.
08/01/2011, 16:20

ercansahin

Sn alpeki hocamın anlatımları sonrasında aklıma kilitlemeyle ilgili pratik bir çözüm olarak formun özelliklerinde yer alan Düzenleme İzni alanını Hayır yaparsanız da kayıtlar girildikten sonra düzenlemenize, yani değiştirmenize izin vermeyecektir.

Bu durumun ne sakıncası olur derseniz, sonrasında kendiniz bile isteseniz düzenleme/değiştirme yapamazsınız.

Bu nedenle tavsiye edeceğim iki yol var. Birincisi bir önceki mesajımda belirttiğim yöntem ile metin kutularını kilitlerken, oluşturacağınız şifreli bir buton ile metin kutularının yeniden açılmasını sağlayabilirsiniz.

Diğer bir yöntem ise Araçlar/Güvenlik/Kullanıcı ve Grup İzinleri menüsünden kullanıcıların yetkilerini kısıtlamak olacaktır. yalnız bu konuyu iyi incelemeden ve tam vakıf olmadan uygulamamanızı tavsiye ederim. Kolay gelsin.
08/01/2011, 17:13

HARMANTARLA

alpeki99 ve BlackEagle
hocam çok teşekkür ederim 1.konuyu biraz açabilirmisiniz
08/01/2011, 17:59

alpeki99

Kaydetme işleminden sonra tüm metin kutularının kilitlenmesini sağlamalısınız. Aslında dosyanızı ekleseydiniz çok daha iyi yardımcı olabilirdik ancak örnek olması açısından aşağıdaki kodu inceleyiniz.


Kaydetme işlemini yaptıktan sonra tüm metin kutularınızı kilitleyin. Bu işlemi otomatik olarak yapan bir kod var ancak şimdilik bunu tecrübe edin.


MetinKutusuAdı1.Locked = True
MetinKutusuAdı2.Locked = True
MetinKutusuAdı3.Locked = True
MetinKutusuAdı4.Locked = True

Sonra Düzenle isminde bir buton koyun ve tıklanma olayına aşağıdaki kodları yazın.


MetinKutusuAdı1.Locked = False
MetinKutusuAdı2.Locked = False
MetinKutusuAdı3.Locked = False
MetinKutusuAdı4.Locked = False
1 2