Makale numarası: 210297 - Son Gözden Geçirme: 28 Nisan 2009 Salı - Gözden geçirme: 4.0

Nasıl yapılır: Kullanıcı Zamanı, boşta kalma veya Faaliyetsizlik nedeni, Access 2000'de Algıla

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.

Bu Sayfada

Hepsini aç | Hepsini kapa

Özet

Bu makalede, 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, boşta kalma süresi tutar kodunu içeren gizli bir form oluştururken içerir.

Microsoft, programlama örneklerini yalnızca gösterim amacıyla sağlar; örtülü veya açık garanti vermez. Buna satılabilirlik veya belirli bir amaca uygunluk zımni garantileri de dahildir, ancak bunlarla sınırlı değildir. Bu makale, gösterilen programlama dilini ve yordamları oluşturmak ve hata ayıklamak amacıyla kullanılan araçları kullanmayı bildiğinizi varsayar. Microsoft destek mühendisleri, belirli bir yordamın işlevselliğinin açıklanmasına yardımcı olabilir, ancak gereksinimlerinizi karşılamaya yönelik olarak ek işlevsellik sağlamak veya yordamlar geliştirmek amacıyla bu örnekleri değiştirmezler.

NotBir veritabanı boştayken, tabloya kayıt eklemek için bu kodu kullanarak, aşırı bellek tüketimini neden olabilir.

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: [Event Procedure]
       TimerInterval: 1000
    						
    Not:Timerınterval ayarını uygulama sıklığı (milisaniye cinsinden) gösterir kullanıcı Faaliyetsizlik Nedeni için denetler. 1 Saniye ayarı, 1000'e eşittir.
  3. Aşağıdaki olay yordamına OnTimer özelliğini ayarlayın:
    Sub Form_Timer()
       ' IDLEMINUTES determines how much idle time to wait for before
       ' running the IdleTimeDetected subroutine.
       Const IDLEMINUTES = 1
    
       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 Action Arguments
   ----------------------------
   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, aşağıdaki olay yordamını çıkın Access olabilir:
Sub IdleTimeDetected (ExpiredMinutes)
   Application.Quit acSaveYes
End Sub
				
Bu yordam, uygulamanın tüm nesneleri bir iletişim kutusu görüntülemeden kaydetmek çıkmak, Access neden olur.




Referanslar

Timer olayı, Visual Basic Düzenleyicisi'nde hakkında daha fazla bilgi için Yardım menüsünde Microsoft Visual Basic Yardımı ' nı tıklatın, Timer olayı, Office Yardımcısı'na veya Yanıt Sihirbazı'nı yazın ve sonra döndürülen konuları görüntülemek için Ara ' yı tıklatın.













Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Access 2000 Standard Edition
Anahtar Kelimeler: 
kbmt kbhowto kbhowtomaster kbprogramming KB210297 KbMttr
Otomatik TercümeOtomatik Tercüme
Ö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:210297  (http://support.microsoft.com/kb/210297/en-us/ )