ACC: Nasıl kullanıcı boş kalma zamanı veya Faaliyetsizlik Nedeni Algıla

Makale çevirileri Makale çevirileri
Makale numarası: 128814 - Bu makalenin geçerli olduğu ürünleri görün.
Orta: temel makro, kodlama ve birlikte çalışabilirlik becerileri gerektirir.
Hepsini aç | Hepsini kapa

Bu Sayfada

Özet

Bu makalede, Microsoft Access uygulamanız belirtilen süre boyunca herhangi kullanıcı girişi algılamazsa, çalıştırılacak yordamı oluşturulması gösterilmiştir.

Bu makalede, Visual Basic for Applications ve programlama Microsoft Access ile sağlanan araçları kullanarak Microsoft Access uygulamaları oluşturma bildiğinizi varsayar. Hakkında daha fazla bilgi için Visual Basic for Applications "Uygulamalar?n?n Kurulmas?" el kitabına başvurun.

Not: Visual Basic for Applications (Microsoft Access 7.0 ve Microsoft Access 97'de kullanılan) Access Basic sürüm 2.0 adlandırılır.

Not: Bu makalede örnek dosyalarındaki (Microsoft Access for Windows 95 (sürüm 7.0 için) FrmSampl.exe ve FrmSmp97.exe (için Microsoft Access 97'de) gösterilen bir teknik açıklanır. Bu örnek dosyaları elde etme hakkında daha fazla bilgi için lütfen aşağıdaki Microsoft Knowledge Base'deki makaleleri bakın:
150895ACC95: Microsoft Access örnek Yükleme Merkezi'nden kullanılabilir formları
175066ACC97: Microsoft Access 97 Örnek formları kullanılabilir Yükleme Merkezi'ndeki

Daha fazla bilgi

DetectIdleTime formu oluşturma

  1. Bir tablo veya sorguyu temel boş bir form oluşturun ve bu DetectIdleTime adlandırın.
  2. Aşağıdaki form özelliklerini ayarlayın:
    OnTimer: [Olay Yordamının]
    Timerınterval: 1000
    Not: ayarı, ne kadar sıklıkla (milisaniye cinsinden) gösterir Timerınterval, uygulama için kullanıcı etkinlik dışı süreyi denetler. 1 Saniye ayarı, 1000'e eşittir.
  3. Aşağıdaki kodu için olay yordamını OnTimer özelliğini girin:

    Not: Aşağıdaki örnek kodda, bir satır devam karakteri olarak bir satır sonunda alt çizgi (_) kullanılır. Bu kodu, Access Basic yeniden açtığınızda, alt çizgi satır sonundan kaldırın.
          Sub Form_Timer()
             ' IDLEMINUTES determines how much idle time to wait for before
             ' running the IdleTimeDetected subroutine.
             Const IDLEMINUTES = 5
    
             Static PrevControlName As String
             Static PrevFormName As String
             Static ExpiredTime
    
             Dim ActiveFormName As String
             Dim ActiveControlName As String
             Dim ExpiredMinutes
    
             On Error Resume Next
    
             ' Get the active form and control name.
    
             ActiveFormName = Screen.ActiveForm.Name
             If Err Then
                ActiveFormName = "No Active Form"
                Err = 0
             End If
    
             ActiveControlName = Screen.ActiveControl.Name
                If Err Then
                ActiveControlName = "No Active Control"
                Err = 0
             End If
    
             ' Record the current active names and reset ExpiredTime if:
             '    1. They have not been recorded yet (code is running
             '       for the first time).
             '    2. The previous names are different than the current ones
             '       (the user has done something different during the timer
             '        interval).
             If (PrevControlName = "") Or (PrevFormName = "") _
               Or (ActiveFormName <> PrevFormName) _
               Or (ActiveControlName <> PrevControlName) Then
                PrevControlName = ActiveControlName
                PrevFormName = ActiveFormName
                ExpiredTime = 0
             Else
                ' ...otherwise the user was idle during the time interval, so
                ' increment the total expired time.
                ExpiredTime = ExpiredTime + Me.TimerInterval
             End If
    
             ' Does the total expired time exceed the IDLEMINUTES?
             ExpiredMinutes = (ExpiredTime / 1000) / 60
             If ExpiredMinutes >= IDLEMINUTES Then
                ' ...if so, then reset the expired time to zero...
                ExpiredTime = 0
                ' ...and call the IdleTimeDetected subroutine.
                IdleTimeDetected ExpiredMinutes
             End If
          End Sub
    						
  4. Aşağıdaki yordam formu modülünde oluşturmak:
           Sub IdleTimeDetected (ExpiredMinutes)
             Dim Msg As String
             Msg = "No user activity detected in the last "
             Msg = Msg & ExpiredMinutes & " minute(s)!"
             MsgBox Msg, 48
          End Sub
    						

DetectIdleTime formu nasıl kullanılır?

Uygulama açıldığında DetectIdleTime form gizlemek için <a0></a0>, aşağıdaki AutoExec makrosu oluşturun:
   Macro Name   Action
   ---------------------
   AutoExec     OpenForm

   AutoExec Actions
   ----------------------------
   OpenForm:
      Form Name: DetectIdleTime
      View: Form
      Filter Name:
      Where Condition:
      Data Mode: Edit
      Window Mode: Hidden
				
IDLEMINUTES sabit değer belirtilen süre miktarının yok kullanıcı etkinliği varsa yordamını çalıştırır, kod IdleTimeDetected yordamına ekleyebilirsiniz. Örneğin, Microsoft Access, aşağıdaki olay yordamını çıkın olabilir:

Microsoft Access 7.0 ve 97'de:
   Sub IdleTimeDetected (ExpiredMinutes)
      Application.Quit acSaveYes
   End Sub
				
gelen Microsoft Access 2.0:
   Sub IdleTimeDetected (ExpiredMinutes)
      Application.Quit A_SAVE
   End Sub
				
Bu yordam, uygulamanın tüm nesneleri bir iletişim kutusu görüntülemeden kaydetmek çıkmak, Microsoft Access neden olur.

Referanslar

Timer olayı hakkında daha fazla bilgi için Yardım dizini Timer olayı arayın.

Özellikler

Makale numarası: 128814 - Last Review: 19 Ocak 2007 Cuma - Gözden geçirme: 2.3
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Access 2.0 Standard Edition
  • Microsoft Access 95 Standard Edition
  • Microsoft Access 97 Standard Edition
Anahtar Kelimeler: 
kbmt kbhowto kbprogramming kbusage KB128814 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:128814
Kullanım Dışı Bilgi Bankası İçeriği Yasal Uyarı
Bu makale, Microsoft'un artık destek sağlamadığı ürünler ile ilgili olarak yazılmıştır. Bu nedenle, bu makale "olduğu gibi" sağlanmıştır ve bundan sonra güncelleştirilmeyecektir.

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com