AccessTr.neT

Tam Versiyon: Bir alandaki değişen kayıtları kaydetmek : Kayıt Geçmişi
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Sayfalar: 1 2 3
Bir tabloda yer alan kayıtlardaki değişiklikleri takip etmek istediğinizi düşünelim. Bunun için kendiniz kod yazabilir, yeni bir tabloya kaydedebilirsiniz. Bunun alternatifi ise Microsoft Access ile varsayılan olarak gelmektedir. Access 2007 versiyonundan itibaren tablo alanlarındaki değişiklikler Access tarafından takip edilip kaydediliyor.

Tablonuzda yer alan Açıklama türü bir alan olduğunu varsayalım. Bu alan Not türünde ve değişiklikleri takip edeceğiz.

[Resim: Gecmis_islemleri_Kaydet_Tablo_Tasarimi.png]

Burada dikkat etmeniz gereken alan özelliklerinin olduğu Genel Sekmesi içindeki Yalnızca Ekle Hayır yerine Evet olmalıdır.

[Resim: Gecmis_islemleri_Kaydet_Form_Tasarimi.png]

Tablomuzu esas alan formda tablodaki 4 alana ait metin kutusu yer almaktadır. Bunlar haricinde yeni bir metin kutusunu ekliyoruz. Bu metin kutusu İlişkisiz olacak yani Denetim Kaynağında hiç bir alana bağlı olmayacak.

[Resim: Gecmis_islemleri_Kaydet_Alan_Denetim_Kaynagi.png]

Yeni eklediğimiz metin kutusunun Denetim Kaynağına gerekli kodumuzu yazıyoruz. Burada kullanacağımız komutun adı ColumnHistory Access 2010 versiyonu ile birlikte SütunGeçmişi olarak Türkçe olarak kullanılabilmekte.

Burada kullanacağımız komut :


=ColumnHistory([RecordSource];"aciklama";"[kayit_id]=" & Nz([kayit_id];0))

Artık Açıklama isimli alanda değişiklik yapıp kaydettikten ya da başka bir kayıda geçtikten sonra o alanda yaptığınız kayıt yeni metin kutumuza zaman bilgisi ile birlikte kaydedilecektir.

[Resim: Gecmis_islemleri_Kaydet_Sonuc.png]

NOT : Derste anlatılan örnek dosya eklenmiştir.
Sn alpeki hocam eline sağlık çok güzel bir anlatım olmuş. Teşekkürler.
alkisalkisalkis
Saygılar....
Sayın alpeki99;

Emek ve paylaşımınız için teşekkürler..
Sayın alpeki çok sağolun. Misilak arkadaş sormuştu. Örnek olarak demirbaşlar veritabanı eklemişti. Orada gördüm ilk. nasıl yapılmış diye baktım ama işin içinden çıkamayıp kod yazmaya başlamıştım. Bayağı bir tren muamelesi yapmıştım programa. Sayende bir şey daha öğrendim.
Hocam anlatım için çok teşekkürler.
teşekkürler
Sayfalar: 1 2 3