Objek akses data (DAO) LastUpdated properti mengembalikan salah tanggal/waktu di Microsoft Access database

Advanced: membutuhkan pengkodean ahli, interoperabilitas, dan keterampilan Multiuser.Artikel ini hanya berlaku untuk Microsoft Access database (MDB).

Gejala

Objek akses data (DAO) Lastupdated properti mengembalikan tanggal/waktu salah untuk Microsoft Access formulir, laporan, makro, dan modul.

Penyebab

Microsoft Access tidak memberi tahu Microsoft jet Database Engine tentang modifikasi objek akses khusus (formulir, laporan, makro, dan modul); oleh karena itu, kolom Dateupdate dalam tabel Msysobjects tidak pernah dimutakhirkan dengan benar tanggal dan waktu. Perilaku yang sama benar untuk Microsoft Access 2007, yang menggunakan Microsoft Access Database Engine.

Status

Microsoft telah mengkonfirmasi bahwa ini adalah masalah di dalam produk Microsoft yang tercantum di bagian awal artikel ini.

Informasi Selengkapnya

Properti Lastupdated yang disediakan oleh Dao mengembalikan benar tanggal/waktu untuk objek mesin pangkalan data (tabel, permintaan, dan hubungan), tetapi hanya mengembalikan tanggal pembuatan, bukan tanggal Modifikasi terakhir untuk Microsoft Access spesifik-objek (formulir, laporan, makro, dan modul). Sebelum Microsoft Access 2000, Microsoft Access menggunakan berkas jet database (MDB) untuk menyimpan objek database kedua (tabel, permintaan, dan hubungan) serta objek Microsoft Access khusus (formulir, laporan, makro, dan modul). Microsoft Access disimpan objek tertentu dalam tabel sistem jet, khususnya tabel MSysObjects dan MSysModules (atau MSysModules2). Kolom Dateupdate dalam tabel MSysObjects bertanggung jawab untuk menyimpan tanggal Modifikasi terakhir objek dan kolom yang menggunakan Dao lastupdated properti untuk mengembalikan objek terakhir diubah tanggal. Ketika pengguna diubah dan disimpan objek di versi sebelumnya, Microsoft Access diberitahu jet Database Engine yang objek telah dimodifikasi, dan jet memperbarui kolom Dateupdate ke tanggal dan waktu. Microsoft Access 2000 memperkenalkan berkas proyek (. ADP) akses, yang memiliki kemampuan untuk menghubungkan langsung ke Microsoft SQL Server database tanpa menggunakan mesin database jet. Karena file ADP tidak menggunakan mesin database jet (atau Access Database Engine), akses tidak dapat menggunakan format penyimpanan yang sama yang sebelumnya digunakan dalam database jet untuk objek khusus akses. Itu harus menyimpannya dalam format penyimpanan Doc OLE baru yang dapat diakses di kedua jet database dan akses proyek. Ketika pengguna awalnya membuat Microsoft Access khusus objek baru, seperti bentuk), Mesin pangkalan data masih memasuki tanggal dan waktu ke kolom Datecreate dan dateupdate dalam tabel MSysObjects. Namun, ketika pengguna memodifikasi dan menyimpan objek, Microsoft Access tidak memberi tahu mesin pangkalan data; oleh karena itu, kolom Dateupdate selalu tetap sama. Selain itu, Anda mungkin telah memperhatikan bahwa jendela pangkalan data (dalam versi sebelum akses 2007) dan panel navigasi di akses 2007 atau akses 2010 menampilkan tanggal dan waktu yang benar untuk modifikasi terakhir objek. Hal ini karena Microsoft Access menggunakan mekanisme internal untuk menyimpan tanggal dibuat dan tanggal dimodifikasi, independen dari mesin database. Sayangnya, Microsoft Access tidak memaparkan informasi ini dalam model objeknya; oleh karena itu, tidak ada programatik cara untuk mendapatkan informasi ini di Microsoft Access.

Langkah untuk mereproduksi perilaku

  1. Mulai Microsoft Access, dan kemudian membuat database baru, kosong.

  2. Membuat bentuk baru, kosong di tampilan desain.

  3. Tambahkan kotak teks ke formulir.

  4. Simpan bentuk sebagai Frmlastupdated, dan kemudian tutup.

  5. Di Access 2003 dan versi yang lebih lawas dari akses, pilih tampilan menu dan klik rincian. Di Access 2007 atau akses 2010, klik kanan pada header kategori di panel navigasi di sebelah kiri dan klik tampilan dengan rincian. Ini akan menampilkan tanggal yang dimodifikasi dan dibuat untuk setiap objek. Perhatikan bahwa kolom dimodifikasi dan dibuat untuk bentuk frmLastUpdated ditetapkan ke tanggal dan waktu yang sama.

  6. Tekan CTRL + G untuk membuka jendela segera di Penyunting Visual Basic. (Di Access 2007 atau akses 2010, Anda harus terlebih dahulu mengaktifkan konten atau pangkalan data harus berada di lokasi terpercaya.)

  7. Ketik baris berikut ke jendela segera, dan kemudian tekan ENTER:

    ?CurrentDb.Containers("Forms").Documents("frmLastUpdated").LastUpdated

    Perhatikan bahwa tanggal dan waktu kembali sesuai dengan kolom yang dimodifikasi dan dibuat di jendela database.

  8. Tekan ALT + F11 untuk beralih kembali ke Microsoft Access.

  9. Buka borang frmLastUpdated di tampilan desain.

  10. Tambahkan kotak teks kedua ke formulir, lalu simpan dan tutup. Perhatikan bahwa kolom diubah di jendela database berisi diperbarui tanggal dan waktu untuk bentuk.

  11. Ulangi langkah 7 dan 8.

Catatan Properti Lastupdated masih mengembalikan tanggal dan waktu asli dan bukan baru tanggal dan waktu ditampilkan di kolom diubah di jendela database.

Perlu bantuan lainnya?

Kembangkan keterampilan Anda
Jelajahi pelatihan
Dapatkan fitur baru terlebih dahulu
Gabung Microsoft Insider

Apakah informasi ini bermanfaat?

Terima kasih atas umpan balik Anda!

Terima kasih atas umpan balik Anda! Sepertinya menghubungkan Anda ke salah satu agen dukungan Office kami akan sangat membantu.

×