AccessTr.neT

Tam Versiyon: Kayıtlarda Yapılan Değişiklikleri Gözlemleme (Log Tutma) Örneğ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 4 5 6 7
Merhabalar..

Kullanıcı işlemlerini gözlemleme, kayıt altına alma (log tutma) işlemlerinin, sitede sık sorulan, yardım istenen konulardan biri olduğunu görüyorum..

Bu konudaki örnekler genelde çok tatminkâr değildir.. Daha önceden hazırlamış ve de paylaşmış olduğum ekteki örneği üyelerin istifade etmesi adına burada da paylaşıyorum.. Bu örnekte log tutma işlemini ayrıntılı bir şekilde işlemeye çalıştım..

Uygulamanın kullanımı hakkında aşağıda yazılan ayrıntılar diğer paylaşımımdan alıntıdır..



Alıntı:
[Resim: casus1t.jpg]

Merhaba değerli arkadaşlar.. Img-grin

Bazen, uygulamalarımızı başkalarının kullanımına açtığımızda tüm inisiyatiflerin yine de bizde olmasını istediğimiz durumlar olabiliyor..

Şimdi sizlerle paylaşacağım, KAYIT CASUSU adını verdiğim serinin bu son uygulaması ile de kullanıcıların form üzerinden yaptıkları tüm değişiklikleri kayıt altına alıyoruz..

Bu konuyu biraz daha açmak gerekirse; kullanıcının yaptığı tüm değişiklikler ayrı bir tabloda,
  • Kullanıcının adı,
  • Değiştirilme zamanı,
  • Değişikliğin yapıldığı formun adı,
  • Değişikliğin yapıldığı kayıt kaynağı (tablo ya da sorgu ismi),
  • Hangi kaydın değiştiği (kaydın kimlik numarası),
  • Değişikliğin yapıldığı denetim adı (metin kutusu, açılan kutu vb.),
  • Değiştirilen veri,
  • Değiştirilen verinin yerine ne girildiği,
  • Kayıt tümüyle silindi ise bunun açıklaması,
  • Yeni bir kayıt girilmiş ise bunun açıklaması
bilgileri kayıt altına alınıyor..

Kullanıcının sadece metin kutusu ve açılan kutu üzerinden yaptığı değişiklikleri değil onay kutusu veya seçenek grubunda yaptığı kayıt değişiklikleri de görebiliyoruz.. Önemli olan denetimin bir kaynağa bağlı olması..

[Resim: casus2.jpg]


Çalışmayı uygulamanızda kullanmak için Kayit_Casusu ile Oturum isimli modülleri ve Tbl_Guncelleme_Kaydi isimli tabloyu çekiniz..

Sonrasında hangi formda kullanmak istiyorsanız (Tipi önemli değil. Tek form ya da Sürekli form olabilir) o formun Güncelleştirme Öncesinde kısmına

Kod:
Call KayitCasusu(Form, [Kayıt Kimliği])

yazmanız yeterli..

Burada dikkat etmeniz gereken tek nokta [Kayıt Kimliği] kısmına formunuzdaki benzersiz alanın bulunduğu denetimin ismini yazmanız gerekiyor (PersonelNo, UrunNo vb.).. Bu sayede güncellemelerin hangi kayıt üzerinde yapıldığını öğrenebileceğiz..

Yukarıdaki işlem sadece değiştirilen kayıtları bize bildirir.. Siz, "kullanıcı kaydı sildiğinde veya yeni kayıt eklediğinde de haberim olsun." derseniz eğer, silinme olayı için formunuzun Silindiğinde yordam kısmına

Kod:
Call Silinme(Form, [Kayıt Kimliği])

yazınız.. Yeni kayıt içinse Ekleme Sonrasında yordamına

Kod:
Call Ekleme(Form, [Kayıt Kimliği])

yazmanız yeterli.. [Kayıt Kimliği] kısmını düzenlemeyi unutmayınız..

Alt formlarda kullanımı ise aşağıdaki gibi olmalı..:

Kod:
Call KayitCasusu(Forms.ÜstFormAdı.AltFormAdı.Form, [Kayıt Kimliği])

Silinme ve Eklenme haraketleri için de aynı şey geçerli..


Uygulamanın üzerinde çalışıldığı örnek ektedir.. Şifreler aynı..: 123







Alıntı: 27 Haziran 2011 Tarihli Güncelleme
  • Tarihler arası filtre seçeneği eklendi.
  • Listedeki verilerin beş farklı dosya biçiminde dışarı aktarılması için seçenek eklendi..:
    • Excel
    • Word
    • HTML
    • Pdf
    • Text
  • Aktarılan kayıtlar için silinme seçeneği eklendi.
Paylaşım için teşekkürler Sn Taruz..
Sayın Taruz;

Hocam merhaba...

Her zaman yararlı çalışmalarınızı ve katkılarınızı bizlerden esirgemiyorsunuz... İyi ki varsınız.. Teşekkürler..

Selam ve sevgiler..
Sn Taruz detaylı anlatım için teşekkürler. Saygılar...
Sayin Taruz;
Bu essiz paylasim icin tesekkurler...
Teşekkürler Sn. Taruz.
Sayfalar: 1 2 3 4 5 6 7