Menggunakan tipe data Perpanjangan Tanggal/Waktu

Berlaku Untuk
Access untuk Microsoft 365 Access 2024 Access 2021

Tipe data Diperluas Tanggal/Waktu menyimpan informasi tanggal dan waktu serta serupa dengan tipe data Tanggal/Waktu, tetapi menyediakan rentang tanggal yang lebih besar, presisi fraksional yang lebih tinggi, dan kompatibilitas dengan tipe tanggal datetime2 SQL Server. Ketika mengimpor atau menautkan data Access ke SQL Server, Anda dapat secara konsisten memetakan bidang Tanggal/Waktu Akses yang Diperluas ke kolom SQL Server datetime2. Untuk informasi selengkapnya, lihat datetime2 (Transact-SQL).

Tanggal/Waktu Rentang yang diperluas Peringatan Ketika membuat ekspresi dan menggunakan fungsi tanggal/waktu berdasarkan tipe data Tanggal/Waktu yang Diperluas di Access, Anda mungkin kehilangan presisi dalam penghitungan atau mengalami masalah lain dengan hasil. Kami menyadari masalah ini dan berencana untuk mendukung ekspresi dan fungsi dengan lebih baik dalam rilis mendatang. Sebagai solusinya, Anda dapat Membuat kueri pass-through untuk menggunakan ekspresi SQL Server dan fungsi tanggal/waktu yang setara. Untuk informasi selengkapnya, lihat Membandingkan Access SQL dengan SQL Server TSQL.

Di artikel ini

Membandingkan tipe data Tanggal/Waktu dan Tanggal/Waktu yang diperluas Menggunakan tipe data Perpanjangan Tanggal/Waktu Pertimbangan kompatibilitas mundur Menggunakan tipe data Tanggal/Waktu yang Diperpanjang sebagai string di VBA

Membandingkan tipe data Tanggal/Waktu dan Tanggal/Waktu yang diperluas

Tabel berikut merangkum perbedaan penting antara kedua tipe data.

Atribut Tanggal/Waktu Tanggal/waktu diperpanjang
Nilai minimum 100-01-01 00:00:00 0001-01-01 00:00:00
Nilai maksimum 9999-12-31 23:59:59.999 9999-12-31 23:59:59.9999999
Akurasi 0,001 detik 1 nanodetik
Ukuran Titik mengambang presisi ganda String berkode 42 byte

Atas Halaman

Menggunakan tipe data Perpanjangan Tanggal/Waktu

Informasi berikut menjelaskan pertimbangan penggunaan yang penting.

Tampilan Desain Tabel Untuk memanfaatkan rentang data yang lebih besar dan presisi yang lebih tinggi, Anda dapat menambahkan bidang ke tabel Access. Anda juga dapat mengonversi tipe data Tanggal/Waktu menjadi Tanggal/Waktu yang Diperluas dalam tampilan Desain Tabel. Penggunaan tipe data ini sebagai bidang kunci utama juga didukung. Untuk informasi selengkapnya, lihat Membuat tabel dan menambahkan bidang.

Memasukkan tanggal dan waktu Memasukkan nilai tanggal dan waktu serupa dengan tipe data Tanggal/Waktu, kecuali Anda juga dapat memasukkan nanodetik pecahan. Misalnya:

  • Format entri: mm/dd/yyyy hh:mm:ss.nnnnnnn
  • Contoh: 15/06/1215 09:25:3.234

Jika ada lebih dari 7 nanodetik pecahan, mereka dibulatkan menjadi 7 digit. Untuk mengontrol tampilan nanodetik pecahan, buka Tabel, pada pita pilih Bidang, dan di grup Pemformatan, pilih gambar Tombol TingkatkanDesimal atau Gambar Tombol KurangiDesimal.

Pemformatan Tipe data Tanggal/Waktu dan Tanggal/Waktu Diperluas menggunakan string pemformatan standar yang serupa yaitu Tanggal Umum, Tanggal Panjang, Tanggal Sedang, Tanggal Pendek, Waktu Panjang, WaktuSedang, dan Waktu Pendek dan keduanya mendukung pemformatan kustom. Untuk tipe data Tanggal/Waktu yang Diperluas, format standar berbasis waktu juga mendukung presisi fraksional untuk nanodetik. Pemformatan tipe data Tanggal/Waktu Diperpanjang secara default ke format Tanggal Umum dan Waktu Panjang serta mengikuti opsi yang ditentukan dalam pengaturan regional Windows. Anda juga dapat mengontrol pemformatan presisi pecahan dengan menggunakan properti Decimal Places untuk menentukan jumlah digit di sebelah kanan koma desimal (1-7).

Tautkan dan impor Anda juga dapat menautkan ke atau mengimpor dari database dengan tipe data yang sesuai, seperti tipe data SQL Server datetime2. Database SQL Server versi 2014 atau yang lebih baru didukung. Tipe data Tanggal/Waktu yang Diperpanjang memerlukan penggunaan Microsoft ODBC Driver untuk SQL Server 11 atau yang lebih baru. Sebaiknya gunakan Microsoft ODBC Driver 13.1 untuk SQL Server. Penggunaan OLE DB juga didukung. Untuk informasi selengkapnya, lihat Dukungan Tipe Data untuk Peningkatan Tanggal dan Waktu ODBC serta Menggunakan Fitur Tanggal dan Waktu yang Ditingkatkan (OLE DB).

Formulir dan laporan Anda dapat menambahkan tipe data Diperpanjang Tanggal/Waktu ke formulir atau laporan. Dalam formulir, Anda dapat menggunakan pemilih tanggal dan masker input untuk memasukkan tanggal dengan rentang yang lebih besar, tetapi tidak dengan presisi fraksional untuk nanodetik.

Dukungan Ekspresi Tipe data Tanggal/Waktu yang Diperluas mendukung Fungsi Agregat SQL dan evaluasi ekspresi. Misalnya, menggunakan LoggedDateTime sebagai bidang dengan tipe data Date/Time Extended:

Tugas Contoh Hasil
Temukan nilai minimum Min(LoggedDateTime) Tanggal dan waktu paling awal dalam rentang tersebut
Ekstrak bulan Month(LoggedDateTime) Nama bulan, seperti Januari
Menambahkan satu hari [LoggedDateTime]+1 Selasa akan menjadi Rabu

Atas Halaman

Pertimbangan Kompatibilitas Mundur

Tipe data Tanggal/Waktu yang Diperpanjang tidak kompatibel dengan versi Microsoft Access sebelumnya. Jika tipe digunakan dalam tabel Access lokal, versi Access yang tidak menyertakan fitur tidak akan dapat membuka database.

Anda dapat mengaktifkan atau menonaktifkan tipe data Tanggal/Waktu yang Diperluas untuk menautkan dan mengimpor operasi dengan opsi Akses Database Saat IniMendukung Tipe Data yang Diperluas Tanggal/Waktu untuk Tabel yang Ditautkan/Diportasikan. Untuk informasi selengkapnya, lihat Mengatur opsi pengguna untuk database saat ini.

Atas Halaman

Menggunakan tipe data Tanggal/Waktu yang Diperpanjang sebagai string di VBA

Contoh VBA berikut menggunakan metode DAO untuk menampilkan, memasukkan, dan mengevaluasi tipe data Tanggal/Waktu yang Diperpanjang berdasarkan tabel di bawah ini.

ID DTEData DTData
1 1/1/2 1:01:03.1234567 AM 1/1/2001

Nama tabel: DAPAT DI-DTET
Tipe data ID: Penomoran otomatis
Tipe data DTEData: Tanggal/waktu diperpanjang
Tipe data DTData: Tanggal/Waktu

Contoh: Menampilkan tanggal dan waktu

Contoh berikut menampilkan tanggal dan waktu. Format yang digunakan adalah mm/dd/yyyy hh:mm:ss.nnnnnnn dalam jam 24 jam. Formatnya tidak dapat disesuaikan.


Dim db As Database
Dim rs As Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("DTETable")
Do Until rs.EOF
    Debug.Print rs!DTETable
    rs.MoveNext
Loop

Hasil Akses tampilan: 01/01/0002 01:01:03.1234567.

Contoh: Memasukkan tanggal dan waktu

Contoh berikut memasukkan tanggal dan waktu menggunakan format string. Semua format tanggal dan waktu standar didukung.


Dim db As Database
Dim rs As Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("DTETable")
With CurrentDb.OpenRecordset("DTETable")
    .AddNew
    ![DTEData] = "1/1/9999 1:1:1.0123 AM"
    ![DTData] = #1/1/2001#
    .Update
End With

Hasil Access menambahkan baris baru (ID = 2):

ID DTEData DTData
1 1/1/2 1:01:03.1234567 AM 1/1/2001
2 1/1/9999 1:01:01.0123000 AM 1/1/2001

Contoh: Mengevaluasi ekspresi kueri

Contoh berikut ini menggunakan Fungsi Hari untuk mengekstrak nomor hari dari bidang tanggal dan waktu.


Dim db As Database
Dim rs As Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("SELECT Day(DTEData) as day FROM DTETable")
Do Until rs.EOF
    Debug.Print "The day of the month is: "&rs!day
    rs.MoveNext
Loop

Hasil Akses tampilan:

Hari dalam sebulan adalah: 1
Hari dalam sebulan adalah: 1

Fungsi yang berfungsi dengan Tanggal/Waktu Diperluas dalam ekspresi kueri

Fungsi berikut berfungsi dengan Tanggal/Waktu Diperpanjang dalam ekspresi kueri:
​​​​​​​
Tahun, bulan, hari kerja, hari, jam, menit, detik, dateAdd, DateDiff, dan datePart.

Selain itu, terdapat versi Extended dari beberapa fungsi yang tidak dapat menggunakan tipe argumen untuk menentukan bahwa penghitungan harus menghasilkan nilai Diperpanjang Tanggal/Waktu. Ini adalah:

DateValueExtended, TimeValueExtended, DateSerialExtended, TimeSerialExtended, NowExtended, DateExtended, DateTimeExtended, dan TimeExtended.

Fungsi ini bekerja dengan cara yang sama seperti fungsi tanpa "Diperpanjang" di akhir, tetapi mengembalikan nilai Diperpanjang Tanggal/Waktu, bukan nilai Tanggal/Waktu.

Perhatikan bahwa VBA belum dimodifikasi, fungsi baru tidak akan dikenali dalam kode VBA, dan fungsi yang ada tidak akan berfungsi dengan nilai Diperpanjang Tanggal/Waktu.

Contoh

Kueri asli:


Select DateValue([OrderDate]) AS OrderDateOnly_DateValue

, Format([OrderDate],"Short Date") AS OrderDateOnly_Format

From tblOrders

Sekarang, ubah DateValue([OrderDate]) menjadi DateValueExtended([OrderDate]), yang akan memperbaiki ekspresi pertama.

Perhatikan bahwa Access tidak menangani fungsi Format untuk kolom Tanggal/Waktu yang Diperluas; Anda cukup mengatur properti Format untuk kolom tersebut.

Oleh karena itu, jika Anda menggunakan:


SELECT DateValueExtended([OrderDate]) AS OrderDateOnly_DateValue, Table1.OrderDate

FROM Table1;

Dan atur properti Format untuk kolom kedua ke "Short Date", Anda akan mendapatkan hasil yang Anda inginkan.

Atas Halaman

Lihat Juga

Pengenalan tipe data dan properti bidang

Memformat bidang tanggal dan waktu

Membuat atau menghapus bidang tanggal dan waktu