Ngày trong Query tại sao lại không hiện ra được

Liên hệ QC

transongngocquan

Thành viên hoạt động
Tham gia
10/5/07
Bài viết
180
Được thích
99
Em dùng Query khi truy vấn tại sao lại không hiện được dữ liệu ngày.
Khi Em dùng filter thi nó lại làm được.
Cho em hỏi phải làm sao khi dùng Query nó cho ra kết quả giống filter.
 

File đính kèm

Do dữ liệu nguồn không đồng nhất về loại: vừa text vừa ngày. Khi lấy Query, Excel sẽ ưu tiên lấy loại nào có số record nhiều hơn. Nếu số record 2 loại bằng nhau, Excel lấy loại theo ưu tiên nào đó. Bạn thử lại sẽ thấy.
Tốt nhất là dữ liệu cùng loại.
 
Lần chỉnh sửa cuối:
Upvote 0
Cám ơn nhiều.

Nhưng mà sao Filter của Excell làm được. chẳng lẽ Query này lại dở hơn Filter hay sao.

Biết là vậy nhưng mà có cách nào để làm Query để giống như là Filter vậy ?

Xin chỉ dùm
 
Upvote 0
Filter làm việc chỉ trên dữ liệu của Excel.
Query làm việc trên dữ liệu của cả những phần mềm khác như Access, Foxpro, SQLServer, Oracle . . .
Không thể nói Query dở hơn Filter. Filter có lọc theo nhiều điều kiện không? hoặc nhiều điều kiện kết hợp? Filter có tạo trường mới là kết quả tính toán trên trường cũ không? Filter có tạo được mối liên kết giữa các bảng dữ liệu và trích xuất dữ liệu từ 2 bảng trở lên không?
Query làm được những chuyện đó, thì Query đòi phải thoả những điều kiện cơ bản của cơ sở dữ liệu. Một trong số đó là dữ liệu của 1 trường phải đồng nhất về loại. Ngoài ra còn:
- Yêu cầu thiết lập những bảng mã
- Yêu cầu tổ chức CSDL sao cho 1 trường dữ liệu không có ở nhiều hơn 1 table. Từ 1 mã đi tìm thông tin liên quan, là việc của query, không phải việc của người nhập liệu vào table.
- ....

Mời bạn xem thêm ở đây http://www.giaiphapexcel.com/forum/showthread.php?t=7358
để biết query làm được những gì.

Dù sao cũng có cách: đây là 1 gợi ý, gợi ý này bạn sẽ gặp khi sử dụng công cụ Analysis Database của Access nếu bạn đang làm việc trên Access:
Trường "Đợt 1" của bạn có ý nghiã gì mà có cả text và ngày? Bạn hãy tàch nó ra thành 2 trường.
Query tự động sẽ tạo ra 2 trường. Bạn vẫn có thể gộp 2 trường thành 1 bằng query. Bạn nghiên cứu thử xem. Rồi bạn sẽ quyết định có nên rút lại câu bạn chê query hay không.
 
Upvote 0
Cán ơn nhiều.

Tôi lưu dữ liệu ở trên đó là ngày hợp đồng lao động, có loại 3 tháng, 6 tháng, 1 năm, 3 năm, không xác định thời hạn.

Cho hỏi:
Dữ liệu không xác định thời hạn phải lưu như thế nào trong cột dữ liệu là ngày?
 
Lần chỉnh sửa cuối:
Upvote 0
Như vậy lại càng phải tách ra 2 trường:
- Trường "loại Hợp đồng" gồm 5 loại HD như trên, kiểu dữ liệu là text
- Trường "Ngày ký HD gần nhất", kiểu dữ liệu là Date.

Nếu bạn đang quản lý lao động, thì chỉ cần ngày ký gần nhất, đối chiếu với loại HD sẽ ra ngày cần gia hạn, đúng không?
Nếu bạn vẫn muốn hiện lên trong query chỉ 1 cột thì từ 2 trường này dùng Query gộp chúng làm 1 bằng hàm IIf() của VBA.

Đó là nói vể khả năng của Query và VBA, chứ 2 loại dữ liệu này không đưọc để chung dù trong CSDL hay trên báo cáo.
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom