Access
 sql >> Teknologi Basis Data >  >> RDS >> Access

CARA:Jalankan Tugas Terjadwal dengan Microsoft Access

Pernahkah Anda ingin menjalankan beberapa kode Akses pada jadwal otomatis?

Saya akan menunjukkan cara menggunakan aplikasi Access yang ada untuk berjalan dan keluar dengan anggun saat diluncurkan melalui Penjadwal Tugas sambil tetap menghadirkan antarmuka pengguna yang ramah saat diluncurkan oleh pengguna akhir.

Kunci untuk membuatnya bekerja adalah /cmd bendera.

Meneruskan Argumen Baris Perintah ke Akses

Untuk meneruskan argumen baris perintah untuk mengakses, Anda menggunakan /cmd argumen baris perintah saat meluncurkan aplikasi Anda:

Menentukan bahwa apa yang mengikuti pada baris perintah adalah nilai yang akan dikembalikan oleh Perintah fungsi. Opsi ini harus menjadi sakelar terakhir pada baris perintah. Anda dapat menggunakan titik koma (;) sebagai alternatif dari /cmd .

Gunakan sakelar ini untuk menentukan argumen baris perintah yang dapat digunakan dalam kode Visual Basic for Applications (VBA)

Untuk mengambil teks yang Anda teruskan pada baris perintah mengikuti /cmd argumen, Anda menggunakan VBA.Command fungsi.

Anda dapat menggunakan fungsi ini saat startup untuk mengarahkan ulang kode Anda untuk melakukan tugas berulang apa pun.

Contoh Praktis

  1. Buat database baru
  2. Tambahkan kode berikut ke modul standar baru:
Public Function Startup()
    
    If Trim(VBA.Command) = "Nightly" Then
        Shell "winver", vbNormalFocus
        Application.Quit
    End If
    MsgBox "Start up"
   
End Function
  1. Buat makro baru
  2. Pilih "RunCode " dari tarik-turun "Tambahkan Tindakan Baru"
  3. Setel "Nama Fungsi" ke Startup()
  4. Tutup dan simpan makro sebagai "AutoExec "

Jalankan Sebagai Pengguna Biasa

Untuk menguji aplikasi sebagai pengguna biasa, cukup padatkan dan perbaiki database.

Anda akan melihat kotak pesan yang mengatakan, "Mulai."

Jalankan Sebagai Tugas Terjadwal

Untuk meniru menjalankan sebagai tugas terjadwal, tutup database Anda dan luncurkan dengan perintah berikut:

"C:\Path\To\msaccess.exe" "C:\Path\To\MyDb.accdb" /cmd Nightly

Access akan berkedip sebentar di layar, lalu Anda akan melihat kotak dialog "About Windows", dan Access akan menutup sendiri.

Beberapa Catatan

  • AutoExec adalah makro khusus yang berjalan secara otomatis saat startup
  • Meskipun Startup() rutin tidak mengembalikan nilai, kami mendeklarasikannya sebagai Function karena kita tidak bisa langsung memanggil Sub dari makro di Access
  • Dalam penggunaan normal, kode jendela cmd akan dilewati
  • Saya secara eksplisit memanggil Application.Quit di dalam blok "Nightly" saya untuk menghindari Access tergantung pada kode yang memerlukan interaksi pengguna (seperti kode MsgBox dalam contoh saya)
  • Saya selalu memanggil Trim() di sekitar VBA.Command berfungsi untuk menghindari bug yang diperkenalkan dengan memimpin atau membuntuti spasi kosong pada baris perintah
  • Sebagai alternatif dari /cmd , Anda juga dapat menggunakan /x ganti dan berikan nama makro khusus (Saya tidak melakukannya karena saya benci makro dengan hasrat seribu matahari yang panas; hanya dua makro yang pernah saya gunakan adalah Autoexec dan Autokeys karena mereka menyediakan fungsionalitas khusus )

Catatan Akhir Tentang Penjadwal Tugas dan Mengotomatiskan Aplikasi Office Lainnya

Jika tugas Anda tampaknya tidak berfungsi saat Anda menyetelnya untuk dijalankan dalam semalam, coba alihkan opsi tugas terjadwal ke "Jalankan hanya saat pengguna masuk".

Aplikasi Office tidak dimaksudkan untuk berjalan dalam mode "non-interaktif" yang disebut Windows. Jika Anda menetapkan tugas terjadwal ke "Jalankan apakah pengguna masuk atau tidak", tugas itu akan berjalan dalam mode non-interaktif. Ini dapat menyebabkan berbagai masalah, terutama jika Anda mengotomatiskan Excel sebagai bagian dari proses berulang.

Solusi paling sederhana adalah mengunci workstation alih-alih log off dan membiarkan opsi disetel ke "Run only when user log on."

Itu mungkin tidak praktis dalam situasi Anda, tetapi ini merupakan pertimbangan penting yang harus diperhatikan. Anggap diri Anda telah diperingatkan:

Microsoft saat ini tidak merekomendasikan, dan tidak mendukung, Otomatisasi aplikasi Microsoft Office dari aplikasi atau komponen klien non-interaktif tanpa pengawasan


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. CARA:Jalankan Tugas Terjadwal dengan Microsoft Access

  2. Hari Cadangan Sedunia:4 Fakta Menarik Kehilangan Data untuk Diketahui

  3. Apakah Bisnis Anda Membutuhkan Database SDM?

  4. Tren Teratas dalam Manajemen Basis Data

  5. Apa Artinya Membagi Basis Data Microsoft Access?