ACC: Bagaimana mendeteksi waktu siaga pengguna atau tidak aktif

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 128814 - Melihat produk di mana artikel ini berlaku.
Moderat: Memerlukan dasar makro, coding, dan interoperabilitas keterampilan.
Perbesar semua | Perkecil semua

Pada Halaman ini

RINGKASAN

Artikel ini menunjukkan kepada Anda bagaimana untuk membuat prosedur yang akan dijalankan jika Anda Microsoft Access aplikasi tidak mendeteksi input pengguna untuk jangka waktu.

Artikel ini mengasumsikan bahwa Anda sudah familiar dengan Visual Basic untuk Aplikasi dan membuat aplikasi Microsoft Access menggunakan pemrograman alat-alat yang disediakan dengan Microsoft Access. Untuk informasi lebih lanjut tentang Visual Basic for Applications, silakan merujuk ke gedung" Manual aplikasi".

Catatan: Visual Basic for Applications (digunakan dalam Microsoft Access 7.0 dan Microsoft Access 97) disebut akses dasar dalam versi 2.0.

Catatan: Artikel ini menjelaskan teknik yang ditunjukkan dalam sampel file, FrmSampl.exe (untuk akses Microsoft Windows 95 versi 7.0) dan FrmSmp97.exe (untuk Microsoft Access 97). Untuk informasi tentang cara untuk mendapatkan berkas-berkas sampel ini, silakan lihat artikel berikut di Basis Pengetahuan Microsoft:
150895 ACC95: Microsoft akses sampel membentuk tersedia di Pusat Download
175066 ACC97: Microsoft Access 97 sampel bentuk tersedia di Pusat Download

INFORMASI LEBIH LANJUT

Cara membuat bentuk DetectIdleTime

  1. Membuat formulir kosong yang tidak didasarkan pada meja atau permintaan dan nama DetectIdleTime.
  2. Mengatur properti formulir berikut:
    OnTimer: [Acara prosedur]
    TimerInterval: 1000
    Catatan: Pengaturan TimerInterval menunjukkan seberapa sering (dalam milidetik) memeriksa aplikasi pengguna tidak aktif. Pengaturan 1000 sama dengan 1 kedua.
  3. Masukkan kode berikut untuk properti OnTimer acara prosedur:

    Catatan: dalam kode contoh berikut, garis bawah (_) pada akhir baris digunakan sebagai karakter baris-kelanjutan. Menghapus garis bawah dari akhir baris ketika menciptakan kembali kode ini di akses dasar.
          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. 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 Actions
   ----------------------------
   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 Microsoft Access berhenti dengan acara prosedur berikut:

Dalam Microsoft Access 7.0 dan 97:
   Sub IdleTimeDetected (ExpiredMinutes)
      Application.Quit acSaveYes
   End Sub
				
Dalam Microsoft Access 2.0:
   Sub IdleTimeDetected (ExpiredMinutes)
      Application.Quit A_SAVE
   End Sub
				
Prosedur ini menyebabkan Microsoft Access untuk keluar dari aplikasi, menyimpan semua objek tanpa menampilkan kotak dialog.

REFERENSI

Untuk informasi lebih lanjut tentang acara Timer, Cari membantu indeks untukAcara timer.

Properti

ID Artikel: 128814 - Kajian Terakhir: 14 September 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft Access 2.0 Standard Edition
  • Microsoft Access 97 Standard Edition
Kata kunci: 
kbhowto kbprogramming kbusage kbmt KB128814 KbMtid
Penerjemahan 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:128814
Sanggahan Konten KB yang Tidak Lagi Diperbarui
Artikel ini berisi tentang produk yang tidak lagi didukung oleh Microsoft. Oleh karena itu, artikel ini disajikan ?sebagaimana adanya? dan tidak akan diperbarui.

Berikan Masukan

 

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