RE: Truy vấn lọc dữ liệu cập nhật mới nhất
tranthanhan1962 > 13-07-20, 11:16 AM
Cũng tương đói khó khăn khi chuyển một CSDL đã đươc thiết kế từ excel sang access. Thông thường các bạn sẽ bê nguyên cấu trúc của các bảng excel sang biến thành table của access. Nhưng với một người có một chút kinh nghiêm sẽ biết rằng không phải như vậy. Những bảng biểu trên excel, nhất là các bảng để in ra lưu trữ hoăc báo cáo chính là các report trong CSDL access mà một người viết ứng dụng access phải hương tới. Cac xử lý function truy cập, dò tìm các kết quả, giá trị như: Vlookup, Hlookup, if... sẽ trở nên dư thừa và không cân thiết với hệ thống query đồ sộ. Quan trọng là hệ thống table và relationship vững chắc, gần như mọi yêu cầu khó khăn nhất. Query sẽ kết hợp với report xử lý hết. Cái đáng sợ nhất là thói quen tư duy exel. Có thể nói một người càng giỏi excel bao nhiêu khi chuyển qua access càng khó bấy nhiêu so với người yếu excel hơn.
Đối vói tôi khi chuyển dữ liệu từ excel sang access, tôi sẽ bỏ qua toàn bọ hệ thống bảng biểu, công thức, hướng xử lý .... của người thiết kế excel. Cái mà tôi quan tâm chính là các bảng báo cáo, lưu trữ cuối cùng. Tôi sẽ copy Value thành một bảng khác để loại bỏ tất cả các công thức trên đó, kểm tra mối liên hệ giữa các bảng và nếu có thể gộp tất cả các bảng đó thành một bảng duy nhất thì sẽ là một điều tuyệt vời. Nếu một hệ thống excel được xử lý thành 1 bảng duy nhất có nghĩa 80% công việc đã xong. Chỉ cần kiểm tra data type các column điều chỉnh bổ sung các cột xử lý khoảng trống (thiếu dữ liệu) các record là xong. Chỉ cần import table duy nhất đó vào access, Tool analyze table sẽ tự phân tích ra hệ thống table đầy đủ các liên kết. Công việc còn lại rất đơn giản. Tạo form nhập liêu, query --> report. Toàn bộ dữ liệu (record) cũng được chuyển qua mà không mất thời gian nhập lại. Tất nhiên đôi khi khó khăn hơn khi kết quả cuối cùng không là 1 table mà nhiêu hơn 1, Có nghĩa là luc này cần phải tự xử các mối quan hệ mà không thể trong chờ vào sự hỗ trợ tự động của access.
Một ví dụ cụ thể. Một công ty muốn viết phần mềm access quản lý dữ liệu giả sử công ty hoạt động 3 năm hàng tháng họ có báo cáo hóa đơn và danh sách hàng nhập vào, xuất bán cho từng tháng. Tất nhiên họ sẽ có hệ thống bảng biểu, công thức để ra 3 bảng báo cáo này. Ngoài ra, họ còn coa báo cáo tồn kho, doanh thu cho từng tháng.
Nhìn vào thì ta có thể loại bỏ 2 báo cáo tồn kho và doanh thu, vì có mua vào, bán ra thì access tự tính được nên không cần 2 bảng báo cáo này.
Tuy nhiên, nếu như đây là một công ty bán đồ gia dung điện tử thì bảng ghi hóa mua vào và bán ra có cấu trúc khác nhau.
mua vào: sẽ có số hóa đơn, ngày hóa đơn, tên nhà cung cấp (khách hàng), địa chỉ, số điện thoại, số tiền... Bán ra cung có cấu trúc như vậy nhưng sẽ không có các cột liên quan tới khách hàng Vì vậy phải bổ sung các cột này tên khách hàng có thể xử dụng là "khach vãng lai" hay "khách mua lẻ" gì đó, các cột địa chỉ, điên thoại có thể bỏ trống nhưng cột thì phải có. Ở bảng chi tiết chắc chắn phải có các giá trị liên đới như ngày nhâp xuất và số hóa đơn cho từng chi tiêt. tất nhiên phải bổ sung một cọt xuất nhâp đẻ phân biệt cho từng loại bảng khi gộp chung. chỉ cần ngày và số hóa đơn có thể tạo cột mã phát sinh băng cách ghép 2 giá trị này lại. Tất nhiên bảng chi tiết nhập xuất sẽ có nhiều dòng hơn bảng hóa đơn. Bổ sung các cột trên bảng hóa đơn vào bảng này. Với hàm Vlookup chăc chắn sẽ lấy đươc các giá trị từ bảng hóa đơn qua bảng chi tiết nhập xuất, gom hết các tháng của dữ liệu 3 năm vào chung 1 bảng. Chỉ cần 1 bảng này khi import vào access nó se analize thành cac table danh sach khach hàng. hóa đơn nhập xuất, chi tiết nhập xuất với đầy đủ mói quan hệ, tất nhiên nó sẻ đăt tên là table1, table2... gì đó. và nhiệm vụ cò lại thì tôi đã nói ở phần trên.