Ðề: Vấn đề ngày tháng trong Access
Nghe bác Phatnq2002 nói em thấy cũng có vẻ rắc rối vấn đề ngày tháng nhỉ.Mà theo bác nếu nhập theo kiểu yyyy/MM/dd thì có phải đặt Format trên Textbox Date là yyyy/MM/dd không ?
Mà theo em nghĩ nếu ngày hệ thống đang để là MM/dd/yyyy thì khi nhập dữ liệu nó vẫn bắt mình nhập theo kiểu đó chứ.
Thông lệ, có 2 hình thức format:
Display format: định dạng hiển thị giá trị hiện có của control
Edit format: định dạng giá trị khi nhập
Cái rắc rối ở chỗ là cái Display format. Nếu Edit format = Display format thì không vần đề gì, nhưng nếu khác là có chuyện như đã, đang bàn.
Tuy nhiên, như một ngầm định, hầu hết các ứng dụng khi nhập vào theo dạng yyyy/MM/dd (tức là Edit format) thì sẽ tự động chuyển dạng Display format theo đúng như hệ thống, hoặc theo Custom format (format do người dùng đặt).
Bạn có thể thử trên Excel hoặc Access để thấy.
Riêng với Excel, nếu định dạng hệ thống là MM/dd/yyyy, thì khi bạn nhập vào một giá trị ngày dạng dd/MM/yyyy nhưng có dd <= 12 thì Excel xem như đó là tháng. VD: nếu ta nhập vào ngày 12/02/2010 thì Excel hiểu là
tháng 12 ngày 2 năm 2010. Nếu dd > 12 thì giá trị đó được hiểu là Text chứ không phải là Date. (Bằng chứng là giá trị đó được mặc định canh trái ô).
Với Access, nếu định dạng hệ thống là MM/dd/yyyy, thì khi bạn nhập vào textbox một giá trị ngày dạng dd/MM/yyyy nhưng có dd <= 12 thì Access xem như đó là tháng. Nhưng nếu dd > 12 thì Access tự động hiểu đó là ngày. VD: nếu nhập ngày 12/02/2010 thì Access hiểu là
tháng 12 ngày 2 năm 2010. Nếu nhập ngày 13/02/2010 thì Access hiểu là
tháng 2 ngày 13 năm 2010.
Như vậy, tùy theo tình huống, trường hợp thì nên dùng cách nào cho hợp lý và đơn giản.