Tôi có cơ sở dữ liệu phía sau MS Access 2010/SQL Server 2012, với một số trường ngày trong các bảng khác nhau. Đôi khi tôi cần phải lưu trữ thời gian, vì vậy tôi đã sử dụng các loại dữ liệu datetime hoặc smalldatetime. Tuy nhiên các trường nhất định chỉ cần lưu trữ ngày, vì vậy tôi đã sử dụng kiểu dữ liệu Ngày.Loại ngày SQL Server xuất hiện dưới dạng trường văn bản trong MS Access
Vấn đề của tôi là trong MS Access, bảng được liên kết ODBC của tôi hiển thị trường kiểu dữ liệu ngày dưới dạng Văn bản. Điều này sau đó dẫn đến sự cố với một số ngày được lưu trữ ở định dạng yyyy-dd-mm và các ngày khác theo định dạng yyyy-mm-dd.
Đây có phải là lỗi không? Tôi có cần sử dụng smalldatetime không?
Thanks cho bất kỳ sự trợ giúp, Jim
Chỉ cần để làm rõ vấn đề định dạng hiển thị này vì máy chủ SQL lưu trữ ngày tháng dưới dạng [số nguyên 3 byte] (http://msdn.microsoft.com/en-us/library/bb630352%28v=sql.110%29.aspx). Định dạng của ngày không được lưu trữ. –
Xin chào Conrad, đây là vấn đề về định dạng, nhưng nó vượt xa điều đó. Ví dụ, tôi có một truy vấn truy cập sẽ loại trừ bất kỳ bản ghi nào trong đó [datefield]> Date(), nhưng vì [datefield] đang được nạp dưới dạng chuỗi văn bản, bản ghi được đưa vào bất kỳ thứ gì. Ngoài ra, nếu tôi nhìn vào thiết kế bảng của bảng được nối kết trong Access, nó hiển thị trường dưới dạng trường văn bản, không phải là trường ngày. – BiigJiim
Bạn có thể thử 'CDate ([datefield])> Date()' hoặc thử sử dụng 'DateTime' thay vì' Date' và sử dụng một mặt nạ đầu vào. –