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ı:
Merhaba değerli arkadaşlar..
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,bilgileri kayıt altına alınıyor..
- 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ı
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ı..
Ç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
yazmanız yeterli..Kod:Call KayitCasusu(Form, [Kayıt Kimliği])
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
yazınız.. Yeni kayıt içinse Ekleme Sonrasında yordamınaKod:Call Silinme(Form, [Kayıt Kimliği])
yazmanız yeterli.. [Kayıt Kimliği] kısmını düzenlemeyi unutmayınız..Kod:Call Ekleme(Form, [Kayıt Kimliği])
Alt formlarda kullanımı ise aşağıdaki gibi olmalı..:
Silinme ve Eklenme haraketleri için de aynı şey geçerli..Kod:Call KayitCasusu(Forms.ÜstFormAdı.AltFormAdı.Form, [Kayıt Kimliği])
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
- Text
- Aktarılan kayıtlar için silinme seçeneği eklendi.