Skip to main content

AccessTr.neT


Kayıt ve Veri Değişikliklerini İzleme Uygulaması

Kayıt ve Veri Değişikliklerini İzleme Uygulaması

#1
Bu uygulama ile tabloya kaydedilen verilerde yapılan değişiklikleri, silinen kayıtları veya eklenen yeni kayıtları   bu değişiklikleri kimin yaptığını takip edebilirsiniz.

Tüm değişiklikleri tabloya kaydeder.

[Resim: do.php?img=5259]

allenbrowne.com/AppAuditCode.html sayfasındaki kodlardan alıntıdır.



Function AuditDelBegin(sCAW As String, saudTmpCAW As String, sKeyField As String, lngKeyValue As Long) As Boolean
'On Error GoTo Err_AuditDelBegin

Dim db As DAO.Database
Dim sSQL As String


Set db = DBEngine(0)(0)
sSQL = "INSERT INTO " & saudTmpCAW & " ( degisiklikturu, degistirmetarihi, degistiren ) " & _
"SELECT 'SilinenKayıt' AS Expr1, Now() AS Expr2, NetworkUserName() AS Expr3, " & sCAW & ".* " & _
"FROM " & sCAW & " WHERE (" & sCAW & "." & sKeyField & " = " & lngKeyValue & ");"
db.Execute sSQL, dbFailOnError

Exit_AuditDelBegin:
Set db = Nothing
Exit Function

End Function


Function AuditDelEnd(saudTmpCAW As String, sAudCAW As String, Status As Integer) As Boolean
'On Error GoTo Err_AuditDelEnd

Dim db As DAO.Database
Dim sSQL As String

Set db = DBEngine(0)(0)
If Status = acDeleteOK Then
sSQL = "INSERT INTO " & sAudCAW & " SELECT " & saudTmpCAW & ".* FROM " & saudTmpCAW & _
" WHERE (" & saudTmpCAW & ".degisiklikturu = 'SilinenKayıt');"
db.Execute sSQL, dbFailOnError
End If

'Remove the temp record(s).
sSQL = "DELETE FROM " & saudTmpCAW & ";"
db.Execute sSQL, dbFailOnError
AuditDelEnd = True

Exit_AuditDelEnd:
Set db = Nothing
Exit Function


End Function


Function AuditEditBegin(sCAW As String, saudTmpCAW As String, sKeyField As String, _
lngKeyValue As Long, bWasNewRecord As Boolean) As Boolean
'On Error GoTo Err_AuditEditBegin

Dim db As DAO.Database
Dim sSQL As String

Set db = DBEngine(0)(0)
sSQL = "DELETE FROM " & saudTmpCAW & ";"
db.Execute sSQL

If Not bWasNewRecord Then
sSQL = "INSERT INTO " & saudTmpCAW & " ( degisiklikturu, degistirmetarihi, degistiren ) " & _
"SELECT 'YeniVeri' AS Expr1, Now() AS Expr2, NetworkUserName() AS Expr3, " & sCAW & ".* " & _
"FROM " & sCAW & " WHERE (" & sCAW & "." & sKeyField & " = " & lngKeyValue & ");"
db.Execute sSQL, dbFailOnError
End If
AuditEditBegin = True

Exit_AuditEditBegin:
Set db = Nothing
Exit Function

End Function


Function AuditEditEnd(sCAW As String, saudTmpCAW As String, sAudCAW As String, _
sKeyField As String, lngKeyValue As Long, bWasNewRecord As Boolean) As Boolean
Dim db As DAO.Database
Dim sSQL As String
Set db = DBEngine(0)(0)

If bWasNewRecord Then

sSQL = "INSERT INTO " & sAudCAW & " ( degisiklikturu, degistirmetarihi, degistiren ) " & _
"SELECT 'YeniKayıt' AS Expr1, Now() AS Expr2, NetworkUserName() AS Expr3, " & sCAW & ".* " & _
"FROM " & sCAW & " WHERE (" & sCAW & "." & sKeyField & " = " & lngKeyValue & ");"
db.Execute sSQL, dbFailOnError
Else

sSQL = "INSERT INTO " & sAudCAW & " SELECT TOP 1 " & saudTmpCAW & ".* FROM " & saudTmpCAW & _
" WHERE (" & saudTmpCAW & ".degisiklikturu = 'YeniVeri') ORDER BY " & saudTmpCAW & ".degistirmetarihi DESC;"
db.Execute sSQL

sSQL = "INSERT INTO " & sAudCAW & " ( degisiklikturu, degistirmetarihi, degistiren ) " & _
"SELECT 'EskiVeri' AS Expr1, Now() AS Expr2, NetworkUserName() AS Expr3, " & sCAW & ".* " & _
"FROM " & sCAW & " WHERE (" & sCAW & "." & sKeyField & " = " & lngKeyValue & ");"
db.Execute sSQL

sSQL = "DELETE FROM " & saudTmpCAW & ";"
db.Execute sSQL, dbFailOnError
End If
AuditEditEnd = True

Exit_AuditEditEnd:
Set db = Nothing
Exit Function

End Function


Örnek 64 bit ofiste çalışacak şekilde yeniden düzenlendi.
.rar kayitkontrol.rar (Dosya Boyutu: 27,49 KB | İndirme Sayısı: 1.894)
Cevapla
#2
Teşekkürler, Eline sağlık.
Cevapla
#3
Hocam ellerinize sağlık
SÖZ VERİYORUM... USLU DURUCAM...
Cevapla
#4
İnceledim, çok kullanışlı ve faydalı bir çalışma olmuş
Cevapla
#5
Hocam ellerinize sağlık çookk güzel olmuş
Cevapla
#6
Kayıt değişikliklerini yapan makina adı yerine kullanıcı girişi yapanın ismi olsa daha güzel olur.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task