Nhập liệu nâng cao với nguồn dữ liệu bên ngoài - DataSource trong Add-in A-Tools v10.1 (1 người xem)

Người dùng đang xem chủ đề này

Nguyễn Duy Tuân

Nghị Hách
Thành viên danh dự
Tham gia
13/6/06
Bài viết
4,893
Được thích
10,364
Giới tính
Nam
Nghề nghiệp
Giáo viên, CEO tại Bluesofts
Bài viết này tôi xin chia sẻ về tính năng mới cũng như cách ứng dụng chức năng Nhập Liệu Nâng Cao của Add-in A-Tools trong việc thiết kế file Excel để nhập liệu nhanh.
Với Add-in A-Tools v10 trở về trước nguồn dữ liệu cho nhập liệu nâng cao là Excel Range - là vùng dữ liệu của file Excel đang mở.
Từ Add-in A-Tools v10.1 chúng tôi cung cấp giải pháp liên kết dữ liệu bên ngoài cùng với các hỗ trợ đa dạng hơn cho công việc nhập liệu trên Excel nhanh. Đây là thiết lập DataSource.

DataSource cho phép người dùng liên kết các nguồn dữ liệu như sau:

+ Vùng trên bảng tính Excel trong workbook đang làm việc hoặc một workbook khác.
+ Vùng trên bảng tính Excel phía máy chủ (A-Tools Server).
+ Lấy bằng SQL với CSDL bất kỳ bên ngoài (như SQL Server, MySQL, Oracle, Access, Excel,...)
+ Lấy bằng SQL với CSDL bất kỳ bên ngoài phía máy chủ (A-Tools Server)
+ Từ Google Sheets (trên Google Drive).
+ Từ Excel Online (trên OneDrive).
+ Từ các tập tin hoặc Web/URL có dữ liệu định dạng CSV, JSON, TXT từ máy local hoặc máy chủ (A-Tools Server).
+ Từ Web/Url chứa tag TABLE.

Video hướng dẫn:

Bài viết gốc tại đây.

Nội dung tiếp theo tôi sẽ trình bày chi tiết ứng dụng hơn về giải pháp này...
 
Kỹ thuật của anh Tuân rất tốt. Tuy nhiên, cách làm này chưa thực sự hiệu quả vì phải kết nối realtime tới danh mục, trong khi dữ liệu danh mục lại ít thay đổi. Việc lựa chọn danh sách thông qua danh mục đã được đồng bộ sẽ đơn giản và ổn định hơn.
Ngoài ra, Microsoft Office 2024 và Microsoft 365 hiện đã hỗ trợ tính năng search list trong Data Validation, nên việc bổ sung add-in để nhập liệu theo cách này không còn quá cần thiết. Ưu tiên sử dụng tính năng built-in vẫn sẽ tối ưu hơn về độ tin cậy và khả năng bảo trì.
 
Kỹ thuật của anh Tuân rất tốt. Tuy nhiên, cách làm này chưa thực sự hiệu quả vì phải kết nối realtime tới danh mục, trong khi dữ liệu danh mục lại ít thay đổi. Việc lựa chọn danh sách thông qua danh mục đã được đồng bộ sẽ đơn giản và ổn định hơn.
Ngoài ra, Microsoft Office 2024 và Microsoft 365 hiện đã hỗ trợ tính năng search list trong Data Validation, nên việc bổ sung add-in để nhập liệu theo cách này không còn quá cần thiết. Ưu tiên sử dụng tính năng built-in vẫn sẽ tối ưu hơn về độ tin cậy và khả năng bảo trì.

Cảm ơn bạn đã góp ý. Mình trả lời từng ý của bạn như sau:

"cách làm này chưa thực sự hiệu quả vì phải kết nối realtime tới danh mục, trong khi dữ liệu danh mục lại ít thay đổi. Việc lựa chọn danh sách thông qua danh mục đã được đồng bộ sẽ đơn giản và ổn định hơn."

Tính năng nhập liệu nâng cao khi kết nối đến nguồn dữ liệu là Excel nó chỉ cập nhật lại khi phát hiện có thay đổi ở vùng dữ liệu nguồn. Việc load dữ liệu tôi ưu nhất nên rất nhanh.

"Ngoài ra, Microsoft Office 2024 và Microsoft 365 hiện đã hỗ trợ tính năng search list trong Data Validation, nên việc bổ sung add-in để nhập liệu theo cách này không còn quá cần thiết. Ưu tiên sử dụng tính năng built-in vẫn sẽ tối ưu hơn về độ tin cậy và khả năng bảo trì."

Tính năng Validation List của Office 365, 2024 đã hỗ trợ tìm và lọc nhưng chỉ hỗ trợ tìm trên MỘT CỘT thì có thể dùng tính năng đã có của Excel.
Thực tế người dùng Excel khi tra cứu thông tin họ phải tìm trên NHIỀU CỘT. Ví dụ thông tin cần nhập là MÃ nhưng họ phải tìm tên, mã số thuế, số điện thoại,... khi chọn thì lấy MÃ hoặc lấy các thông tin khác đi cùng. Đây là nhu cầu phổ biến đấy.

nhaplieunangcao-banhangxk.png

Tính năng Nhập liệu nâng cao ngoài việc hỗ trợ tìm kiếm còn hỗ trợ các tính năng khác như in liên tục....

nhaplieunangcao-inhangloat.png

Tính năng mà chức năng Nhập liệu nâng cao của Add-in A-Tools cung cấp đáp ứng gần như giống các phần mềm chuyên nghiệp khi nhập liệu cần tra tìm thông tin trên nhiều cột. Nếu người dùng có vài trăm hay vài ngàn mã hàng thì họ rất khó nhớ mã - Nếu chỉ tìm trên một cột như Excel 365, 2024. Việc tìm trên nhiều cột là yêu cầu chung của người dùng phần mềm. Tính năng này của A-Tools có từ phiên bản v7.0 - năm 2016 (đã 10 năm). Các phần mềm xây dựng trên Excel với A-Tools thì 100% khách hàng yêu cầu phải có tính năng "Nhập liệu nâng cao" dù Excel 365 đã hỗ trợ tìm và lọc nhưng chỉ một cột. Còn các tính năng khác mà mình đã nói và sẽ nói thêm trong chủ đề này này.

Tóm lại là nhu cầu chỉ đơn giản tìm trên một cột thì dùng Validation của Excel. Nếu yêu cầu nhập liệu như phần mềm, cần nhiều tính năng hơn thì "Nhập liệu nâng cao" của Add-in A-Tools hay các công cụ tương đương khác mới đáp ứng được.

(Nhập liệu nâng cao hiển thị ảnh)​

Giới thiệu thêm các bạn chương trình Excel - BanhangSQL ứng dụng tính năng Nhập liệu nâng cao và hàm BS_SQL.


(Chương trình này dùng nguồn dữ liệu bên trong cho nhập liệu nâng cao vì cả báo cáo và nguồn dữ liệu trong cùng một file. Phiên bản cho multi user tách CSDL một file, hệ thống báo cáo một file và ứng dụng "nguồn dữ liệu bên ngoài" - External Data Source được chia sẻ trong chủ đề này)​
 
Lần chỉnh sửa cuối:
Nếu các bạn muốn lập trình VBA tạo Nhập liệu nâng cao trên Userform, sử dụng class BSSearchEngine thì vào chủ để này xem:

Bài đã được tự động gộp:

Thiết kế ứng dụng Excel cho nhiều người dùng chung hoặc khi file Excel lớn cần tách nhiều file

nhaplieunangcao-datasource-splitfiles.png
(Số liệu mang tính giả định sau khi tách file)​

Khi dữ liệu lớn bạn nên tách thành nhiều file để tối ưu hơn cho tính toán, việc tách file chúng ta chỉ phải mở phần dữ liệu cần ở chứ không phải mở tất cả.

Giả thiết file gốc của bạn là 20 MB gồm cả dữ liệu nguồn, báo cáo, form nhập liệu. Bạn nên tách như sau:
+ File 1: Data File (ví dụ 15 MB) file này chỉ lưu CSDL, các danh mục, sheet nhập phát sinh (chi tiết doanh thu, sổ nhật ký, thu chi,...)
+ File 2: : Report Files (ví dụ 3 MB) chứa các sheet làm báo cáo, tùy vào khối lượng các module, phạm vi quản lý bạn có thể tách thành nhiều file báo cáo. Ví dụ báo cáo liên quan xuất nhập tồn, báo cáo doanh thu, báo cáo công nợ, báo cáo lãi lỗ - tài chính,...
+ File 3: Form Files (ví dụ 2 MB) chứa các sheet, userform để nhập liệu (nếu có).

Trong tổng thể kích thước file chiếm phần lớn bởi dữ liệu nguồn - Data File. Việc tách ra giúp cho việc mở file sẽ nhẹ hơn, tôi xem báo cáo thì chỉ mở phần báo cáo thôi, không phải "cõng" theo khối dữ liệu nguồn 15 MB nữa. Add-in A-Tools với hàm BS_SQL, Nhập liệu nâng cao cho phép làm báo cáo và nhập liệu liên kết dữ liệu của file đang đóng.
Khi tách file việc phân quyền cho ai được mở cái gì, làm gì sẽ thuận lợi hơn nhiều khi chúng ta phối hợp làm việc nhóm.

Video dưới đây demo cách tạo nhập liệu nâng cao trên form nhập liệu, dữ liệu nguồn lấy từ máy tính khác trong mạng (Máy chủ - A-Tools Server)

 
Lần chỉnh sửa cuối:

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

Back
Top Bottom