Video yardımcı olabilir.
Form Verilerinde Değişiklik Olup Olmadığını Kontrol Etmek
evet tam bu konuyu anlatmış çok teşekkürler
Rica ederim.
Ben kodları tek yazdım ve değiştirdim biraz videodaki kodları.
Örnek olarak durabilir 60 saniyeden geri saydırma olarak yaptım.
Örnek olarak durabilir 60 saniyeden geri saydırma olarak yaptım.
Option Compare Database
Const sure As Long = 60 '1 dakika
Const saniye As Long = 1000 'saniye cinsi
Private Sub Form_Load()
TimerInterval = saniye
End Sub
Private Sub Form_Timer()
Static OldcontrolName As String
Static OldFormName As String
Static ExpiredTime
Dim ActiveControlName As String
Dim ActiveFormName As String
Dim ExpiredMinutes
On Error Resume Next
ActiveControlName = Screen.ActiveControl.Name
ActiveFormName = Screen.ActiveForm.Name
If (OldcontrolName = "") Or (OldFormName = "") _
Or (ActiveFormName <> OldFormName) _
Or (ActiveControlName <> OldcontrolName) Then
OldcontrolName = ActiveControlName
OldFormName = ActiveFormName
ExpiredTime = 0
Else
ExpiredTime = ExpiredTime + Me.TimerInterval
End If
' ExpiredMinutes = (ExpiredTime / saniye) / sure
ExpiredMinutes = (ExpiredTime / saniye)
Me.txtSay = sure - ExpiredMinutes
If sure - ExpiredMinutes <= 0 Then
ExpiredTime = 0
MsgBox "Süre bitti...", vbInformation, "Süre"
End If
End Sub
Çok teşekkürler emeğiniz için ilk fırsatta deneyeceğim
sn. @feraz şu şekilde değiştirince daha güzel oldu value değerinide kontrol ederek geri sayımı tekrar başlatacak
sn. @feraz şu şekilde değiştirince daha güzel oldu value değerinide kontrol ederek geri sayımı tekrar başlatacak
Private Sub Form_Timer()
Static OldcontrolValue As String
Static OldcontrolName As String
Static OldFormName As String
Static ExpiredTime
Dim ActiveControlValue As String
Dim ActiveControlName As String
Dim ActiveFormName As String
Dim ExpiredMinutes
On Error Resume Next
ActiveControlName = Screen.ActiveControl.Name
ActiveControlValue = Me(ActiveControlName).Value
ActiveFormName = Screen.ActiveForm.Name
If (OldcontrolName = "") Or (OldFormName = "") _
Or (ActiveFormName <> OldFormName) _
Or (ActiveControlValue <> OldcontrolValue) _
Or (ActiveControlName <> OldcontrolName) Then
OldcontrolValue = ActiveControlValue
OldcontrolName = ActiveControlName
OldFormName = ActiveFormName
ExpiredTime = 0
Else
ExpiredTime = ExpiredTime + Me.TimerInterval
End If
' ExpiredMinutes = (ExpiredTime / saniye) / sure
ExpiredMinutes = (ExpiredTime / saniye)
Me.txtSay = sure - ExpiredMinutes
If sure - ExpiredMinutes <= 0 Then
ExpiredTime = 0
MsgBox "Süre bitti...", vbInformation, "Süre"
End If
End Sub
Sevindim abey istediğiniz gibi olduğuna.
Konuyu Okuyanlar: 1 Ziyaretçi