• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Lôi khi Query khoảng thời gian từ Access

Nơi trao đổi về các vấn đề trong lập trình Windows Forms, Console dùng cú pháp ngôn ngữ Visual Basic .NET và C#

Điều hành viên: tungblt, vuathongtin

hongcfc
Thành viên chính thức
Thành viên chính thức
Bài viết: 21
Ngày tham gia: T.Năm 03/07/2008 10:34 am

Lôi khi Query khoảng thời gian từ Access

Gửi bàigửi bởi hongcfc » T.Năm 03/08/2017 2:38 pm

Bạn nào giúp mình lỗi tìm record thỏa mãn điều kiện ngày tháng trong Access với, mình đã search nhiều vs thử nhiều cách vẫn ko ra
Đề bài là mình muốn lấy dữ liệu trong khoảng DateFrom đến DateTo
VD cụ thể có dữ liệu là ngày 23/03/2017
Tất cả data trên access, vs cả trong SQL mình đều cho format về dạng “dd/MM/yyyy”
1. Nếu dùng câu SQL so sánh >= and <=
DateFrom 01/03/2017 đến từ 01 đến 03/08/2017 (=> báo ko có dữ liệu) đến khi đổi thành:
DateFrom 01/03/2017 đến 04/08/2017 (=> có dữ liệu ngày 23/03/2017)

M nghĩ nó đang hiểu thành “MM/dd/yyyy” nhưng lạ là khi vẫn câu lệnh này mà ngày tăng lên quá 12 thì nó lại hiểu đúng định dạng dd/MM/yyyy
DateFrom 03/03/2017 đến từ 01 đến 13/08/2017 (=> CÓ)
DateFrom 13/03/2017 đến từ 01 đến 03/08/2017 (=> CÓ)

ĐÂy là câu lệnh SQL (khi đổi sang sử dụng between thì phải điều chỉnh lại DATEFORM chứ ko phải điều chính DATETO như trên mới ra kết quả
"Select * WHERE(CHECKTIME) >=#" + Format(Convert.ToDateTime(txtDATE.Text), "dd/MM/yyyy") + " 00:00:01 AM# and (CHECKTIME)<=#" + Format(Convert.ToDateTime(txtDATETO.Text), "dd/MM/yyyy") + " 11:59:59 PM# ORDER BY CHECKINOUT.USERID
ASC,CHECKTIME DESC



Hình đại diện của người dùng
Dragons
Thành viên trung thành
Thành viên trung thành
Bài viết: 270
Ngày tham gia: T.Tư 25/06/2008 10:58 am
Đến từ: Bến Tre, HCM
Has thanked: 14 time
Been thanked: 8 time

Re: Lôi khi Query khoảng thời gian từ Access

Gửi bàigửi bởi Dragons » T.Hai 07/08/2017 4:57 pm

Mình hay làm như thế này, mình thấy sẽ không phụ thuộc vào máy tính định dạng ngày như thế nào !
Khai báo biến ngày:
  1. Dim ngay As New Date(2017, 8, 7)

Ngày tháng năm mình xác định cụ thể, hàm Date sẽ trả về giá trị ngày theo định dạng của máy tính.
Cứ như vậy là SQL nó=> việc còn lại là để máy tính nó tự hiểu, không cần Format về dd/MM/yyyy, MM/dd/yyyy.... phức tạp.
Sự thông cảm là chiếc chìa khoá vàng mở vào trái tim của người khác.


Quay về “Visual Basic .NET và C# (VB.NET & C#)”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.5 khách