Saya bekerja dengan Crystal Reports 2016. Sumber data adalah MS SQL Server 2008 R2. Saat ini saya dapat meminta pengguna untuk rentang tanggal untuk laporan saya menggunakan parameter. Saya juga ingin menambahkan prompt untuk rentang waktu. Menggunakan prompt untuk parameter DateTime tidak melakukan apa yang saya inginkan. Rentang tanggal akan memilih jendela hari yang lebih besar, dan rentang waktu akan memilih waktu selama hari laporan akan menampilkan data. Menggunakan prompt parameter DateTime hanya menambah presisi pada awal / akhir hari / waktu laporan dan tidak melakukan apa yang saya inginkan. Kedua prompt akan merujuk ke catatan DateTime yang sama dalam database.
Saya telah mencoba menambahkan parameter yang terpisah, kedua, parameter untuk waktu yang tepat, tetapi itu memiliki hasil yang sama dengan mengubah prompt parameter ke nilai DateTime. Saya akan tegaskan: itu bukan hasil yang saya inginkan.
Sebagai contoh konkret, spesifik, saya ingin menggunakan data yang valid untuk 1 September - 31 Oktober di mana hal yang saya laporkan terjadi antara pukul 14:00 dan 22:00 EST pada setiap atau semua hari itu. Jika saya memiliki pilihan DateTime, saya dapat memilih 1 September, 2 siang dan 31 Oktober, 10 malam. Namun, bukan itu yang saya coba pilih.
Pada dasarnya, pilih data yang terjadi pada hari-hari ini antara pukul 14:00 dan 22:00. Di mana tanggal mulai dan tanggal akhir dapat dipilih; dan waktu mulai dan waktu selesai dapat dipilih.
Menggunakan SQL parlance, saya pikir saya ingin gabungan antara rentang tanggal dan rentang waktu (satu tengah):
Contoh yang sama sekali tidak terkait tetapi serupa; Fenomena ini mirip dengan pertemuan di Outlook. Anda dapat (tetapi tidak boleh) membuat pertemuan yang sangat panjang yang dimulai pada 1 hari / waktu, dan berakhir pada hari / waktu lain beberapa hari kemudian, tetapi Anda harus membuat pertemuan berulang untuk mengelola dengan benar jadwal kamar Anda dan Anda. Saya mencari untuk memilih catatan dengan cara yang mirip dengan pertemuan berulang.
Bagaimana saya bisa membuat select expert
aturan untuk mendapatkan data yang saya cari? Apakah ada cara lain yang bisa saya lakukan ini? Mungkin subreport?
sumber
HH
adalah antara 14:00 dan 22:00 menggunakanDATEPART
fungsi. Jadi misalnya tanpa menggunakan kolom secara eksplisitSELECT * FROM Table WHERE DATEPART(hh,[DateField]) BETWEEN 14 AND 22
dalam tampilan dan kemudian arahkanselect expert
laporan untuk mendapatkan data untuk periode tanggal yang dipilih darinya. Cara lain adalah dengan membuat permintaan T-SQL yang sama menjadi CR SQL Command tetapi tampilan SQL mungkin jauh lebih baik.SELECT * FROM Table WHERE DATEPART(hh,[DateField]) BETWEEN 14 AND 22
dan Anda bisa menjadi kolom spesifik dengan permintaan dalam tampilan SQL jadiselect column1, column2 FROM ~
dll, bukan*
.