Form Verilerinde Değişiklik Olup Olmadığını Kontrol Etmek

1 2 3 4 5 6 7
23/03/2020, 16:49

feraz

Video yardımcı olabilir.

23/03/2020, 17:11

accessman

evet tam bu konuyu anlatmış çok teşekkürler
23/03/2020, 18:13

feraz

Rica ederim.
23/03/2020, 21:12

feraz

Ben kodları tek yazdım ve değiştirdim biraz videodaki kodları.

Ö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
23/03/2020, 22:50

accessman

Ç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
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
24/03/2020, 11:06

feraz

Sevindim abey istediğiniz gibi olduğuna.
1 2 3 4 5 6 7