ID Artikel: 210297 - Kajian Terakhir: 19 September 2011 - Revisi: 2.0

Bagaimana mendeteksi waktu Idle pengguna atau tidak aktif di Access 2000

Tips SistemThis article applies to a different operating system than the one you are using. Article content that may not be relevant to you is disabled.

Pada Halaman ini

Perbesar semua | Perkecil semua

RINGKASAN

Artikel ini menunjukkan kepada Anda bagaimana untuk membuat prosedur yang akan dijalankan jika Anda Akses aplikasi tidak mendeteksi input pengguna untuk jangka waktu tertentu. Ini melibatkan menciptakan formulir tersembunyi yang berisi kode yang terus menghitung waktu siaga.

Microsoft menyediakan contoh pemrograman hanya sebagai ilustrasi, tanpa jaminan apa pun baik tersurat maupun tersirat. Termasuk, namun tidak terbatas pada, jaminan tersirat mengenai kelayakan untuk diperdagangkan atau kesesuaian untuk keperluan tertentu. Artikel ini mengasumsikan bahwa Anda telah terbiasa dengan bahasa pemrograman yang ditunjukkan dan dengan alat yang digunakan untuk membuat dan mendebug prosedur. Teknisi dukungan Microsoft dapat membantu menjelaskan fungsionalitas prosedur tertentu, namun mereka tidak akan memodifikasi contoh untuk memberikan fungsionalitas tambahan atau menyusun prosedur untuk memenuhi persyaratan khusus Anda.

Catatan Menggunakan kode ini untuk menambahkan catatan ke meja ketika database siaga dapat menyebabkan pemakaian memori berlebihan.

Cara membuat bentuk DetectIdleTime

  1. Membuat bentuk kosong yang tidak didasarkan pada meja atau permintaan dan nama DetectIdleTime.
  2. Mengatur properti formulir berikut:
       OnTimer: [Event Procedure]
       TimerInterval: 1000
    						
    CATATAN: The TimerInterval pengaturan menunjukkan seberapa sering (dalam milidetik) aplikasi cek untuk pengguna tidak aktif. Pengaturan 1000 sama dengan 1 detik.
  3. Menetapkan OnTimer properti untuk acara prosedur berikut:
    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. Membuat prosedur berikut dalam formulir modul:
    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
    
    					

Cara menggunakan formulir DetectIdleTime

Untuk menyembunyikan bentuk DetectIdleTime ketika membuka aplikasi, membuat makro AutoExec berikut:
   Macro Name   Action
   ----------------------------
   AutoExec     OpenForm


   AutoExec Action Arguments
   ----------------------------
   OpenForm
   Form Name: DetectIdleTime
   View: Form
   Filter Name:
   Where Condition:
   Data Mode: Edit
   Window Mode: Hidden
				
Anda dapat menambahkan kode prosedur IdleTimeDetected jadi prosedur berjalan jika ada tidak ada aktivitas pengguna untuk jumlah waktu yang ditentukan dalam IDLEMINUTES nilai konstan. Sebagai contoh, Anda bisa memiliki akses berhenti dengan acara prosedur berikut:
Sub IdleTimeDetected (ExpiredMinutes)
   Application.Quit acSaveYes
End Sub
				
Prosedur ini menyebabkan akses untuk keluar dari aplikasi, menyimpan semua objek tanpa menampilkan kotak dialog.




REFERENSI

Untuk informasi lebih lanjut tentang acara Timer, di Editor Visual Basic, klik Microsoft Visual Basic bantuan pada Bantuan menu, jenis Acara timer di kantor asisten atau jawaban Wizard, dan kemudian klik Mencari untuk melihat topik.













Berlaku bagi:
  • Microsoft Access 2000 Standard Edition
Kata kunci: 
kbhowto kbhowtomaster kbprogramming kbmt KB210297 KbMtid
Penerjemahan MesinPenerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:210297  (http://support.microsoft.com/kb/210297/en-us/ )