'//************************************************** '// Add-in A-Tools - Query, Share and Manage Excel workbooks on LAN, Internet '// (Trích lọc (truy vấn), chia sẻ và quản trị Excel qua mạng LAN, Internet) '// Version 9.5.0.1 (Add-in A-Tools 2019) '// Updated: 17-09-2021 (dd-MM-yyyy) '//================================================== '// AUTHOR: Nguyễn Duy Tuân '// Company: BLUESOFTS., jsc '// Website: www.bluesofts.net - www.atoolspro.com '// Email: sales@bluesofts.net HOẶC tuanktcdcn@yahoo.com '// Tel/Fax: (+84) 0243.791.7200 Mobile: (+84) 0904.210.337 '//================================================== '// TÍNH NĂNG MỚI '//================================================== //Please translate from Vietnamese to English language. v9.5.0.1: 07-10-2021 (Add-in A-Tools 2019) + Sửa: lỗi ẩn sheet cuối cùng trong file Excel phía máy khách. Lỗi chỉ xuất hiện trong phiên bản v9.5.0.1 ngày 17-09-2021. v9.5.0.1: 17-09-2021 (Add-in A-Tools 2019) (*) Phiên bản này tập trung nâng cấp chưc năng chia sẻ Excel cho nhiều người dùng chung. + Nâng cấp: chức năng chia sẻ mạng, tốc độ mở sheet/vùng tăng nhanh gấp hai lần. + Nâng cấp: dù khi mạng LAN, Internet bị chậm đường truyền, việc chia sẻ file Excel cho người dùng chung trong vẫn đảm bảo kết nối ổn định. + Nâng cấp: trạng thái chọn vùng các user trong mạng cập nhật tốt khi các user đang mở phân vùng ảo. + Nâng cấp: tạo file Log (C:\A-Tools\Logxxxx.txt) báo cáo trạng thái hoạt động của máy chủ, máy khách. Nếu lỗi admin vào kiểm tra để xử lý. File khi tăng 50 Mb sẽ tự xóa nội dung. + Sửa: sửa thông báo lỗi "Inavlid window handle" thỉnh thoảng xuất hiện Excel 2013 trở lên khi kết nối máy chủ. v9.5.0.0: 05-08-2021 (Add-in A-Tools 2019) Đây là phiên bản nâng cấp liên quan tới các chức năng: + Chia sẻ mạng; Hàm gộp file + Nhập liệu nâng cao + ActiveX Controls BSAC + Link trợ giúp đầy đủ trên website tiếng Việt và Anh. I. Add-in A-Tools + Sửa: hàm BS_SORTARRAY lỗi khi sắp xếp mảng một chiều. + Sửa: hàm BS_JOIN lỗi khi chạy trong file chia sẻ từ máy chủ với tính huống gộp các sheet nằm trong chính file có công thức. + Sửa: chức năng Nhập liệu nâng cao, cho phép chạy đúng khi các ô nhập liệu bị trộn nhiều cột hoặc nhiều dòng. Bản cũ lỗi khi ô chọn bị trộn (merge cell), bạn nhập nhiều dòng giá trị sẽ từ danh sách tìm kiếm vào sheet bị thiếu. + Sửa: Giao diện một số cửa sổ bị thiếu icon của các button. + Nâng cấp: Chức năng chia sẻ mạng - Khi máy khách kết nối máy chủ đợi lâu có thể nhấn nút "Hủy bỏ", phiên bản cũ phải chờ hết Time out". - Khi máy khách mở vùng, sheet từ máy chủ nhận được trạng thái máy chủ đang xử lý sheet trong khi truyền về máy khách. + Nâng cấp: Menu "Help online" - File Excel help mở ra chứa link theo hai ngôn ngữ Việt, Anh - Các link trong menu trợ giúp tự động mở link trên website tùy vào ngôn ngữ hiển thị trong Add-in A-Tools. - Tất cả các link hỗ trợ đều trỏ về website của Bluesofts (phiên bản cũ link trên Youtube). + Nâng cấp: các màn hình đều có nút trợ giúp tùy theo ngôn ngữ hiển thị của Add-in A-Tools mà mở website tiêng Việt hoặc Anh. + Nâng cấp: Công cụ "EnableAddinExcel" lên verion 2.4 có khả năng khôi phục menu A-Tools tốt hơn. II. ActiveX Controls BSAC.ocx (Bluesofts ActiveX Controls) + Sửa lỗi khi code tạo Task Pane ở một file nhưng Task Pane ở file khác. Lỗi này do cơ chế cũ tạo Task Pane trên ActiveWindow. + Cho phép tạo Task Pane có Caption/tên trùng nhau. Phiên bản cũ không cho phép. Khi nhập trùng tên bạn cần khai báo thuộc tính ID để đảm bảo khác nhau. + BSTaskPane và BSTaskPaneX thêm thuộc tính ID: thuộc tính này làm cơ sở tìm kiếm. Nếu không nhập nó tự nhận giá trị là Caption - Tên của Task Pane. Trong trường hợp Task Pane giống nhau về Caption thì phải khai báo ID. + Cho phép tạo Task Pane trên một Window bất kỳ của ứng dụng Office. - Với TBSTaskPaneX TBSTaskPaneX.Create(Me, "Tên", Application, Workbook"[Tên wb"].Windows(1)) - Với TBSTaskPane Dim TPs As New BSTaskPanes Dim TP as BSTaskPane Set TP = TPs.Add("Tên", Me, Window:=ActiveWindow) + Các thủ tục và hàm trong BSTaskPanes thêm tham số tùy chọn Window. Tham số này làm cơ sở tìm kiếm các Task Pane nằm trong Window chỉ định. Sub Clear([Window]) Function IndexOf(Item, [Window]) As Long Sub Remove(Index, [Window]) + Cung cấp các ví dụ đầy đủ hơn của BSAC. v9.4.0.8: 09-06-2021 (Add-in A-Tools 2019) + Sửa: Khi Excel mất theme A-Tools không thông báo lỗi "Please re-install Add-in A-Tool .... COMCTL32.dll.." + Sửa: Hàm BS_PIC nhận đường dẫn tập tin ảnh qua thư mục share trong mạng LAN. Không cần phải dùng phương thức "file://" như các phiên bản cũ. + Sửa: Các thuộc tính trong class BSFormulaInfo được lưu lại trong quá trình chạy công thức của nó. + Nâng cấp: Nền tảng lập trình hàm cùng thư viện BSFormulaArray, BSFormulaInfo tốt hơn. + Thêm: Các thuộc tính trong thư viện BSFormulaArray bổ sung: BSFormulaArray.Tag - cho phép lưu giá trị bất kỳ trong quá trình chạy code. BSFormulaArray.IsProccessing - Báo cho biết công thức mảng đang chạy hay không. + Thêm: thêm file ví dụ lập trình hàm định dạng màu - Hàm chạy như thủ tục (Sub/Macro): A-Tools VBA Programming\Function Format.xlsm + Một số lỗi nhỏ của các phiên bản trước cũng đã được sửa. v9.4.0.7: 29-05-2021 (Add-in A-Tools 2019) + Nâng cấp: Hàm CELL, RANGE lồng trong hàm BS_SQL nhận diện giá trị thời gian trên bản tính tốt hơn. Giả thiết ô A4 chứa giá trị ngày và giờ là: 29-05-2021 08:15:00 AM điều kiện lọc BS_SQL("SELECT...WHERE THOIGIAN>=CELL(A4) Phiên bản cũ (từ 9.4.0.6 về trước công thức phải là: BS_SQL("SELECT...WHERE THOIGIAN>=CELL(A4, D, #MM/dd/yy hh:mm:ss#) + Nâng cấp: Thuộc tính GROUP trong hàm BS_SQL cho phép nhóm các cột với bảng kết quả mà không cần phải có cột thống kê, tức không có tính toán ở FOOTER. Phiên bản cũ nếu bảng kết quả không có cột số lượng cần thống kê thì bắt buộc phải khai báo thuộc tính FOOTER(..) thì GROUP mới chạy. Phiên bản mới chỉ cần GROUP(..) mà không cần FOOTER với bất kỳ bảng giá trị nào. + Nâng cấp: tốc độ khởi động Excel nhanh hơn các phiên bản cũ. v9.4.0.6: 22-03-2021 (Add-in A-Tools 2019) + Thêm: thư viện lập trình BSFormulaArray thêm thủ tục UpdateFormulas, cho phép cập nhật công thức tại một hay vài ô, một hay vài sheet, một hay tất cả workbook. (không cần phải khai báo các hàm API như các phiên bản trước.) + Sửa: lỗi lập trình hàm mảng trong Excel 64-bit, khi sử dụng cách gọi hàm callback với khai báo BSFormulaInfo.lpfnOnGetResult (Ví dụ: C:\A-Tools\HELP & DEMOS\A-Tools VBA Programming\Create function run SQL by callback function.xls) + Sửa: lỗi lập trình hàm mảng trong Excel 64-bit, với thông báo lỗi "Error in GetArrayValues at row data: 0". (Ví dụ: C:\A-Tools\HELP & DEMOS\A-Tools VBA Programming\BS_SQL - BSFormulaArray\BSFormulaArray.xls) + Thêm: thêm một số tập tin ví dụ trong thư mục C:\A-Tools\HELP & DEMOS\ v9.4.0.6: 12-03-2021 (Add-in A-Tools 2019) + Nâng cấp: thư viện lập trình, với hàm BSFormulaArray.ExecuteQuery() thêm tham số OPTIONs, cho phép dùng gần như hàm BS_SQL. Có nghĩa được dùng các thuộc tính DBKEY, SVR. Lấy dữ liệu tùy ý ở các loại CSDL, tại máy trạm (local) hoặc máy chủ. Lưu ý nếu tạo hàm mảng trong VBA thì nếu cần chạy SQL thì dùng ExecuteQuery thay cho BS_SQL. Nếu chạy trong Sub (macro) thì dùng lẫn lộn được. + Nâng cấp: Chức năng xóa công thức để lại giá trị cho phép chọn vùng rời rạc. + Sửa: lỗi định dạng kiểu giá trị ở phần FOOTER trong hàm BS_SQL (loại báo cáo phân nhóm sử dụng thuộc tính GROUP(...). Lỗi khi số âm bị chuyển thành kiểu TEXT. Khu vực dữ liệu không ảnh hưởng gì. + Sửa: lỗi "Out of memory" nếu báo cáo phân nhóm có mã phân nhóm bị trống đầu tiên. + Thêm: hàm LVALUE(vị trí cột) để lấy giá trị cuối cùng của một cột bất kỳ mà có chứa công thức có hàm DATA. v9.4.0.5: 24-02-2021 (Add-in A-Tools 2019) + Sửa: lỗi chạy hàm BS_SQL (BSFunctions.bs_sql) trong môi trường VBA không ổn định. v9.4.0.5: 11-12-2020 (Add-in A-Tools 2019) + Nâng cấp (*): các màn hình/form hiển thị tương thích với các độ phân giải của màn hình, đặc biệt khi > 2k. Phiên bản cũ bắt buộc phải điểu chỉnh Control Pane->Setting->Display->"Scale and Layout" về 100% mới hiển thị đúng tỷ lệ. Các form hiển thị quan trọng như: - SQL Builder, DBKEY - Nhập liệu nâng cao: Form thiết lập, tìm kiếm, chọn ngày tháng, hiển thị ảnh - Quản trị máy chủ, Quản trị máy khách ... Tất cả đều hiển thị tương thích với các độ phân giải. (*) Khi Excel đang chạy chia sẻ qua mạng, nên tắt Excel trước khi thay đổi độ phân giải màn hình! (*) Nếu file Excel lập trình dùng BSAC.ocx thì Scale and Layout vẫn phải để 100%. Chúng tôi sẽ có nâng cấp phiên bản sau cho BSAC. + Sửa: lỗi nhận bản quyền A-Tools máy chủ, chỉ tối đa chia sẻ được 2 máy dù bàn quyền nhiều hơn. Lỗi này chỉ xảy ra ở phiên bản A-Tools v9.4.0.4. + Sửa: lỗi chọn giá trị trong Nhập liệu nâng cao tại file Excel tại máy khách nếu nó đang mở file Excel chia sẻ từ máy chủ mà file này có thiết lập vùng phê duyệt từng dòng, có user, date-time. + Sửa: lỗi hiển thị form hình ảnh khi đang mở 2 file Excel đều có chế độ Nhập liệu nâng cao xem form hình ảnh. Lỗi form chỉ hiển thị ở file được mở lần đầu tiên. + Sửa: lỗi Nhập liệu nâng cao ở form tìm và chọn giá trị, khi vùng nhập liệu không chỉ định cột dữ liệu nguồn, giá trị lấy ra bị thừa. Phiên bản mới bỏ qua vùng không có chỉ định cột dữ liệu nguồn. + Sửa: Màn hình/Form chat cho phép soạn thảo ổn định khi con trỏ nằm trong khu vực màn hình của cửa sổ chat. + Thêm: Nhập liệu nâng cao thêm 2 hàm API cho lập trình: - Function ShowPictureForm(): gọi hàm hiển thị form hình ảnh - Sub ClosePictureForm(): gọi thủ tục để đóng form hình ảnh. Hãy xem file ví dụ: "C:\A-Tools\HELP & DEMOS\A-Tools VBA Programming\Advanced Input - Nhập liệu nâng cao\Advanced Input with VBA.xls" + Thêm: các file ví dụ trong thư mục "C:\A-Tools\HELP & DEMOS\" v9.4.0.4: 17-11-2020 (Add-in A-Tools 2019) + Sửa: lỗi phím tắt CTRL+SHIFT+A cập nhật công thức tại ô bị trộn. + Sửa: lỗi thông báo không kết nối được DBKEY nếu file lưu trên OneDrive, Google Drive sử dụng hàm của Add-in A-Tools mặc dù công thức không liên quan đến DBKEY. + Nâng cấp: tốc độ mở Excel nhanh hơn. v9.4.0.3: 30-10-2020 (Add-in A-Tools 2019) + Sửa: chỉnh một vài thông số kỹ thuật mà Kaspersky chặn không cho cài đặt + Sửa: Nhập liệu nâng cao cho phép sử dụng phím mũi tên lên, xuống không cần phải nhấn F2 + Sửa: Nhập liệu nâng cao mở form tìm kiếm nhanh hơn, đặc biệt khi A-Tools đang chia sẻ mạng. v9.4.0.2: 02-10-2020 (Add-in A-Tools 2019) CHIA SẺ EXCEL QUA MẠNG + Sửa: lỗi phía máy khách cập nhật lên máy chủ với các lệnh chèn, xóa cột và dòng, cập nhật các đối tượng sharp, comment, validation, format khi sheet ở máy chủ đã phân quyền "Không lưu máy chủ". BSAC: BLUESOFTS ACTIVEX CONTROLS - Bộ công cụ lập trình chuyên nghiệp + Nâng cấp BSAC v3.0.0.2 v9.4.0.1: 22-09-2020 (Add-in A-Tools 2019) Báo cáo động trên 64-bit và 32-bit chạy ổn định như nhau CHIA SẺ EXCEL QUA MẠNG + Sửa: khôi phục lại chức năng phê duyệt theo dòng bằng chuột. (Bị khóa từ v9.3.0.0) + Thêm: thư viện lập trình thêm thủ tục cập nhật công thức trên máy chủ từ máy khách. BSNetwork.UpdateFormula() BÁO CÁO ĐỘNG - HÀM MẢNG ĐỘNG + Sửa: hàm BS_VLOOKUP, BS_HLOOKUP chạy tốt hơn khi nó được dùng nhiều nơi trong một sheet. + Nâng cấp: Nhiều công thức báo cáo động (các hàm BS_SQL, BS_VLOOKUP,...) trong cùng một sheet chạy tốt hơn trên Excel 64-bit. (tính năng này trước đây chỉ chạy tốt nhất trên 32-bit). + Thêm: thư viện lập trình thêm các thủ tục cập nhật công thức, hỗ trợ tốt khi chia sẻ Excel qua mạng: UpdateFormulaRanges: Cập nhật vùng UpdateAllFormulasBySh: Cập nhật sheet UpdateAllFormulasByWB: Cập nhật tập tin Excel UpdateAllFormulaOnApp: Cập nhật tất cả tập tin đang mở BSAC: BLUESOFTS ACTIVEX CONTROLS - Bộ công cụ lập trình chuyên nghiệp Nâng cấp BSAC version 3.0.0.0: có nhiều cải tiến và bổ sung quan trọng. Bạn hãy xem tài liệu về BSAC. v9.4.0.0: 18-08-2020 (Add-in A-Tools 2019) + Sửa: lỗi máy khách kết nối đến máy chủ nếu máy khách là v9.4 máy chủ là phiên bản thấp hơn. + Sửa: hàm BS_PIC hiển thị ảnh trên Google Drive. v9.4.0.0: 15-08-2020 (Add-in A-Tools 2019) I. BÁO CÁO ĐỘNG: BS_SQL, BS_VLOOKUP, ... HÀM MẢNG + Sửa: cho phép các báo cáo đặt liền kề (gần sát) nhau. Phiên bản cũ phải cách 2 cột. + Sửa: lỗi không chạy sự kiện OnDblClick, OnSelectionChange khi cái báo ở một ô bên ngoài hàm. Phiên bản 9.3.0.3 về trước phải khai báo trực tiếp bên trong hàm. + Nâng câp: tính năng co giãn theo cột chạy tốt hơn. + Thêm: thuộc tính TTC (TotalColumn). Áp dụng với báo cáo co giãn cột, nếu là YES (TTC=YES;) báo cáo có cột tổng cộng bằng công thức Excel tách bên phải ngoài mảng kết quả trả về. Ngầm định là NO. + Thêm: Thư viện lập trình thêm các hàm và thủ tục trong class BSFormulcaArray: - BSFormulaArray.DoSheetBeforeDoubleClick(...) - gọi lệnh nhấp đúp chuột - BSFormulaArray.DoSheetSelectionChange(...) - gọi lệnh chọn ô - BSFormulaArray.HasEvent(...) - Hàm kiểm tra trong ô công thức có tên sự kiện không. Các sự kiện: ONDBLCLICK, ONSELECTIONCHANGE,... + Thêm: Phím tắt CTRL+ENTER tương đương với nhấp đúp chuột. Dùng khi báo cáo có sự kiện ONDBLCLICK. II. NHẬP LIỆU NÂNG CAO + Sửa: lỗi không hiển thị hộp thoại tìm kiếm nếu workbook (tập tin Excel) đặt thuộc tính 'New Window". + Sửa: khi không chọn giá trị trong danh sách tra cưu, hiển thị hai lần thông báo nếu ô nhập liệu có thuộc tính Validation List. + Sửa: không hiện thông báo "Hãy chọn giá trị trong danh sách" nếu thiết lập "Nếu lỗi" là "Bỏ qua". Thực hiện trong "Nhập liệu nâng cao"->"Mở rộng". + Sửa: không tạo được Validation List trong Nhập liệu liệu nâng cao nếu Excel coi dấu phảy "," là ký tự thập phân. III. CHIA SẺ EXCEL QUA MẠNG + Sửa: lỗi không chia sẻ được tập tin Excel đặt thuộc tính 'New Window". + Nâng cấp: thủ tục BSUser.Disconnect([Prompt] cho phép tùy biến câu thông báo cho máy khách khi ngắt kết nối bằng việc truyền chuỗi vào tham số Prompt. Tham số này có thể bỏ qua. Thủ tục này chạy tốt hơn phiên bản trước đây. + Thêm: thư viện lập trình thêm thủ tục sự kiện OnCanOpenRange() trong class BSNetwork. OnCanOpenRange (Byval User As IBSUser, Byval WbName As String, Byval SheetOrRangeName As String; Cancel As Boolean) Sự kiện này chạy phía máy chủ báo cho người lập trình biết user phía máy đang yêu cầu mở tập tin và tên vùng/sheet nào. Nếu Cancel = True thì user không được mở sheet nữa. Sự kiện này được dùng để tùy biến quyền user được mở vùng. Ví dụ chỉ cho mở trong một khoảng thời gian nào đó. + Thêm: các hàm liên quan đến MsgBox khi làm gửi và nhận thông điệp MsgBox. - GetXmlMsgBox: hàm nhận về chuỗi mô tả cấu trúc XML các tham số hàm MsgBox. - MsgBoxXml: hàm hiển thị MsgBox unicode từ chuỗi có cấu trúc XML. + Thêm: các hằng số hỗ trợ lập trình mạng. v9.3.0.3: 22-07-2020 (Add-in A-Tools 2019) + Sửa: lỗi hàm GETONCE() làm mất phần số lẻ nếu Control Panel để định dạng dấu "," là ký tự ngăn phần thập phân. + Sửa: hàm BS_SQL chạy không ổn định với thuộc tính tạo nhóm GROUP, FOOTER trên Excel 64-bit + Sửa: thông báo sai lỗi nhật liệu nâng cao "Intersec..." nếu chạy code VBA mà con trỏ đặt trong vùng thiết lập nhập liệu nâng cao. + Nâng cấp: Thư viện lập trình hàm mảng BSFormulaArray cho phép đưa mảng một chiều với các kiểu dữ liệu. Phiên bản cũ phải là mảng kiểu VARIANT. v9.3.0.2: 07-07-2020 (Add-in A-Tools 2019) + Nâng cấp: Hàm BSNetwork.Connect() không có tham số cho phép kết nối theo thông tin user đang kết nối bới người dùng. Nếu A-Tools chưa chạy thì sẽ hiển thị hộp thoại kết nối. + Thêm: BSNetwork.Host lưu tên máy chủ mà máy khách đang kết nối đến. v9.3.0.1: 03-06-2020 (Add-in A-Tools 2019) + Sửa: lỗi hàm GetOnce khi giá trị lấy về có số lẻ, Control Panel định dạng dấu phẩy (,) làm ký tự thập phân. + Nâng cấp: vùng, bảng tính Excel chia sẻ qua mạng loại "Multiple User"/Nhiều người nhập chung một sheet tốt hơn. v9.3.0.0: 30-04-2020 (Add-in A-Tools 2019) PHIÊN BẢN HỖ TRỢ TỐ NHẤT CHO CHIA SẺ MẠNG, LẬP TRÌNH VỚI THƯ VIỆN ADDINATOOLS.DLL (Thư viện đã được kiểm tra kỹ với các ngôn ngữ lập trình: VBA, VB6, Delphi, C#, VB.NET) + Nâng cấp: chức năng "Xem thay đổi" cho phép hiển thị những thay đổi người nhập liệu trong mạng, màn hình hiển thị đúng tại ô vừa thay đổi. (Chỉ hiển thị đúng vị trí từ Excel 2007 trở lên). + Nâng cấp: Chương trình "EnableAddins" lên version 2.3 khôi phục menu A-Tools tốt hơn. + Nâng cấp: Cho phép chạy nhiều ứng dụng có dùng sự kiện của thư viện Add-in A-Tools trong một chương trình Excel. + Nâng cáp: Các hàm và sự kiện lập trình trong thư viện A-Tools chạy tốt hơn. + Nâng cấp: Thư viện BSAC.ocx lên 2.2, sửa lỗi chạy trong Excel 2007. + Thêm: sự kiện BSNetwork.OnCreatedAccount() cho phép lập trình phía máy chủ, biết user mới được tạo. + Thêm: sự kiện BSNetwork.OnProgress() cho phép lập trình biết được tiến trình tải dữ liệu phía máy chủ. Cho phép thay thế giao diện progress của A-Tools bằng giao diện người lập trình. Event OnProgress(State As BSProgressState, PositionValue, MaxValue, Cancel As Boolean, DefaultForm As Boolean) + State trả về 5 trạng thái: psPrepare : giai đoạn chuẩn bị tải dữ liệu, người lập trình hiển thị giao diện progress (ProgressBar.Visible = True). Tham số DefaultForm gán FALSE nếu bạn muốn dùng progress riêng, A-Tools sẽ không dùng giao diện ngầm định. psBegin : giai đoạn bắt đầu tải dữ liệu, tham số MaxValue trả về tổng số byte cần tải, người lập trình thiết lập miền lớn nhất cho progress (ProgressBar.Maximum = MaxValue) psRunning : giai đoạn đang trong quá trình tải dữ liệu, tham số PositionValue cho biết đã tải được bao nhiêu byte, người lập trình thiết lập giá trị cho progress (ProgressBar.Value = PositionValue). Tham số Cancel nếu là TRUE việc tải dữ liệu sẽ dừng lại. psEnd : giai đoạn tải xong số byte (PositionValue = MaxValue) psFinished : giai đoạn hoàn tất tải dữ liệu, người lập trình ẩn giao diện progress (ProgressBar.Visible = False) + Sửa: Vùng kiểm duyệt tên user, thời gian nhập, phê duyệt kiểm soát sửa xóa dữ liệu, chèn, xóa dòng, cột kiểm soát tốt hơn. + Sửa: lỗi hàm BS_ARRAY2D + Sửa: Một số lỗi nhỏ khác của phiên bản cũ cũng được sửa. v9.2.0.0: 12-04-2020 (Add-in A-Tools 2019) + Sửa: lỗi hàm BS_SQL với tham số SVR=YES lấy dữ liệu từ máy chủ nếu có ít nhất một ô trong các cột tạo ra bởi hàm VTC là NULL. + Sửa: lỗi hàm BS_SQL với tham số SVR=YES lấy dữ liệu từ máy chủ nếu bảng lấy ra có cột chứa sổ lẻ mà định dạng Regional Options->Number máy chủ mà máy khác khác nhau. (*) Nguyên tắc chia sẻ đúng - > Máy chủ luôn đặt theo "English (United States)", có dấu chấm (.) làm ký tự thập phân. + Thêm: Kỹ thuật lập trình hàm mảng cho nhà phát triển, thêm khai báo BSFormulaInfo.lpfnOnGetResult, cho phép trỏ vào địa chỉ của một hàm callback, hàm này có chức năng tạo mảng hoặc điều khiển tùy ý sau khi công thức hoàn thành. Fucnction Prototype: (*) VBA Function CallbackResult(ByVal fi As AddinATools.IBSFormulaInfo, _ ByVal FmlRange As Range, _ ByVal FmlState As AddinATools.BSFmlState, _ AResult As Variant) As Boolean 'MsgBox fi.FmlRange.Address If fi.FmlState = fsOnCalc Then AResult = create array CallbackResult = True ElseIf fi.FmlState = fsAfterCalc Then 'Do somthing End If End Function (*) DELPHI function CallbackResultfunction(fi: IBSFormulaInfo; fmlRange: IDispatch; fmlState: Longint; var AResult: OleVariant): Boolean; begin end; v9.2.0.0: 08-04-2020 (Add-in A-Tools 2019) + Nâng cấp: Công cụ EnableAddins lên version 2.2 khôi phục menu A-Tools hoàn thiện hơn. Khi Excel mất menu A-Tools nó sẽ mwor tự động chương trình này để người dùng thực hiện lệnh. v9.2.0.0: 04-03-2020 (Add-in A-Tools 2019) + Sửa: lỗi kết nối mạng trong phiên bản 64-bit của phiên bản 9.2 ngày 28-08-2019 v9.2.0.0: 28-08-2019 (Add-in A-Tools 2019) (*) Phiên bản này tập trung vào nâng cấp tốc độ sắp xếp của các hàm mảng This is version 9.2 BETA3. Đã có rất nhiều cải tiến về tốc độ và sức mạnh của các hàm mảng của Add-in A-Tools. Phiên bản chính thức Bluesofts sẽ phát hành đầu tháng 9-2019 v9.1.1.3: 25-07-2019 (Add-in A-Tools 2019) (*) Phiên bản này tập trung vào nâng cấp tốc độ sắp xếp của các hàm mảng Các phiên bản 9.* nâng cấp miễn phí ! + Nâng cấp: Tốc độ sắp xếp dữ liệu của các hàm mảng tăng nhanh gấp trăm lần phiên bản cũ. Sắp xếp 60.000 dòng chỉ mất ~1.5 giây, bản cũ mất khoảng ~400 giây. Các hàm sau đây có tính năng cũng như thuộc tính sắp xếp: - Hàm BS_SORTARRAY - Các hàm mảng khai báo trong tham số OPTIONS: "SORT=vị_trí_cột_sắp_xếp;" gồm các hàm BS_SQL, BS_TABLE, BS_VLOOKUP, BS_HLOOKUP, BS_UNIQUE, BS_FILLARRAY, BS_JOIN, BS_FILES, BS_GETTABLENAMES,... Ví dụ hàm BS_Vlookup có sắp xếp: =BS_Vlookup("4="Hà Nội", A1:E60000,,,"SORT=6") (Lấy ra danh sách dòng có cột số 4 chứa từ "Hà Nội", sắp xếp theo cột số 6 theo dữ liệu nguồn A1:E60000 ). + Sửa: Chức năng Nhập liệu nâng cao sửa các lỗi như sau: - Copy dữ liệu trong vùng đã nhập trùng mã nhưng các cột còn lại khác nhau. Lỗi các giá trị giống nhau trên các dòng khi dán. - Dòng tiêu đề của vùng dữ liệu nguồn mà không phải TEXT sẽ bị lỗi. + Nâng cấp: Chương trình "EnableAddins" để khôi phục menu "A-Tools" thành công 100%. + Nâng cấp: Khi mất menu A-Tools, lúc khởi động Excel A-Tools sẽ tự động thông báo người dùng biết và gọi ý chạy "EnableAddins" + Sửa: Lỗi chương trình tạo tùy chọn đọc số thành chữ AcchelperOptions lỗi trong Windows 64-bit. + Sửa: Tính thời gian thực thi của các hàm mảng chính xác hơn. + Thêm ví dụ hàm BS_VLOOKUP() trong thư mục "C:\A-Tools\Help & Demos\" + Sửa: Lỗi sự kiện OnDblClick, OnSelectionChange không chạy với hàm mảng tự tạo của người dùng với thư viện BSFormulaArray. + Sửa: Lỗi hàm GOTO khi được gọi bởi các sự kiện OnDblClick nếu cột tìm kiếm là giá trị số (number). + Nâng cấp: Lập trình VBA với các hàm lập trình mạng trong class BSNetwork: Connect(), StartServer() sẽ raise error cho môi trường lập trình khi có lỗi. + Nâng cấp: Hàm SORTARRAY2D trong VBA thêm các tham số đầy đủ hơn. + Thêm: Trong VBA, thư biện DLL của A-Tools cung cấp thêm các hàm để biết thông tin về A-Tools: - GetAToolsVersion(): trả về version A-Tools - GetAToolsVersionDate(): trả về ngày nâng cấp version A-Tools - GetAToolsVersionName(): trả về tên phiên bản A-Tools - GetAToolsVersionType(): trả về loại phần mềm A-Tools PRO, FREE, CLIENT) + Nâng cấp: Bộ controls lập trình BSAC lên 2.0.0.9 v9.1.1.2: 10-07-2019 (Add-in A-Tools 2019) (*) Phiên bản này tập trung vào nâng cấp và sửa các hàm mảng và nhập liệu nâng cao: Các phiên bản 9.* nâng cấp miễn phí ! + Sửa: Lồng ghép các hàm mảng tôt hơn bản cũ. Các hàm trả về mảng dưới đây liên kết nhau tốt hơn. BS_SQL, BS_VLOOKUP, BS_HLOOKUP, BS_UNIQUE, BS_JOIN, BS_FILES, BS_SORTARRAY, BS_T_ACCOUNT,... Ví dụ: - Vùng A chứa hàm BS_FILES() lấy danh sách file. - Vùng B chứa hàm BS_JOIN("SELECT...", Vùng A) Khi cập nhật vùng A thì vùng B tự cập nhật theo. Với hàm BS_SQL. Cách liên kết như sau: - Vùng A: =BS_SQL("SELECT... ", "NAME =AAA") - Vùng B: =BS_SQL("SELECT... FROM AAA " & LEFT(ô đầu tiên Vùng A,0), "NAME =BBB") - Vùng C: =BS_SQL("SELECT... FROM BBB" & LEFT(ô đầu tiên Vùng B,0), "NAME =CCC") + Sửa: lỗi hàm BS_SQL chỉ hiển thị số dòng <=65536. Lỗi thường do máy đang mở nhiều file Excel với các định dạng khác nhau trong đó có file định dạng Excel 2003 ( vừa có *.xlsx và *.xls) + Nâng cấp: hàm BS_FILES() các thông tin nâng cấp như sau: Cho phép sử dụng khai báo TOP=n để lấy ra n dòng đầu tiên. Thêm khai báo LINK=YES/NO. Nếu là YES (ngầm định) cột thông tin tên tập tin có hyperlink để mở. Nếu khai báo LINK=NO không có hyperlink và tốc độ chạy nhanh hơn. + Sửa: hàm BS_JOIN khi gôp dữ liệu trên 8 vùng trên Excel 64-bit lỗi. + Sửa: hàm BS_FILES(), BS_FILLARRAY() cho phép sử dụng khai báo TOP=n để lấy ra n dòng đầu tiên. + Sửa: hàm BS_UNIQUE() lấy ra danh sách duy nhất và giữ nguyên kiểu giá trị gốc. Bản cũ bị chuyển về dạng TEXT. + Sửa: Các hàm BS_GetTableNames(), BS_GetFieldNames(), BS_GetProcNames() khi có khai báo thuộc tính NAME=abc thì name "abc" bị bỏ qua dòng đầu. Lý do các hàm này ngầm định HR=YES. Phiên bản mới sửa lại HR=NO làm ngầm định vì các hàm này không có dòng tiêu đề bảng trả về. (*) Sửa: Chức năng nhập liệu nâng cao lỗi khi kết nối excel qua mạng A-Tools nếu Excel là 64-bit. + Sửa: tập tin ví dụ về lấy thông tin máy chủ cập nhật cách gọi lệnh theo version mới. (C:\A-Tools\HELP & DEMOS\A-Tools VBA Programming\Network\BSNetworkInfo.xls) + Thêm: bổ sung các thuộc tính để biết thêm thông tin phía máy chủ trong qua class BSNetwork (dùng trong VBA) BSNetwork.ServerAToolsName - Biết tên phần mềm A-Tools phía máy chủ (ví dụ "Add-in A-Tools") BSNetwork.ServerVersionStr - Biết tên phiên bản A-Tools phía máy chủ (ví dụ "v9.1.1.1") BSNetwork.ServerVersionNum - Biết số hiệu version A-Tools phía máy chủ (ví dụ 6503) BSNetwork.ServerExcelVersion - Biết tên version (number) của Excel đang chạy phía máy chủ + 10: Excel XP + 11: Excel 2003 + 12: Excel 2007 + 14: Excel 2010 + 15: Excel 2013 + 16: Excel 2016, 2019, 365 v9.1.1.1: 01-07-2019 (Add-in A-Tools 2019) (*) Phiên bản này tập trung vào nâng cấp và sửa các chức năng Chia sẻ mạng; Nhập liệu nâng cao; Báo cáo phân nhóm - Hàm BS_SQL Các phiên bản 9.* nâng cấp miễn phí ! + Nâng cấp (*): Máy chủ khi chia sẻ Excel qua mạng cho phép để chế độ SLEEP, các user trong mạng vẫn mở và đồng bộ dữ liệu cho nhau. (Máy chủ để SLEEP nhưng phải được cắm điện - không chạy PIN). Việc này giúp máy chủ tiết kiện điện, các link kiện ngoại vi làm việc ít hơn. Demo: https://www.facebook.com/tuanktcdcn/videos/10218361697929093/ + Sửa: Máy khách khi mở vùng máy chủ không để lại màn mình trống. Tình huống này xảy ra với phiên bản cũ trên Excel 2013 trở đi, do A-Tools tự đóng file trắng đang mở. + Sửa: nút "Đóng" vùng/sheet phía máy khách sẽ yêu cầu máy chủ sẽ tự động đóng file Excel có vùng đang chia sẻ đó. Nếu: - Máy chủ đặt chế độ "Chỉ mở CSDL nếu mách khách yêu cầu" - Không còn máy khách nào mở file Excel này nữa. + Sửa: việc đồng bộ dữ liệu và trạng thái vùng chọn của các user khi đang mở cùng một sheet tốt hơn với Office 2016, Office 365. + Sửa: chức năng Nhập liệu nâng cao chạy tốt hơn trên Excel 64-bit khi máy khách kết nối sheet excel ở máy chủ. + Sửa: lỗi Excel 64-bit thỉnh thoảng tự đóng khi mở file. + Sửa: máy khách bị ngắt kết nối nếu đang mở Validation List để chọn giá trị, có một user khác trong mạng Chat đến. + Sửa: Hàm BS_SQL với báo cáo phân nhóm. Giá trị của cột phân nhóm được giữ nguyên kiểu giá trị khi nó được ghi vào dòng cộng nhóm (Footer) Việc này giúp bạn format hoặc dùng các hàm của Excel tính toán trên các cột phân nhóm linh động hơn. Phiên bản cũ luôn đưa về dạng TEXT dù kiểu giá trị là số hoặc ngày tháng. Chỉ ghi ở dòng Footer còn dòng chi tiết vẫn đúng kiểu giá trị. Demo: https://www.facebook.com/tuanktcdcn/videos/10218369963895737/ + Thêm: Các thuộc tính DefaultValue(DEF), PicIsLink(LINK), RATIO, CellIsUnlocked được thêm vào các class thư viện lập trình VBA: BSFormulaInfo, BSUserRange. v9.1.1.0: 20-06-2019 (Add-in A-Tools 2019) (*) Phiên bản này tập trung vào nâng cấp và sửa các chức năng chia sẻ mạng và Nhập liệu nâng cao Các phiên bản 9.* nâng cấp FREE! + Sửa: thuộc tính DEF=value không ổn định ở các phiên bản trước (lúc chạy lúc không). + Nâng cấp: Tập tin hướng dẫn sử dụng hàm VTC "Report with multi columns - Function VTC - Báo cáo tách cột.xls" chi tiết hơn. v9.1.0.9: 12-06-2019 (Add-in A-Tools 2019) (*) Phiên bản này tập trung vào nâng cấp và sửa các chức năng chia sẻ mạng và Nhập liệu nâng cao Các phiên bản 9.* nâng cấp FREE! + Nâng cấp: Thiết lập vùng, sheet chia sẻ mạng từ máy chủ, cho phép tùy chọn khóa các ô trong sheet hay không (Locked). Ngầm định: "Không khóa ô". Tức sheet được chia sẻ có protect nhưng vẫn cho nhập liệu. Nếu bỏ chọn "Không khóa ô" thì sheet được protect và giữu những thiết lập "Locked", "Hidden" của người dùng. + Nâng cấp: Màn hình quản trị máy chủ, máy khách tự động hiển thị thông báo và link xem video hướng dẫn khi Excel mất Theme. + Sửa: Chức năng Nhập liệu nâng cao cập nhật dánh sách tìm kiếm tốt hơn khi mở nhiều file Excel có thiết lập tính năng này. v9.1.0.8: 01-06-2019 (Add-in A-Tools 2019) (*) Phiên bản này tập trung vào nâng cấp và sửa các hàm hiển thị ảnh BS_PIC và hàm BS_SQL Các phiên bản 9.* nâng cấp FREE! + Nâng cấp: Tự khôi phục Theme. Khi người dùng nhận thấy giao diện cửa sổ của A-Tools không được bóng mượt có nghĩa là đã bị mất Theme. Cách khắc phục: bạn chạy Excel dạng "Run Administrator" sau đó tắt Excel rồi mở lại là được. + Sửa: Trong Excel 2010, 2007 lỗi hiển thị màn hình tìm kiếm của :Nhập liệu nâng cao" khi mở file khác. + Sửa: Màn hình danh sách tìm kiếm trong "Nhập liệu nâng cao" tự hiển thị nếu người dùng vô tình thu nhỏ quá giới hạn không nhìn thấy. + Nâng cấp: Màn hình tạo DBKEY hiển thị hằng số (trị số) loại CSDL trong mục "DBType:". Hằng số này phục vụ cho khai báo thuộc tính loại CSDL. + Nâng cấp: Chức năng SQL Builder chạy tốt hơn các phiên bản cũ. Tạo công thức tạo có thêm thuộc tính DBTYPE=n (n: là hằng số loại CSDL). Nếu CSDL là Excel thì khai báo DBTYPE được bỏ qua. (*) Khi một file Excel chia sẻ qua mạng nếu bản thân nó kết nối tới một CSDL bên ngoài không phải loại Excel thì bắt buộc phải khai báo DBTYPE trong tham số Options của các hàm CSDL như BS_SQL. Việc khai báo sẽ giúp máy khách nhận dạng dữ liệu ngày tháng trên sheet Excel chính xác hơn. Ví dụ: =BS_SQL("SELECT ... FROM..." , "DBKEY=YourDbkey; DBTYPE=5;") (5 ở đây là hằng số loại CSDL SQL Server) + Sửa: Thuộc tính DBTYPE không nhận đúng giá trị phía máy khách, nếu file Excel này được kết nối từ máy chủ. Phiên bản cũ nếu không nối mạng thì chạy đúng. + Sửa: Hàm BS_PIC được sửa như sau: - Tự động xóa ảnh nếu đường dẫn file hoặc URL đưa vào tham số hàm là rỗng. Phiên bản ảnh vẫn bị giữ nguyên dù tham số rỗng. - Kết quả trả về của hàm là giá trị rỗng nếu hàm chạy thành công. Phiên bản cũ luôn hiện giá trị #N/A. v9.1.0.7: 16-05-2019 (Add-in A-Tools 2019) (*) Phiên bản này tập trung vào nâng cấp và sửa các hàm hiển thị ảnh như BS_PIC, BS_SQL Các phiên bản 9.* nâng cấp FREE! + Sửa: các hàm hiển thị ảnh như BS_PIC, BS_SQL,... ngầm định gán OW=-1; OH=-1 tức là ảnh giảm độ rộng, độ cao 1 đơn vị điểm ảnh. bản cũ muốn giảm một điểm ảnh phải nhập =BS_PIC("c:\path\anh.jpg", "OW=-1; OH=-1") bản mới chỉ cần nhập ccoong thức =BS_PIC("c:\path\anh.jpg") + Nâng cấp: hàm BS_PIC() được bổ sung các thuộc tính quan trọng sau: - RATIO=YES; điều chỉnh độ cao, rộng hiển thị trong ô theo tỷ lệ ảnh gốc. Thuộc tính này không dùng với đường dẫn URL (link trên mạng) Ngầm định RATIO=NO => ảnh tô kín ô có công thức, tốc độ chạy nhanh. - LINK=NO; đây là thuộc tính ngầm định (không cần nhập). Cho phép lưu ảnh vào file Excel. Cách này khi mang file Excel sang máy khác ảnh vẫn hiển thị dù đường dẫn ảnh không tồn tại. Tuy nhiên cách này sẽ làm dung lượng file tăng nhiều hơn. - LINK=YES; file Excel chỉ lưu đường dẫn file ản nên dung lượng file sẽ nhỏ hơn. Nhưng nếu mang sang máy khác không có file ảnh nguồn ảnh sẽ không hiển thị. (*) Ví dụ: - Ví dụ 1: Ảnh tô kín ô và giảm 1 điểm ảnh chiều rộng và chiều cao, ngầm định có LINK=NO, RATIO=NO; OW=-1; OH=-1;. Công thức đơn giản là: =BS_PIC("c:\path\anh.jpg") - Ví dụ 2: Giống tính chất Ví dụ 1, nhưng tự điều chỉnh tỷ lệ chiều cao, rộng ảnh đúng với ảnh gốc =BS_PIC("c:\path\anh.jpg", "RATIO=YES") - Ví dụ 3: Giống tính chất Ví dụ 2, nhưng ảnh không lưu vào file mà chỉ lưu đường dẫn =BS_PIC("c:\path\anh.jpg", "RATIO=YES; LINK=YES") + Sửa: hàm BS_PIC bị báo lỗi đường dẫn nếu đường dẫn file ảnh nằm trong vùng có các công thức mảng của A-Tools như BS_SQL, BS_FILES,... + Sửa: hàm BS_PIC bị lỗi với đường dẫn là link trên web (URL). Tính năng này chỉ bị lỗi ở phiên bản 9.1.0.6. v9.1.0.6: 05-05-2019 (Add-in A-Tools 2019) + Sửa: hàm BS_Unique() chạy trong Excel 64-bit bị lỗi ở một số phiên bản Excel. + Sửa: các hàm + BS_GetFieldNames() - lấy danh sách tên cột trong bảng, + BS_GetTableNames() - lấy danh sách tên bảng trong file Excel hoặc CSDL, + BS_GetProcNames() - lấy danh sách tên các hàm, thủ tục trong CSDL bị lỗi khi từ máy khách kết nối CSDL/DBKEY ở máy chủ. + Sửa: sự cố đơ màn hình ở một vài tính huống. v9.1.0.5: 28-04-2019 (Add-in A-Tools 2019) + Sửa: hàm GetFiles() trong VBA trả về mảng thông tin của file. Phần tử chứa Size bị lỗi kiểu giá trị trong môi trường 32-bit. + Sửa: thuộc tính BSFile.Size của thư viện AddinATools.dll lập trình trong VBA, bị lỗi kiểu giá trị trong môi trường 32-bit. + Nâng cấp: thư viện BSAC.ocx version 2.0.0.7 (Bluesofts ActiveX Controls cho lập trình phần mềm trong VBA, VB6, Delphi, .NET) v9.1.0.4: 21-04-2019 (Add-in A-Tools 2019) (*) Các dòng phiên bản v9.x nâng cấp FREE! + Sửa: xử lý tham số DBTYPE trong hàm BS_SQL tốt hơn khi một file, sheet kết nối nhiều loại CSDL khác nhau. + Sửa: hàm BS_SQL chạy tốt hơn khi có nhiều vùng công thức trong một sheet có hàm BS_SQL. + Sửa: tương thích tốt hơn với cơ sở dữ liệu ORACLE, POSTGRESQL + Nâng cấp: hàm FieldIf, VTC chạy tốt hơn với các tình huống kết hợp nhiều hàm lồng bên trong. + Nâng cấp: màn hình thiết lập thông tin DBKEY có ảnh/icon ở DBType (loại CSDL), cho phép co giãn màn hình để xem nhiều thông tin. v9.1.0.3: 10-04-2019 (Add-in A-Tools 2019) (*) Các dòng phiên bản v9.x nâng cấp FREE! + Nâng cấp: hàm BS_SQL cho phép hiển thị ảnh (trong tham số Options khai báo PIC=vị trí cột có ảnh) với CSDL là SQL Server, MySQL,... nếu cột (trường) dữ liệu chứa ảnh. Phiên bản cũ chỉ tạo ảnh dựa vào đường dẫn file ảnh tại dữ liệu nguồn là file Excel. + Sửa: hàm BS_SQL và Nhập liệu nâng cao hiển thị ảnh lỗi hiển thị ảnh với tập tin có phần mở rộng không thuộc tên thuộc loại ảnh (jpg, bmp, png,...) + Sửa: hàm BS_SQL hiển thị ảnh sai vị trí nếu tham số Options thiếp lập báo cáo phân nhóm với từ khóa GROUP(dánh ách cột cần nhóm) + Sửa: Chức năng "Nhập liệu nâng cao" không thiết lập xem ảnh được nếu vùng thiết lập nhập liệu chỉ là một ô. + Sửa: lỗi định dạng font chữ trong danh sách lưu vùng thiết lập (ListView) của màn hình "Nhập liệu nâng cao". + Sửa: một số kiểm soát khi tạo máy chủ trên Excel 2013. + Nâng cấp (*): Bộ control BSAC cho lập trình VBA được cập nhật v2.0.0.6 v9.1.0.2: 30-03-2019 (Add-in A-Tools 2019) (*) Các dòng phiên bản v9.x nâng cấp FREE! + Sửa: lỗi hiển thị ảnh trong hàm BS_PIC, BS_SQL (tham số PIC=...) nếu chạy trong Excel 2007. Lỗi xảy ra với các dòng phiên bản 9.0->9.1. + Sửa: lỗi trong báo cáo phân nhóm, hàm BS_SQL với tham số GROUP() khi các cột nhóm có giá trị trống. + Thêm: thêm thuộc tính ODBC(chuỗi ConnectionString) trong tham số OPTIONS của các hàm CSDL như BS_SQL, BS_TABLE, BS_DSUM,... tham số này cho phép kết nối với các loại CSDL (MySQL, SQL Server, Oracle,...) bằng ConnectionString đưa thẳng vào hàm mà không cần tạo DBKEY việc này giúp chuyển file Excel đi các máy tính mà không cần phải tạo DBKEY. Ví dụ kết nối tới CSDL SQL Server: =BS_SQL("SELECT * FROM KHO", "ODBC(Provider=SQLOLEDB.1;Persist Security Info=False;User ID=MY_USER;password=MY_PASSWORD;Initial Catalog=MY_DATABASE;Data Source=MY_SERVER\SQLExpress)") Để bảo mật chuỗi kết nối khi nhiều người dùng file báo cáo. Bạn hãy tạo DBKEY tại máy chủ, công thức lấy dữ liệu là =BS_SQL("SELECT * FROM KHO", "DBKEY=Mã DBKEY trong máy chủ; SVR=YES") + Thêm: thêm thuộc tính DBTYPE=Mã số - kiểu CSDL trong tham số OPTIONS của các hàm CSDL như BS_SQL, BS_TABLE, BS_DSUM,... tham số này để chỉ định loại CSDL trong ConnectionString thuộc loại nào. Có các loại như sau: 0 - dbUnknown 1 - dbExcel 2 - dbAccess 3 - dbFoxpro 4 - dbVFP 5 - dbSQLserver 6 - dbParadox 7 - dbMySQL 8 - dbInterbase 9 - dbODBC 10 - dbGoogleSheets 11 - dbOracle 12 - PostgreSQL v9.1.0.1: 18-03-2019 (Add-in A-Tools 2019) (*) Các dòng phiên bản v9.x nâng cấp FREE! + Sửa: khắc phục lỗi "Không mở được vùng dữ liệu từ máy chủ" - "Can not open/copy file". Khách hàng nâng cấp máy chủ lên 9.1.0.1 là được. + Sửa: Báo cáo phân nhóm với tham số GROUP() khi các cột trong từ khóa SELECT không có giá trị số lượng/số tiền. + Sửa: Lỗi cập nhật dữ liệu nguồn trong Nhập liệu nâng cao trên máy chủ và máy khách khi chia sẻ mạng. Lỗi xảy ra ở phiên bản 9.1.0.0. v9.1.0.0: 11-03-2019 (Add-in A-Tools 2019) (*) Các dòng phiên bản v9.x nâng cấp FREE! + Thêm: Thêm tùy chọn "Tính toán lại công thức sau khi mở vùng" tại máy khách. Ngầm định được tắt để đảm bảo mở vùng Excel từ máy chủ có nhiều + Thêm: hàm BS_SQL nhanh hơn rất nhiều. + Thêm: Thêm mới hàm BS_Hlookup cho phép tìm kiếm theo chiều ngang (tìm theo cột), giá trị trả về là các cột mà các dòng thỏa mãn các điều kiện. Cách dùng tương tự như hàm BS_Vlookup cũng tìm kiếm nhiều điều kiện VÀ, HOẶC nhưng ngược chiều nhau. + Nâng cấp: Các hàm trả về mảng động như BS_SQL, BS_VLOOKUP, BS_HLOOKUP,... co giãn hai chiều cùng với dòng và cột tổng cộng (Grand Total). + Nâng cấp: Hàm BS_JOIN hiển thị trạng thái % đang gộp từng file dưới thanh trạng thái. + Nâng cấp: Hàm BS_JOIN tốc độ gộp nhanh hơn phiên bản cũ. + Nâng cấp: Tốc độ máy khách mở file Excel từ máy chủ nhanh, với những file có hàm BS_SQL. + Nâng cấp: không cho phép chèn,xóa dòng, cột nếu phân quyền là "Chỉ đọc" nhưng vẫn cho Format nếu được cấp quyền. Phiên bản cũ quyền xóa, chèn dòng hoặc cột dựa theo cấp quyền Format - "Định dạng". + Sửa: lỗi một số sheet khi cập nhật hàm MS_SQL trong cả file bởi CTRL+SHIFT+D hoặc từ menu. + Sửa: lỗi "Data type mistake..." của hàm BS_SQL trong một vài tình huống đặc biệt khi mở lần đầu. + Sửa: Nếu A-Tools đang chạy chức năng máy chủ ("Tạo máy chủ") thì hàm BS_VLOOKUP không chạy phía máy chủ. + Sửa: Lập trình VBA dùng hàm BS_VLOOKUP qua thư viện BSFunctions bị lỗi nếu tham số đưa vào hàm là mảng tạo bởi hàm VBA.Array(). + Sửa: Khi tạo báo cáo phân nhóm - sử dụng GROUP(...) ở tùy chọn: + Lỗi không xóa format của khu vực dữ liệu chi tiết (nhóm con) khi co giãn vùng công thức. + Lỗi không thống kê ở cuối báo cáo -Grand Total nếu dùng công thức có hàm DATA() ở trùy chọn FOOTER(...). + Sửa: Lỗi chạy hàm BS_JOIN với một số file định dạng dữ liệu "đặc biệt". + Sửa: Trong menu "HELP ONLINE" có một số link lỗi. v9.0.0.7: 19-02-2019 (Add-in A-Tools 2019) + Nâng cấp: hàm BS_SQL cho phép sử dụng thuộc tính SORT, TOP giống như trong hàm BS_VLOOKUP. Khi dùng hàm BS_SQL sử dụng đến các hàm Excel, hàm tự tạo (UDF), hàm DATA thì cột có các hàm đó không dùng để ORDER BY được. Muốn làm được việc này phải dùng thuộc tính SORT=n (n là vị trí cột cần sắp xếp), TOP=n (chỉ lấy ra n là số dòng tiền). + Sửa: lỗi thuộc tính Insert trong class BSFormulaInfo.Insert (fi) với lập trình VBA v9.0.0.6: 29-01-2019 (Add-in A-Tools 2019) (*) Phiên bản v9.0.0.6 tập trung chủ yếu sửa lỗi hàm và các thư viện lập trình liên quan đến chạy mạng. (*) Các dòng phiên bản v9.x nâng cấp FREE! - Nâng cấp: cho phép bật, tắt trạng thái chọn vùng của các user đang hoạt động trên sheet/vùng. - Nâng cấp: nếu sheet/vùng được thiết lập "Không cập nhật máy chủ" thì trạng thái chọn vùng của các user trong mạng lên sheet/vùng đó không hiển thị. - Nâng cấp: bỏ chế độ cập nhật định dạng với loại số qua mạng . - Sửa: lỗi chạy mạng với các hàm BS_SQL, BS_JOIN và các hàm trong thư viện lập trình BSNetwork.ExecSQL(), BSConnection.ExecSQL(). Lỗi xảy ra khi máy chủ và máy khách không cùng định dạng dấu chấm, dấu phảy trong định dạng Number của Control Panel. Đây là lỗi chung trong các máy tính với các loại CSDL dùng đến ADO khi kết nối qua mạng, không chỉ riêng với A-Tools. A-Tools v9.0.0.6 đã xử lý được hoàn toàn vấn đề này không cần người dùng phải đồng bộ kiểu định dạng số trong Control Panel của Windows. (*) Nếu việc kết nối trong local - bản thân máy làm công thức thì không sao.) - Sửa: lỗi tạo máy chủ nếu Excel chưa mở một workbook nào. Đây là trường hợp hãn hữu xảy ra với một số máy từ Excel 2013 trở lên. - Sửa: lỗi không cho Insert/Delete nếu thực hiện lệnh tạo máy chủ. Lỗi này xảy ra từ phiên bản v9.0.0.5 v9.0.0.5: 15-01-2019 (Add-in A-Tools 2019) (*) Sửa chức năng INSERT/DELETE (Chèn/Xóa) dòng, cột, vùng khi chia sẻ qua mạng tốt hơn. - Không yêu câu ngắt kết nối khi người dùng đang soạn thảo trong sheet có lệnh chèn/xóa. - Kiểm soát đồng bộ dữ liệu và cấu trúc sheet tốt hơn. - Trong tình huống lỗi chèn, xóa máy chủ có thông báo cho máy khách rõ ràng lý do trước khi ngắt kết nối. - Việc chèn/xóa với sheet chia sẻ qua mạng người dùng bây giờ có thể dùng mà không có một hạn chế nào! - Sửa lỗi chọn (bôi đen) cả dòng trong file có định dạng 2007 làm máy chủ cập nhật dữ liệu bị chậm. Phiên bản v9.0.0.5 đã khắc phục. Add-in A-Tools 2019 v9.0.0.5 không yêu cầu phải nâng cấp cả máy chủ và máy khác (các phiên bản từ 7.x trở lên vẫn kết nối được). Tuy nhiên, nếu đồng bộ cả máy chủ và máy khách cùng phiên bản v9.0.0.5 là tốt nhất! v9.0.0.4: 11-01-2019 (Add-in A-Tools 2019) (*) Đây là phiên bản nâng cấp tập trung vào tính năng chia sẻ Excel qua mạng và các hàm liên quan đến mạng! (*) Các khách hàng dùng tính năng chia sẻ mạng nên nâng cấp phiên bản 9.0.0.4 là tốt nhất! (*) Các khách hàng đã đăng ký bản quyền Add-in A-Tools 2019 PRO nâng cấp là miễn phí! + Nâng cấp: cho phép chèn, xóa cột, dòng , vùng dữ liệu khi chia sẻ file Excel qua mạng. Các phiên bản cũ khuyến cáo không nên dùng. Phiên bản mới làm rất tốt cơ chế này, tuy nhiên Bluesofts vẫn khuyến cáo hạn chế tối đa việc thay đổi cấu trúc bảng tính Excel khi đang chia sẻ nhiều người. + Nâng cấp: chức năng cập nhật định dạng qua mạng chạy tốt hơn. + Nâng cấp: hàm BS_PIC() mở được các link ảnh từ website có cơ chế mã hóa bằng SSL. Phiên bản cũ lỗi một số trường hợp này nên khi bấm chuột vào ảnh trên sheet không lên khung hình lớn. + Thêm: Thêm hàm trong thư viện lập trình mạng BSNetwork.InsertOrDeleteRange() cho phép lập trình VBA để chèn, xóa dòng, cột, vùng dữ liệu trên bảng tính Excel khi chia sẻ qua mạng. + Thêm: Menu "Help Online" thêm hướng dẫn các chức năng mới của Add-in A-Tools 2019. + Sửa: lỗi cập nhật định dạng từ máy chủ, một số máy khách không cập nhật. + Sửa: lỗi hàm BSNetwork.RunMacroInServer() nếu gửi mảng dữ liệu có giá trị ngày, giờ lên máy chủ nếu máy chủ đó thiết lập dấu chấm, dấu phảy kiểu Việt Nam (dấu chấm ngăn cách hàng ngàn) v9.0.0.3: 06-01-2019 (Add-in A-Tools 2019) + Thêm: thêm khai báo thuộc tính "DEF=giá trị" trong tham số OPTIONS. Hàm BS_SQL với hàm VTC sẽ trả về "giá trị" thay cho giá trị NULL khi hàm VTC tính toán. Ví dụ: = BS_SQL("SELECT MA_KH, VTC(MA_VLSPHH,SUM,SLG) AS [TỔNG SLG] FROM KHO GROUP BY MA_KH", "DEF=0") Hàm VTC sẽ tạo tự động các cột ứng với các mã khách hàng (MA_KH), cột SLG được tính tổng, cột mã khách hàng nào không có số liệu sẽ tự điền số 0. Phiên bản cũ là NULL. Việc này có ý nghĩa nếu hàm BS_SQL với hàm VTC tạo ra bảng trung gian để làm dữ liệu nguồn, giá trị 0 đảm bảo cấu trúc cột định dạng Number. + Nâng cấp: Hàm BS_JOIN sẽ gộp dữ liệu từ máy chủ (qua mạng), không cần phải khai báo "SVR=YES" nếu công thức có hàm BS_JOIN đang ở trong file chia sẻ từ máy chủ. Nguyên tắc này giống với hàm BS_SQL. + Nâng cấp: Hàm GROUP_CONCAT cho phép chạy qua mạng. Tức hàm BS_SQL có tham số "SVR=YES" ở tham số OPTIONS (Phiên bản cũ lỗi nếu hàm BS_SQL lấy dữ liệu từ máy chủ). + Sửa: Hàm GROUP_CONCAT lỗi khi câu lệnh SQL có từ khóa ORDER BY. Phiên bản mới - v9.0.0.3 đã fix. + Sửa: Hàm GROUP_CONCAT lỗi khi danh sách liệt kê có độ dài > 255 ký tự. Phiên bản mới - v9.0.0.3 đã fix và cắt lại 255 ký tự nếu nó vượt quá. v9.0.0.2: 01-01-2019 (Add-in A-Tools 2019) + Nâng cấp: Hàm VTC cho phép liệt kê giá trị với điều kiện như LIKE %. Ví dụ SELECT ... VTC(loai_phieu IN('N%', 'X%')... (xem tài liệu hàm VTC) + Nâng cấp: Hàm BS_FILES cho phép hiển thị tùy biến nhiều cột thông tin, sắp xếp, cách hiển thị file và folder,... (xem file "Function BS_FILES list all files in a path.xls") + Nâng cấp: Hàm BS_JOIN cho phép gộp từ nhiều file đa năng hơn, có thể lấy từ các file trong máy chủ (gộp file qua mạng). =BS_JOIN("SELECT ... FROM..", "Danh sách file", "SVR=YES") SVR=YES là để báo A-Tools lấy dữ liệu trong máy chủ. Nếu không có tham số này thì lấy từ máy khách (máy đang chạy công thức) (Xem file "C:\A-Tools\HELP & DEMOS\JOIN FILES\Function BS_JOIN append data from multi files - gộp dữ liệu từ nhiều file.xls") + Nâng cấp: Hàm BS_VLOOKUP, BS_FILLARRAY, BS_SORTARRAY,... cho phép khai báo HR=YES; nếu mảng giá trị có dòng đầu tiên là tiêu đề. + Nâng cấp: Hàm TEXT để định dạng trong FOOTER của group luôn định nghĩa dấu "," cho hàng ngàn, "dấu "." cho thập phân luôn đúng khi Excel đổi định dạng. + Nâng cấp: Nhập liệu nâng cao cho phép nhấn CTRL+C để copy dữ liệu trong danh sách tìm kiếm + Nâng cấp: Thêm các file ví dụ về hàm VTC, BS_JOIN, BS_FILES + Nâng cấp: Các class đối tượng lập trình: BSNetwork, BSFormulaArray, BSFormulaInfo bổ sung một số hàm và thuộc tính hỗ trợ lập trình mạng và hàm mảng trong Excel tiện lợi hơn. + Thêm: Thêm thủ tục sự kiện BSFormulaArray.OnCallBackMethod() để hỗ trợ lập trình tạo mảng kết quả cho hàm trong nhưng trường hợp đặc biệt. + Thêm: Thêm thủ tục load tham số Options BSFormulaInfo.UpdateOptions(chuỗi options). Hỗ trợ viết hàm mảng cùng A-Tools với cách viết tham số Options giống hàm BS_SQL. Options = "HR=YES; INSERT = YES" BSFormulaInfo.UpdateOptions(Options) + Thêm: Thêm hàm API GetPropertyValue() để nhận giá trị của thuộc tính. Options = "HR=YES; COLS = 5" GetPropertyValue("HR") => YES GetPropertyValue("COLS") => 5 + Thêm: Hàm API AppendArray2D : để nối mảng 2D vào dòng cuối của mảng trước. + Thêm: Hàm API AppendArray2DCols : để nối mảng 2D vào cột cuối của mảng trước. + Thêm: Hàm API Tạo và ghi giá trị theo cấu trúc XML: ValueToXml, ValueFromXml + Sửa: Lỗi "The connection for viewing your linked Microsoft Excel worksheet was lost" xuất hiện trong hàm BS_JOIN của phiên bản cũ đã được sửa tại phiên bản mới - 9.0.0.2. + Sửa: Xóa tiêu đề cột có dấy " ' " tạo ra bởi hàm VTC. + Sửa: Xóa trạng thái group khi hàm BS_SQL không dùng thuộc tính group + Sửa: Nhập liệu nâng cao cho phép nhập giá trị trống. Phiên bản cũ bị bỏ qua. + Sửa: Lỗi thư viện BSNetwork khi gửi giá trị về thời gian. v9.0.0.1: 23-12-2018 (Add-in A-Tools 2019) + Nâng cấp: Hàm VTC đa năng hơn: 1. Cho phép liệt kê nhiều cột tính toán ứng với một một giá trị tách làm cột. 2. Cho phép lồng hàm thống kê vào các cột tính toán. 3. Cho phép chỉ định danh sách của người dùng kết hợp hàm IN(), vì thế có thể lồng câu lệnh SQL lấy danh sách cho hàm IN(). 4. Cho phép tính bù trừ với hàm SUBT(cột chứa điều kiện, 'Giá trị làm tăng', 'Giá trị làm giảm') (Xem SoKetoanSQL.xls tại sheet "TH NXT" và file "Report with multi columns - Function VTC - Báo cáo tách cột.xls" để hiểu rõ hơn). + Sửa lỗi Excel 64 bit. Khi báo cáo liên kết điều kiện tới địa chỉ ô trên bảng tính, nếu thay đổi giá trị ở địa chỉ ô này sẽ bị báo lỗi, người dùng phải đặt con trỏ vào khu vực báo cáo nhấn CTRL+SHIFT+A. Bản 9.0.0.1 fix lỗi này. v9.0.0.0: 20-12-2018 (Add-in A-Tools 2019) (*) Phiên bản Add-in A-Tools 2019 - v9.0 cấp lại license. Nếu bạn muốn nâng cấp từ phiên bản cũ thì liên hệ với Công ty CP Bluesofts: http://bluesofts.net PHẦN 1: THÊM MỚI CÁCH TẠO BÁO CÁO VỚI HÀM BS_SQL + Thêm mới: Hàm BS_SQL cho phép tạo báo cáo phân nhóm giống như Pivot nhưng linh hoạt và cơ động theo cách của A-Tools - Hàm BS_SQL bây giờ có tham số thứ 3 là Format =BS_SQL SQL, [OPTIONS], [FORMAT] Tham số FORMAT được dùng để chỉ vùng có mẫu định dạng cho các nhóm dữ liệu (FOOTER) - Tham số OPTIONS có thêm 2 hàm + GROUP(danh sách vị trí cột cần nhóm) + FOOTER(danh sách các cột cần tổng hợp, biểu thức bô tả, tính toán mỗi nhóm dữ liệu) Các biến hệ thống: + GROUPID: nhận giá trị từ 1,2... cho biết dòng footer thuộc cấp nhóm nào + NEWGROUP: nhận giá trị TRUE/FALSE cho biết dòng dữ liệu có thuộc dòng đầu tiên của nhóm không? + ROWTYPE: nhận giá trị: 0: body - dữ liệu trình bày chi tiết, cấp bé nhất 1: header - dòng tiêu đề của nhóm 2: footer - dòng tổng hợp của nhóm 3: grand total - dòng tổng hợp cuối báo cáo + LASTROW: cho biết dòng liền trước + LASTVALUE: cho biết giá trị liền trước của cột hiện thời Trong FOOTER cho phép xây dựng công thức Excel và lồng hàm VBA trong ngoặc vuông. Tên các cột dữ liệu để trong <> 3=Số hóa đơn là: [COUNTA()] (cột 3 sẽ hiển thị nội dung "Số hóa đơn là: 20", nếu hàm COUNTA() trả về 20) + SD: là thuộc tính cho phéo báo cáo nhóm hiển thị ở cấp group nào: nhận giá trị từ 1,2... + FM: là thuộc tính cho phép tự động định dạng hay không, nhận giá trị TRUE (ngầm định - tự động định dạng footer), FALSE là không định dạng. - Người dùng cần xem tài liệu hướng dẫn tại tập tin "BS_SQL_Create report with grouping and footer.xls" + Thêm mới: Hàm BS_SQL thêm hàm bổ trợ trong từ khóa SELECT với hàm GROUP_CONCAT - Hàm GROUP_CONCAT cho phép ghéo nối/liệt kê cá giá trị của một cột bất kỳ liên quan đến các cột thống kê. A-Tools cho phép sử dụng nhiều hàm GROUP_CONCAT ở các cột trong từ khóa SELECT - Hướng dẫn sử dụng tại tập tin "BS_SQL_function_GROUP_CONCAT.xls" + Nâng cấp: tốc độc chạy hàm BS_SQL tăng gấp 10 lần so với các phiên bản cũ PHÂN 2: CẢI TIẾN VÀ SỬA LỖI 1. NHẬP LIỆU NÂNG CAO: 1.1. Nâng cấp: Tốc độ tìm kiếm tăng gấp 10 lần so với phiên bản trước đây - Đã nhanh nay còn nhanh hơn! Tìm kiếm hàng triệu dòng dữ liệu nguồn tốc độ vẫn đảm bảo nhanh. 1.2. Cập nhật nguồn dữ liệu ngay khi có sự sửa đổi 1.3. Không giới hạn số cột hiển thị và nhập liệu. 1.4. Bàn phím nhập liệu nhạy hơn. Ví dụ CTRL+A bản cũ chập trờn, sau khi làm động tác gì đó có thể nhập liệu không tìm kiếm và mở lại form tìm kiếm. 1.5. Dữ liệu nhập không bị sai định dạng số, ngày tháng, các ký tự trống. Lỗi này tồn tại ở các phiên bản cũ vì bản cũ lấy giá trị theo định dạng của Excel. Bản mới lấy chính xác từ nguồn dữ liệu. 1.6. Lần đầu tạo nhập liệu nâng cao tự động căn chỉnh cột đúng theo định dạng. Những cột số tiền, số lượng tự động căn phải. Các cột format WrapText sẽ tự xuống dòng. Nếu dữ liệu nguồn người dùng tự căn chỉnh thì A-Tools sẽ lấy định dạng của người dùng - Bỏ qua chế độ tự động. 1.7. Tìm kiếm ảnh cập nhật ảnh ngay khi tìm kiếm thành công. Bản cũ tìm kiếm xong phải nhấm chuột vào dòng trong list mới hiển thị ảnh. 1.8. Màn hình có ảnh bên phải, nhấp đúp chuột sẽ tách ra cửa sổ ảnh rộng và tùy ý căn chỉnh size, trong khi cửa sổ ảnh hiển thị không cần phải đóng vẫn chọn tiếp các mục trong danh sách. 1.9. Thêm nút "Clear All" trong màn hình thiết lập Nhập liệu nâng cao, cho phép xóa toàn bộ thiết lập trong sheet đang mở một cách sạch sẽ! 1.10. Sửa lỗi đóng danh sách tìm kiếm khi gõ chữ có dấu với Unikey bản cũ (Lỗi Unikey4.0) 2. CHIA SẺ MẠNG 2.1. Fix toàn bộ các lỗi thao tác trong quản trị máy chủ khi sử dụng Excel 2013, 2016. 2.2. Sửa thời gian khóa dữ liệu về đơn vị phút, bản cũ đơn vị là giây :) 3. HÀM và BÁO CAO 3.1. Các hàm tạo bảng chạy đúng khi dữ nguồn đưa vào chỉ 1 ô/1 giá trị. 3.2. Sửa lỗi bsfunction.Bs_SQL lỗi trong Excel 64 bit. 3.3. Hàm mảng tạo trong VBA và thư viện A-Tools chạy đúng với lệnh kiểm tra fa.GetResultInBackupList(...) vì vậy không bị treo máy khi có lệnh chèn, xóa dòng cột bên dữ liệu nguồn. 3.4. Hàm BS_PIC xem được ảnh từ địa chỉ/link (URL) trên web mà không cần phải bổ sung hai ký tự "//". 3.5. Hàm BS_PIC khi hiển thị ảnh trên mạng, bấm chuột vào ảnh màn hình lớn hiện ra vẫn xem được ảnh. Bản cũ lỗi trong trường hợp này. 4. MENU A-TOOLS VÀ BẢO MẬT 4.1. Sửa lỗi một số máy không hiển thị menu A-Tools. Đây là lỗi xung đột các bản Office cài đè lẫn lộn. (Lỗi menu chỉ hiển thị vài nút bấm là khác và đã sửa ở phiên bản lần trước). v8.2.0.1: 18-06-2018 + Sửa: phiên bản 8.2 bị thông báo lỗi và mất các hàm BS_VN, BS_USD và một số hàm khác nằm trong file "A-Tools.xla". + Nâng cấp: hàm BS_JOIN(SQL, Files, Options) để gộp dữ liệu từ các tập tin Excel hoặc CSDL khác bằng câu lệnh SQL rất dễ dàng. + SQL: là một hoặc mảng chứa câu lệnh SQL + Files: là một hoặc mảng chứa tên các tập tin Excel hoặc DBKEY + Options: chuỗi khai báo thuộc tính cho hàm, giống với hàm BS_SQL, BS_VLOOKUP. CÓ thể bỏ qua tham số này. Ví dụ: https://www.youtube.com/watch?v=vwNT5KFTeSI =BS_JOIN("SELECT * FROM KHO", A1:A10) (Giả thiết A1:A10 là vùng chứa danh sách các tập tin cần gộp. Các tập tin phải có đường dẫn đầy đủ hoặc tương đối) + Nâng cấp: hàm BS_a2t(array, [Delimeter]) - Hàm chuyển các phần tử trong mảng thành danh sách giá trị + array: là mảng giá trị cần liệt kê giá trị + Delimeter: là ký tự ngăn cách các giá trị, nếu không nhập thì giá trị ngầm định là "," Ví dụ: =BS_a2t(A1:A3) nếu A1:A10 chứa các giá trị 1 2 3 kết quả trả về là: 1,2,3 + Sửa: Hàm BS_Unique lỗi khi mảng truyền vào chỉ có một phần tử. v8.2.0.0: 14-06-2018 PHẦN 1: NHẬP LIỆU NÂNG CAO + Sửa: lỗi một số dòng máy tính nhập liệu nâng cao bị chậm khi kết nối với A-Tools máy chủ. Từ bảnA-Tools v8.2 đã khắc phục việc này. + Nâng cấp: Nhập Liệu Nâng Cao, danh sách tìm kiếm không giới hạn số cột. Phiên bản cũ giới hạn tối đa 15 cột. + Nâng cấp: Nhập Liệu Nâng Cao, tốc độ nhanh hơn phiên bản 8.1. + Nâng cấp: Nhập Liệu Nâng Cao, dữ liệu nguồn cho phép tối đa lên đến 1.048.576 (bằng số dòng trong sheet Excel 2007 trở lên), tốc độ vẫn nhanh và không bị tràn bộ nhớ. + Nâng cấp: Nhập Liệu Nâng Cao, CHO PHÉP TÌM KIẾM NHIỀU ĐIỀU KIỆN - GIẢI PHÁP TÍM KIẾM ĐỘT PHÁ CỦA A-TOOLS. (*) Các phép toán sử dụng:=,>,<,>=,<=,<>) Cho phép vừa tìm tự do như các bản 8.1 về trước, vừa tìm theo biểu thức với các điều kiện kết hợp VÀ/AND, HOẶC/OR. Ví dụ: trong bảng dữ liệu nguồn, cột vị trí 1 là "Tỉnh", cộ vị trí 2 là "Doanh thu". - Nếu muốn tìm dữ liệu là "Hà Nội" hoặc "Sài Gòn" ta mô tả chuỗi là: 1=hà nội,sài gòn - Nếu muốn tìm dữ liệu là "Hà Nội" hoặc "Sài Gòn" và doanh thu >50000 ta mô tả chuỗi là: 1=hà nội,sài gòn, 2>50000 - Nếu muốn tìm dữ liệu là "Hà Nội" hoặc "Sài Gòn" và doanh thu >50000 và < 80000 ta mô tả chuỗi là: 1=hà nội,sài gòn, 2>50000, 2<80000 - Nếu muốn tìm dữ liệu "Hà Nội" ở các cột 1,3,5 thì chuỗi mô tả như sau: 1,3,5=hà nội - Nếu muốn tìm dữ liệu "Hà Nội", "nam định", "hải phòng","sài gòn" ở các cột 1,3,5 thì chuỗi mô tả như sau: 1,3,5=hà nội,hà Nội, nam định, hải phòng,sài gòn (số cột bên trái phép toán so sánh và số giá trị tìm (bên phải phép toán so sánh) KHÔNG BẰNG NHAU là điều kiện HOẶC) - Nếu muốn tìm dữ liệu "Hà Nội" và doanh thu 10000 có thể tìm theo cách mô tả của hàm BS_VLOOKUP chuỗi mô tả như sau: 1,2=hà nội,10000 Giải thích: 1: là vị trí cột Tỉnh; 2 là vị trí cột Doanh thu (số cột bên trái phép toán so sánh và số giá trị tìm (bên phải phép toán so sánh) BẰNG NHAU là điều kiện VÀ) - Nếu muốn tìm tương đối - dùng ký tự đại diện "*". Ví dụ cột tỉnh bắt đầu là "nội" , cột doanh thu bắt lầu là số 5 , chuỗi mô tả là: 1=*nội,2=5* ... Cứ như vậy, chúng ta có thể kết hợp tìm nhiều giá trị trên nhiều cột với các logic tìm kiếm AND, OR một cách giản đơn nhất, nhanh nhất + Nâng cấp: Nhập Liệu Nâng Cao, cho phép tìm giá trị là lỗi (#N/A, #NAME?, #VALUE!, #REF!,#NUM,...) chỉ cần giá trị là: #err + Nâng cấp: Nhập Liệu Nâng Cao, cho phép tìm giá trị là rỗng/BLANK chỉ cần nhập giá trị là: null + Nâng cấp: Nhập Liệu Nâng Cao, cho phép tự khai báo lại quy ước tìm giá trị lỗi với #err hoặc null với giá trị người dùng tự quy định. + Nâng cấp: Nhập Liệu Nâng Cao, cho phép điều chỉnh độ cao của dòng trong danh sách tìm kiếm - phù hợp với tính năng hiển thị Wrap Text + Nâng cấp: Nhập Liệu Nâng Cao, cho phép hiển thị ảnh trong dòng và hiển thị ảnh phía phải màn hình (bản 8.1 chỉ được chọn hiển thị trong dòng hoặc một phía cửa sổ bên phải) PHẦN 2: HÀM BS_PIC VÀ CHỨC NĂNG TẠO ẢNH + Nâng cấp: các bức ảnh tạo ra bởi hàm BS_PIC hoặc từ menu A-Tools cho phép nhấp chuột vào sẽ hiển thị của sổ xem ảnh phóng to, chopheps zoom, resize cửa sổ. + Nâng cấp: mỗi sheet sẽ lưu lại trạng thái cửa sổ hình ảnh tách biệt - giúp cho việc thiết kế hiển thị ảnh trên nhiều sheet linh hoạt. + Nâng cấp: dùng phím tắt với ảnh: - Chèn ảnh: CTRL+SHIFT+T - Tạo ảnh từ vùng chọn (bôi đen): CTRL+SHIFT+R - Xóa ảnh trong sheet tạo bởi A-Tools : CTRL+SHIFT+Y -> Con trỏ đặt chỉ một ô thì xóa tất cả ảnh tạo ra bởi A-Tools trong sheet -> Con trỏ bôi đen nhiều ô thì là xóa tất cả ảnh trong vùng chọn (bôi đen) -> Chọn một ảnh, thì xóa tất cả ảnh tạo có chung nguyên tắc khi tạo nó. Tức là ảnh tạo tạo từ công thức nào sẽ xóa riêng ở khu vực đó. + Nâng cấp: hàm BS_PIC có thêm tham số OPTIONS và là tùy chọn. Bây giờ cấu trúc của hàm là: =BS_PIC(FullName, [Options]) + FullName: là đường dẫn đầy đủ hoặc thu gọn tập tin có định dạng ảnh (picture). Ví dụ: =bs_pic("c:\pictures\me.jpg") + Options: Có thể bỏ qua. Nếu khai báo: OW=n để giảm chiều rộng của ảnh với đơn vị pixel so với ô chứa; OH=n giảm chiều cao của ảnh với đơn vị pixel so với ô chứa; Ví dụ: =bs_pic("c:\pictures\me.jpg" , "OW=2; OH=2") ảnh được tạo ra sẽ giảm chiều rộng và chiều cao 2 pixel Có thể khai báo sự kiện sau khi đã tạo ảnh thành công là: OnAfterUpdate=CreatePic khai báo trên là chạy sự kiện VBA có tên là "CreatePic" (tên có thể thay đổi tùy ý), mẫu thủ tục sự kiện là: Sub CreatePic(Byval rng As Range, Byval Pic As Picture, Byval FullName As String) 'rng: là vùng ô mà bức ảnh nằm trong 'Pic: là biến đối tượng trỏ vào bức ảnh vừa tạo 'FullName: là tên đầy đủ tập tin tạo ảnh '...các lệnh khai thác của bạn End Sub Ví dụ: =bs_pic("c:\pictures\me.jpg" , "OW=2; OH=2; OnAfterUpdate=CreatePic") ví dụ trên tạo ảnh, giảm chiều rộng và chiều cao 2 pixel so với ô chứa công thức, chạy sự kiện "CreatePic". PHẦN 3: HÀM BS_SQL VỚI HÀM VTC + Nâng cấp: Hàm VTC với tham số thứ 5 cho phép tạo biểu thức sắp xếp. Ví dụ tạo báo cáo tổng hợp số tiền của khách hàng theo từng tháng, năm trong KHO SELECT MA_KH, VTC('Tháng ' & Month(NGAY_CT)&'/'&Year(NGAY_CT), SUM,THANH_TIEN , , Year(NGAY_CT)*12+Month(NGAY_CT) ) FROM KHO GROUP BY MA_KH (Ví dụ trên, tham số thứ 5 là Year(NGAY_CT)*12+Month(NGAY_CT) là tạo biểu thức số để sắp xếp tăng dần, nếu là Year(NGAY_CT)*12+Month(NGAY_CT) DESC là giảm dần (có thêm DESC) Khi tên cột là các con số ghép lại, việc sắp xếp sẽ theo kiểu văn bản nên tháng 1, tháng 10 sẽ nằm gần nhau, vì thế phải tạo biểu thức số để sắp xếp. Biểu thức tổng con số như là Year(NGAY_CT)*12+Month(NGAY_CT) sẽ tạo ra con số sắp xếp và ta được: Tháng 1, Tháng 2,.. Tháng 12 ) + Sửa: hàm DATA trong BS_SQL lỗi khi dùng tọa độ cột là 0, ví dụ DATA(row,0). v8.1.0.0: 28-05-2018 + Thêm: menu "Nhập liệu nâng cao", thêm chức năng "Nhận tập tin hoặc ảnh (picture)" + Thêm: menu "Nhập liệu nâng cao", thêm chức năng "Tạo ảnh từ vùng chọn" + Thêm: menu "Nhập liệu nâng cao", thêm chức năng "Xóa các ảnh tạo ra bởi các hàm BS_PIC, BS_SQL,..." + Thêm: chức năng "Nhập liệu nâng cao", thêm tab "Picture" cho phép xác định các cột chứa ảnh, cách hiển thị ảnh trong danh sách tìm kiếm. + Thêm: chức năng "Nhập liệu nâng cao" cho phép hiển thị ảnh theo hai chế độ trong mỗi dòng của danh sách tìm kiếm hoặc hiển thị phía phải danh sách. Ảnh theo các định dạng: JPG, PNG, BMP, ICO, GIF,... Ảnh GIF nếu xem ở chế đệ màn hình bên phải sẽ hiển thị ảnh động. + Thêm: hàm BS_PIC cho phép tạo ảnh với tham số tên tập tin ảnh đưa vào. Các ảnh sử dụng: JPG, PNG, BMP, ICO, GIF,... Ví dụ: =BS_PIC("c:\data\anh cua toi.jpg") Lấy ảnh từ website =BS_PIC("URL của ảnh trên trình duyệt website") + Nâng cấp: hàm BS_SQL cho phép lọc và hiển thị ảnh. Chỉ cần thêm khai báo tùy chọn PIC=n1,n2,... (n1,n2,... là vị trí các cột chưa ảnh, tọa độ tính từ 0) Ví dụ: =BS_SQL("SELECT TEN,NGAYSINH, PICTURE, PICTURE2 FROM DATA" , "PIC=2,3") 2, 3 tương ứng với các cột PICTURE, PICTURE2 + Nâng cấp: hàm BS_SQL không chạy nếu tham số đưa vào đang là #N/A. Cải tiến này quan trọng khi tham số đưa vào hàm BS_SQL lấy từ một hàm BS_SQL khác không thông báo lỗi trong lúc cập nhật dở dang. VIDEO GIỚI THIỆU: https://www.youtube.com/watch?v=wKlLpMOCsG0 v8.0.0.2: 21-05-2018 + Nâng cấp: chức năng Nhập liệu nâng cao, nhấp chuột phải trên tiêu đề hiển thị menu cho phép tự động co giãn độ rộng một cột hoặc tất cả các cột, cho phép ẩn hiện các cột trong danh sách. + Nâng cấp: chức năng Nhập liệu nâng cao, mầu chọn các dòng sáng và dễ nhìn hơn. + Nâng cấp: chức năng Nhập liệu nâng cao, nhấp đúp chuột ranh giới hai cột để tự mở rộng cột vừa với nội dung. + Sửa: chức năng Nhập liệu nâng cao, lỗi đặt con trỏ vào trong danh sách giá trị tìm kiếm không dùng được phím mũi tên lên, xuống + Sửa: chức năng Nhập liệu nâng cao, lỗi nếu không đặt con trỏ vào trong danh sách giá trị tìm kiếm, bấm ngay vào thanh cuộn - scroll bar sẽ bị đóng màn hình tìm kiếm + Sửa: lập trình mạng với hàm RunMacroInServer. Sửa lỗi khi gửi và nhận giá trị thời gian (Date) trong phần gọi hàm của VBA. v8.0.0.1: 17-05-2018 (*) NÂNG CẤP "NHẬP LIỆU NÂNG CAO": 1. Fix nhấn phím F2 sau đó vãn dùng được phím tắt. Bản cũ nếu dùng F2 lần đầu khi mở danh sách sẽ không dùng được phím tắt. 2. Cho phép dùng phím TAB, ENTER để chọn giá trị từ danh sách (*) Sửa lỗi hàm VTC trong các CSDL SQL Server và My SQL Server v8.0.0.0: 15-05-2018 + Nâng cấp: Tương thích với Office 2019 + Nâng cấp: Chức năng "NHẬP LIỆU NÂNG CAO": - Tốc độ tìm và lọc dữ liệu trong danh sách nhanh gấp nhiều lần các phiên bản cũ. Có thể lọc dữ liệu trên 100.000 dòng trong vài mili giây. - Nhập giá trị tìm kiếm mượt hơn, không có độ trễ, không bị lỗi soạn thảo. - Cho phép thay đổi vị trí các cột hiển thị trong danh sách tìm kiếm. Cách làm: khi danh sách hiển thị, nhấn chuột vào tên cột giữ chuột và di đến vị trí cần đặt rồi nhả chuột - Drag and Drop. - Tốc độ sắp xếp các cột nhanh hơn nhiều bản cũ. Sắp xếp đúng với cột là con số, ngày tháng, văn bản (phiên bản cũ sắp xếp theo văn bản). - Tìm kiếm không phân biệt chữ thường, HOA có dấu. - Sử dụng phím mũi tên lên/xuống để di chuyển các dòng, nhấn F4 để chọn vào sheet. + Sửa: lỗi mở chức năng DBKEY. Lỗi này chỉ xảy ra ở phiên bản 7.4.0.8 + Sửa: lỗi hàm VTC khi lồng vào bên trong các hàm thống kê COUNT, MIN, MAX, STDEV, AVG + Sửa: lỗi mở file Access trong đường dẫn có dấu. Lỗi này chỉ xảy ra ở một số máy tính. v7.4.0.8: 08-05-2018 + Sửa: lỗi phím F4 trong chức năng nhập liệu nâng cao. + Sửa: lỗi một số máy Office 2007 mất menu "A-TOOLS" v7.4.0.7: 04-05-2018 + Sửa: sửa lỗi từ Office 2007 trở lên, nếu chạy hàm BS_SQL với tập tin có định dạng Excel 2003, tên tập tin hoặc đường dẫn có dấu tiếng Việt. + Sửa: thủ tục sự kiện trong các hàm BS_VLOOKUP, BS_T_ACCOUNT chạy dòng đầu tiên. Phiên bản cũ bỏ qua dòng đầu tiên. + Nâng cấp: hàm BS_VLOOKUP cho phép tìm kiếm với ký tự có dấu không phân biệt chữ HOA chữ thường + Nâng cấp: chức năng nhập liệu nâng cao: + Cho phép tìm kiếm với ký tự có dấu không phân biệt chữ HOA chữ thường + Dùng phím tắt: - Nhấn F2 để mở cửa sổ tìm kiếm, - Các phím mũi tên lên xuống để chọn một hoặc nhiều mục - Nhấn phím F4 để chọn vào bảng tính + Thêm hai sự kiện: - OnGetSearchColumnIndex: cho phép thay đổi cột tìm kiếm - OnGetSearchTypeIndex: cho phép thay đổi kiểu tìm kiếm + Nâng cấp: hàm BS_T_ACCOUNT cho phép gộp dữ liệu theo mỗi tài khoản. Ngầm định gộp theo hàm SUM Nếu muốn thay đổi hàm có thể dùng =BS_T_ACCOUNT(tk, vungtkno, vungtkco,vungSoTien, , "FUNC=TENHAM") (*) TENHAM có thể là: SUM (ngầm định), COUNT, MIN, MAX, NO (*) Nếu là NO thì hàm BS_T_ACCOUNT sẽ liệt kê chi tiết giao dịch theo từng dòng + Nâng cấp: chức năng chia sẻ mạng cho phép hiện hoặc ẩn trạng thái chọn vùng của user trên sheet. => Vào chức năng "Tùy chọn", chọn hoặc bỏ mục "Hiện thị vùng chọn user trên sheet" (*) Chức năng này cần bỏ chọn nếu mạng chia sẻ không ổn định. v7.4.0.6: 20-03-2018 + Sửa: hàm BS_SQL khi khai báo thuộc tính HR=NO, lỗi nếu vùng dữ liệu trả về không có dòng nào. + Sửa: hàm BS_SQL khi khai báo sự kiện, lỗi xảy ra nếu đang mở ít nhất 2 file, nhấn CTRL+SHIFT+D, CTRL+SHIFT+F. + Sửa: khi đăng ký bản quyền số máy khách được kết nối tối đa trên máy chủ chưa cập nhật ngay. v7.4.0.5: 26-01-2018 + Sửa: nâng cấp hàm DATA sử dụng bên trong hàm BS_SQL và BS_VLOOKUP. v7.4.0.4: 08-01-2018 + Thêm: hàm BS_TRANSPOSE cho phép xoay chiều của mảng, cho phép làm việc với mảng có kích cỡ lớn. Hàm TRANSPOSE tốt này tốt hơn hàm TRANSPOSE của Excel vì bị giới hạn số phần tử. + Thêm: thuộc tính TP=YES cho phép khai báo váo các tham số OPTIONS trong các hàm để xoay chiều mảng kết quả Ví dụ: =BS_SQL("SELECT...", "TP=YES") =BS_VLOOKUP(..., "TP=YES") =BS_FILLARRAY(..., "TP=YES") ... áp dụng cho tất cả các hàm trong Add-in A-Tools có tham số OPTIONS + Thêm: thêm vào bộ cài ứng dụng thiết lập tùy chọn cách đọc số thành chữ cho Office 64-bit + Thêm: thêm vào bộ cài ứng dụng khôi phục menu cho Office 64-bit + Nâng cấp: tăng tốc độ chạy nhiều hàm BS_SQL trong một sheet nhanh hơn + Sửa: hàm BS_FILLARRAY làm việc với cả mảng một hoặc hai chiều. Phiên bản cũ chỉ 2 chiều + Sửa: hàm RECNO() lỗi khi nhập thêm tham số hoặc dùng nhiều lần trong một câu SELECT, lỗi này chỉ xuất hiện trong phiên bản cũ 7.4.0.3 + Sửa: một số lỗi nhỏ liên quan đến tương tác giao diện trong chức năng SQL Builder, DBKEY + Sửa: lỗi hiển thị kết nối máy chủ khi dùng hàm BS_DSUM, BS_DLOOKUP trong Office 64-bit. + Sửa: Bộ cài đặt thiết lập chế độ máy chủ không mở file - "Chỉ mở file nếu máy khách yêu cầu" khi "Tạo máy chủ". v7.4.0.3: 08-12-2017 + Thêm: hàm BS_T_ACCOUNT cho phép tạo tài khoản chữ "T" từ sổ Nhật ký chung trong Kế toán. (video hướng dẫn tại đây: http://bluesofts.net/ham-bstaccount-tao-tai-khoan-chu-t-trong-bang-tinh-excel.html) Cấu trúc: bs_T_Account(Account, DebitAccountArray, CreditAccountArray, AmountArray,[IndexArray], [Options]) Giải thích các tham số: - Account: là mã tài khoản cần tạo chữ "T", có thể dùng "152*" để lấy các tài khoản con, hoặc mảng tài khoản {1521,1522,1523} để tạo cho nhóm tài khoản. - DebitAccountArray: là vùng hoặc mảng tài khoản Nợ - CreditAccountArray: là vùng hoặc mảng tài khoản Có - AmountArray: là vùng hoặc mảng số tiền - IndexArray: là vùng hoặc mảng chứa mã của giao dịch, tham số này có thể bỏ qua. Nếu bỏ qua, A-Tools sẽ lấy mã tài khoản đối ứng để mô tả số tiền - Options: là tùy chọn cho hàm, bạn có thể bỏ qua. Tham số này được dùng giống như với hàm BS_SQL, BS_VLOOKUP. Tức là cho phép "INSERT=YES" để co giãn bảng (ngầm định) hoặc "INSERT=NO". + Thêm: hàm BS_ARRAY1D(danh sách các ô) để tạo mảng một chiều mà các phần tử mảng là các ô đưa vào tham số của hàm. Hàm BS_ARRAY1D được sử dụng hỗ trợ cho hàm BS_VLOOKUP khi các giá trị tìm kiếm nằm rời rạc ở các ô. + Thêm: hàm BS_ARRAY2D(danh sách các mảng 2 chiều) để ghép các mảng 2 chiều thành một mảng tổng hợp. Hàm BS_ARRAY2D được sử dụng hỗ trợ cho hàm BS_VLOOKUP, Nhập liệu nâng cao tìm kiếm trên nhiều sheet, nhiều vùng. + Thêm: hàm BS_FILLARRAY(Mảng 2 chiều, [Tùy chọn]) để điền mảng vào sheet theo cơ chế tự co giãn mảng giống các hàm BS_SQL, BS_VLOOKUP. + Nâng cấp: Phím tắt CTRL+SHIFT+S - Cập nhật công thức trong cả sheet được thực hiện với tất cả các hàm trong A-Tools. Phiên bản cũ chỉ thực hiện với hàm BS_SQL. + Nâng cấp: hàm BS_SQL chạy nhanh hơn khi trong một sheet dùng nhiều nơi (nhiều bảng). + Sửa: lỗi hàm BS_SQL khi tham số truyền vào là ô có thiết lập Validation, khi người dùng nhập sai (lỗi xuất hiện ở phiên bản 7.4.0.2) + Sửa: lỗi liên quan đến hàm BS_VLOOKUP khi dùng nhiều lần + Sửa: lỗi hàm BS_DLOOKUP không tham gia vào biểu thức tính toán (lỗi xuất hiện ở phiên bản 7.4.0.2) v7.4.0.2: 20-11-2017 + Nâng cấp: Hàm BS_VLOOKUP cho phép tùy biến với các tham số: + TableArray: có thể là mảng giá trị/địa chỉ vùng dữ liệu nguồn, có thể là chuỗi mô tả NAME, địa chỉ vùng dữ liệu nguồn. Ví dụ BS_VLOOKUP("*", "DATA") + ResultColIndex: cho phép nhập công thức, hàm "RECNO()" để đánh số thứ tự + LookupColIndex: cho phép nhập công thức làm điều kiện tìm kiếm trong trường hợp muốn dùng các hàm AND, OR phức tạp. + Được phép dùng hàm DATA(row,col) như hàm BS_SQL trong các tham số ResultColIndex, LookupColIndex (tài liệu chỉ dành cho nhà phát triển ứng dụng Excel). v7.4.0.1: 15-11-2017 + Sửa: lỗi nhỏ liên quan đến hàm BS_VLOOKUP + Sửa: lỗi mở rộng vùng giá trị bị thừa nếu trong một sheet có nhiều hàm BS_SQL với tham số INSERT=YES. + Nâng cấp: tốc độ chạy hàm BS_SQL nhanh hơn. v7.4.0.0: 14-11-2017 + Thêm: hàm BS_VLOOKUP - cho phép tìm và trả về một hoặc nhiều giá trị (mảng/array). Cải tiến từ hàm Vlookup trong Excel. Hướng dẫn sử dụng: http://bluesofts.net/-ham-bs-vlookup-tim-kiem-va-tra-ve-mang-gia-tri-dong.html + Thêm: hàm BS_SORTARRAY - Sắp xếp mảng 2 chiều theo một cột tăng dần hawocj giảm dần v7.3.0.6: 01-11-2017 + Sửa: phương thức kết nối máy chủ từ máy khách tốt hơn. v7.3.0.5: 27-10-2017 + Thêm: thêm class/object lập trình BSFile để mở, lấy thông tin của một file bất kỳ. Đối tượng này được dùng để gửi và nhận tập tin trong hàm RunMacroInServer(). + Nâng cấp: hàm BSNetwork.RunMacroInServer(). Cho phép gửi đi và nhận kết quả của hàm trong máy chủ với các tham số có kiểu dữ liệu là ARRAY, ADODB.Recordset, BSFile Với nâng cấp này chúng ta có thể lập trình với Add-in A-Tools để gửi đến server và nhận về client các tập tin và đa dạng dữ liệu. + Sửa: lỗi khi máy chủ chia sẻ file Excel trong mạng, nếu tại máy đó mở file Excel bên ngoài (không chia sẻ) thì thao tác bị chậm. + Sửa: lỗi hàm BS_SQL() chạy tốt hơn khi giá trị làm điều kiện nằm trong vùng có Data Validation. + Sửa: lỗi hàm BS_SQL() khi lập trình cùng sự kiện OnBeforeUpdate mà trong thủ tục sự kiện đó chạy hàm BSFunctions.BS_SQL(). + Sửa: lỗi cập nhật tên và thời gian của user nhập liệu trên máy chủ, nếu máy đó chạy Windows 10, Excel 2016 64-bit với định dạng(format) trong Control Panel là "Vietnamese" Xem video demo: Tìm trên Youtube "Kỹ thuật lập trình mạng trong Excel VBA và Add-in A-Tools P3" v7.3.0.4: 18-10-2017 + Nâng cấp: Chức năng "Nhập liệu nâng cao": - Cho phép tùy chọn có hoặc không hiển thị hộp thoại chọn ngày tháng. - Trong danh sách nhập liệu tìm kiếm nhiều cột, cho phép tùy chọn tìm kiếm phân biệt chữ HOA chữ thường. Ngầm định là không phân biệt. + Sửa: lỗi hàm BS_SQL() không chạy trong vùng có hỗn hợp các trạng thái Locked là True và False (trong [Format cell]-> Protection->Locked + Sửa: lỗi DBKEY=Tên file Excel, nếu tên file có khoảng trống. (*)Thêm mới các hàm trong đối tượng BSNetwork như sau: + Hàm : FileExistsInServer("Tên file đầy đủ") As Boolean Để kiểm tra file (có đường dẫn đầy đủ) có tồn tại trong máy chủ không. Nếu có tồn tại hàm trả về TRUE, ngược lại là FALSE. + Thêm: đối tượng ActiveUser (Đường dẫn đối tượng BSNetwork.ConnectedUsers.ActiveUser). Là đối tượng lưu thông tin user vừa gửi lệnh VBA lên máy chủ. v7.3.0.3: 08-10-2017 + Nâng cấp: chương trình khôi phục menu A-Tools trên Excel "EnableExcelAddins" lên v2.0 và sửa lỗi Office 2016 triệt để hơn. + Sửa: khi trong vùng công thức của hàm BS_SQL đang filter, nếu cập nhật công thức là treo. (*)Thêm mới các hàm trong đối tượng BSNetwork như sau: + Hàm : WorkbookInServerIsOpened("Tên file") As Boolean Để kiểm tra một tập tin Excel đang mở trong máy chủ không. Hàm trả về TRUE là đang mở, FALSE là chưa mở. + Hàm : OpenWorkbookInServer("Tên file đầy đủ",["Mật khẩu"]) As Boolean Để mở file Excel (có đường dẫn đầy đủ) trong máy chủ. Mở thành công hàm trả về TRUE, ngược lại là FALSE + Hàm : RunMacroInServer("Tên file","Macro",Param1, Param2,...Param30) As Variant Hàm chạy một macro hoặc hàm trong file Excel đang mở tại máy chủ. Hàm cho phép chạy tối đa 30 tham số. Hàm trẻ về kiểu giá trị dựa theo "Macro" gọi trên máy chủ. (***) Đây là giải pháp cho phép người lập trình VBA trong Excel dễ dàng lập trình chạy mạng Client-Server cùng Add-in A-Tools. Video demo: https://www.youtube.com/watch?v=t5phkLlkWWw&feature=youtu.be + Hàm: ShellExecuteInServer("AppOrUrl",["Param"]) As Long Hàm chạy một ứng dụng (Application) hoặc liên kết nào đó ở tại máy chủ. Hàm tương đương với hàm Shell() của VB/VB6, ShellExecute() trong Windows API. (*) Hãy mở file "C:\A-Tools\HELP & DEMOS\A-Tools VBA Programming\Network\RunCommandsInServer.xls" xem ví dụ. v7.3.0.2: 04-10-2017 + Sửa: lỗi sự kiện BSNetwork.OnReceve() - Dùng khi lập trình VBA + Nâng cấp: Thêm sự kiện XNM_STATUS để gửi trạng thái máy chủ và máy khách khi đang chạy một tiến trình mạng - Dùng khi lập trình VBA + Thêm: đối tượng BSDBKeys để quản trị danh sách DBKEY của A-Tools: cho phép xem, sửa, xóa từng DBKEY bằng lập trình VBA + Thêm: đối tượng BSDBKey để nhận thông tin chi tiết của một DBKEY cụ thể: Name, DatabaseName(fullName), DBType,... (Xem ví dụ: C:\A-Tools\HELP & DEMOS\A-Tools VBA Programming\DBKEY Information.xls) + Thêm: hàm GetSysFormatSettings() cho phép nhận giá trị của các thiết lập định dạng trong Control Panel '(*) Trong VBA phải khai báo hàm API với kiểu dữ liệu nhận TBSFormatSettings trong một Module Type TBSFormatSettings ListSeparator As Variant DecimalSeparator As Variant DateSeparator As Variant TimeSeparator As Variant ShortDateFormat As Variant ShortTimeFormat As Variant LongDateFormat As Variant LongTimeFormat As Variant ThousandSeparator As Variant CurrencyString As Variant End Type #If VBA7 Then Declare PtrSafe Function GetSysFormatSettings Lib "AddinATools.dll" (ByRef FormatSettings As TBSFormatSettings) As Boolean #Else Declare Function GetSysFormatSettings Lib "AddinATools.dll" (ByRef FormatSettings As TBSFormatSettings) As Boolean #End If '(*) Ví dụ: Sub TestGetSystemFormats() Dim sf As TBSFormatSettings GetSysFormatSettings sf 'Press CTRL+G in VBA to view FormatSettings: Debug.Print "ShortDateFormat", sf.ShortDateFormat Debug.Print "ShortTimeFormat", sf.ShortTimeFormat Debug.Print "DecimalSeparator", sf.DecimalSeparator Debug.Print "ThousandSeparator", sf.ThousandSeparator Debug.Print "ListSeparator", sf.ListSeparator Debug.Print "CurrencyString", sf.CurrencyString End Sub v7.3.0.1: 23-08-2017 + Sửa: lỗi chọn vùng khi các sheet đang grouping/nhóm + Sửa: lỗi hàm DATA trong một tính đặc biệt... v7.3.0.0: 12-07-2017 ĐÂY LÀ PHIÊN BẢN CHO PHÉP BÁO CÁO LIÊN KẾT NHAU LINH HOẠT NHƯ MỘT PHẦN MỀM MÀ KHÔNG PHẢI LẬP TRÌNH! + Thêm: cho phép thiết kế báo cáo Excel theo kiến trúc Drilldown. Cho phép gái các hàm bổ sung lồng vào sự kiện chuyển động của người dùng và tương tác chuột - Cho phép gán giá trị sang vùng khác, mở sheet khác khi đang chạy công thức, di chuyển chuột, nhấp đúp chuột trong vùng báo cáo có hàm BS_SQL(). + Thêm: các hàm thêm dưới đây được gái vào các sự kiện OnSelectionChange, OnDblClick, OnBeforeExec, OnBeforeUpdate, OnAfterUpdate 1. Hàm GOTO() cho phép mở tới địa chỉ ô, có thể kết hợp điều kiện tìm kiếm Cấu trúc: GOTO(Range, [ActiveColumn],[Criteria]) Giải thích các tham số: + Range: là địa chỉ ô/vùng cần mở, có thể là một vùng để tìm kiếm bởi điều kiện trong [Criteria] + ActiveColumn: vị trí cột trong Range sẽ được chọn nếu điều kiện tìm trong [Criteria] thỏa mãn. Nếu bỏ qua hệ thống hiểu là 1. Chỉ cần dùng nếu khai báo điều kiện tìm [Criteria] + Criteria: là các điều kiện tìm kiếm. Cấu trúc mô tả điều kiện như sau Vị trí côt1=Giá trị tìm1,Vị trí côt2=Giá trị tìm2,...,Vị trí côt n=Giá trị tìm n Điều kiện là kết hợp theo toán tử AND - và Vị trí côt: là vị trí trong vùng Range (của tham số đầu tiên) Giá trị tìm: có thể lấy từ địa chỉ ô trong sheet, hàm tự tạo VBA, hàm DATA() để trả về giá trị trong bảng dữ liệu có hàm BS_SQL(). 2. UPDATE() cho phép cập nhật công thức ở các vùng chỉ định, có thể nhiều vùng 3. Hàm SET() cho phép gán giá trị vào các ô tại sheet hiện thời hoặc sheet khác, cho phép gàn nhiều ô khác nhau. Cấu trúc SET(Set1, [Set2],...,[FuncName]) + Set1,2,n là các cặp gán giá trị: địa chỉ ô=Giá trị Ví dụ: A4='HH001' + FuncName: là các hàm được dùng kết hợp trong hàm SET là: GOTO, UPDATE hoặc hàm tự viết trong VBA các hàm được ngăn cách bởi dấu phảy (,) 4. Hàm DATA(row, col) sử dụng trong sự kiện thì tham số ROW, COL tính theo tọa độ của vùng. Vị trí tính từ 1 (Hàm DATA trong câu SELECT thì tọa độ Row, Col tính từ 0) + Nâng cấp: hàm DATA() có thêm tham số thứ 3 để chỉ định kiểu giá trị :T, D, N có thể bỏ qua. + Nâng cấp: hàm BS_SQL() khi dùng tham số thuộc tính INSERT=YES cho phép co giãn cả dòng và cột. Phiên bản trước đây chỉ co giãn dòng. + Sửa: khắc phục lỗi mất đinh dạng WrapText khi báo cáp cập nhật. + Nâng cấp: hàm VTC(): có tham số thứ 5 để cho phép sắp xếp danh sách giá trị liệu kê tăng hoặc giảm dần Cấu trúc: VTC(ColumnName,Func,ColumnCalc,[FormatDate],[Order]) Order ngầm định là TRUE - giá trị trong cột ColumnName sắp xếp tăng dần. Tham số này có thể bỏ qua nếu để tăng dần. Order là FALSE - giá trị trong cột ColumnName sắp xếp giảm dần. + Sửa: lỗi hàm VTC() + Giá trị liệt kê các cột không quá 64 ký tự. Hàm tự cắt đảm bảo số ký tự <=64. + Nếu không có giá trị nào sẽ lỗi, giải pháp tự thêm cột "BLANK". + Sửa: hàm BS_UNIQUE() lỗi khi vùng dữ liệu thuộc vùng có hàm BS_SQL. Lỗi khi hàm BS_SQL cập nhập. HƯỚNG DẪN HÀM MỚI: SET(), GOTO(),UPDATE(),DATA() Ví dụ 1: nhấp đúp chuột trên báo cáo thì tìm và mở ô trong sheet KHO. Ứng dụng hàm GOTO() =bs_sql("SELECT...", "OnDblClick=GOTO(KHO, 4, 1=DATA(row,2), 4=C4);") Giải thích ví dụ trên: khi nhấp đúp chuột vào một ô trong báo cáo thì hàm GOTO sẽ chạy, do khai báo sự kiện OnDblClick. Hàm GOTO sẽ chọn con trỏ vào dòng tìm được, vị trí cột 4 trong bảng KHO. Điều kiện tìm là: tìm từ dòng đầu tiên đến cuối cùng trong bảng KHO, nếu - Cột số 1 trong bảng KHO bằng giá trị "XK0000010" (giả thiết hàm DATA(row,2) trả về giá trị "XK0000010" tại dòng hiện thời trong báo cáo có hàm BS_SQL) - Và cột 4 bằng "KH001" (giải thiết ô C4 chứa giá trị "KH001" trong sheet). Ví dụ 2: chọn vào một ô trog báo cáo thì gám giá trị vào ô C3,C4 và cập nhật 2 vùng tại các ô E10, H10. Nếu nhấp đúp chuột trên báo cáo thì hàm gán KHO!A1=DATA(row,1) đồng thời tìm theo điều kiện và mở ô trong sheet KHO. Ứng dụng hàm SET, UPDATE, GOTO() =bs_sql("SELECT...", "OnSelectionChange=SET(C3=DATA(row,2), C4='KH001', UPDATE(E10,H10); OnDblClick=SET(KHO!A1=DATA(row,1),GOTO(KHO, 4, 1=DATA(row,2), 4=C4));") Giải thích: 'KH001' là chuỗi - Không được dùng "KH001" DATA(row,1) sẽ trả về giá trị tại cột số 1, dòng hiện thời thuộc dòng bạn chọn trong báo cáo có hàm BS_SQL DATA(row,2) sẽ trả về giá trị tại cột số 2, dòng hiện thời... Thuộc tính nhấp đúp chuột chạy bởi sự kiện OnDblClick giải thích như ví dụ 1. v7.2.0.8: 24-06-2017 + Sửa: hàm BS_SQL không thực thi các từ khóa DISTINCT, TOP trong câu lệnh SELECT nếu sử dụng hàm RECNO() để đánh số thứ tự tự động. + Sửa: lỗi kéo thả chuột trong chức năng SQL Builder nếu máy tính cài trong Windows10 64-bit, Office 64-bit. + Sửa: lỗi "Nhập liệu nâng cao" khi chọn giá trị ngày từ form nếu Office 64-bit. + Sửa: hàm MIN, MAX trong hàm BS_SQL, khi dùng hàm MIN, MAX với hàm DATA bị lỗi nếu định dạng phần thập phân là dấu phảy (,), hàng ngàn dấu chấm (.). + Nâng cấp: hàm DATA(row, col) cho phép sử dụng các công thức Excel bên trong các tham số. Công thức có hàm DATA có thể trả về các loại giá trị. Phiên bản cũ chỉ là kiểu số. Có thể sử dụng công thức với hàm DATA như sau: =BS_SQL("SELECT ...., IF(DATA(IF(Row<2, 0, PrevRow), Col-3)>10,'OK', 'NOT OK') AS [Tính như Excel]... Hoặc thay thế biến Prevrow thành Row-1 =BS_SQL("SELECT ...., IF(DATA(IF(Row<2, 0, Row-1), Col-3)>10,'OK', 'NOT OK') AS [Tính như Excel]... (Tức là chúng ta có thể sử dụng cách làm công thức với phép toán phong phú như làm vơi Excel liên quan đến hàm DATA...) Ví dụ dưới đây dùng hàm Vlookup vào trong SQL =bs_Sql("SELECT DISTINCT RECNO() AS [STT], MA_VLSPHH, VLOOKUP(DATA(row,1),DMVLSPHH,2,0) AS [TÊN KH] FROM KHO") Việc đánh số thứ tự thay vì dùng hàm RECNO() ta có thể dùng hàm DATA như sau: =bs_Sql("SELECT DISTINCT DATA(Row-1,0)+1 AS [STT], MA_VLSPHH FROM KHO") + Nâng cấp: thêm biến hệ thống [ROW] trả về dòng hiện thời trong mảng trả về của hàm BS_SQL, mỗi một dòng trong mảng lấy ra thì [ROW] trả về trị số dòng tương ứng từ 0..n. Biến [ROW] chỉ được sử dụng trong biểu thức mà có ít nhất một hàm DATA tham gia. Ví dụ: ="SELECT SO_CT, NGAY_CT, SLG, DON_GIA, THANH_TIEN, IF([ROW]=0,G6,0)+data(PrevRow,5)+data(Row,2) AS [Luỹ kế] + Nâng cấp: Các vùng dữ liệu có hàm BS_SQL, Query Table nhấp chuột phải có menu "Refresh" để cập nhật công thức/báo cáo, lệnh này tương tự nhấn phím tắt CTRL+SHIFT+A hoặc lệnh "Cập nhật" từ menu A-Tools. v7.2.0.7: 08-06-2017 + Nâng cấp: Cho phép kết nối với GoogleSheets vào Excel. Giải pháp này cần được công ty Bluesofts hỗ trợ trực tiếp khi mua bản A-Tools Pro + Sửa: Hiển thị sơ đồ thiết kế trong SQL Builder khi sửa lại công thức mặc dù tên cột có dấu cách hoặc ký tự đặc biệt. (Phiên bản cũ không hiển thị lại nếu tên cột có dấu cách hoặc ký tự đặc biệt.) + Sửa: Hiển thị sơ đồ thiết kế trong SQL Builder khi sửa lại công thức của báo cáo "Query Table". + Sửa: Một vài lỗi nhỏ cũng được chỉnh sửa trong phiên bản này. v7.2.0.6: 04-05-2017 + Sửa: lỗi hiển thị menu trên một số máy tính có cấu hình "đặc biệt". v7.2.0.5: 18-04-2017 + Sửa: một số lỗi nhỏ của các phiên bản trước. + Sửa: lỗi hàm BS_SQL(), nếu chạy tại máy khách có sử dụng các hàm RECNO(),DATA(),GETONCE(), và công thức có dạng =BS_SQL(SELECT,...", "DBKET=XXX;SERVERSOURCE=YES") sẽ lỗi. + Nâng cấp: tốc độ mở vùng/sheet từ máy khách nhanh hơn. v7.2.0.4: 15-04-2017 + Sửa: khi tạo vùng chia sẻ, người dùng chọn cột ghi thông tin user và thời gian máy chủ, nếu chọn vùng mà không chọn cột là lỗi không nhận dạng được. Phiên bản mới tự nhận dạng từ vùng. + Sửa: lỗi nhập liệu nâng cao, khi chọn nút combo từ Validation List không trả về giá trị từ nhiều cột vào bảng tính. Lỗi này chỉ xảy ra ở phiên bản 7.2.0.3. + Sửa: lỗi chức năng nhập liệu nâng cao với Excel 64 bit. + Sửa: lỗi tạo menu trên Excel 2003. Lỗi này xảy ra từ phiên bản 7.0. + Sửa: lỗi hiển thị vùng chọn của những người trong mạng với Excel 2003. + Sửa: lỗi không chạy được nhiều báo cáo bởi hàm BS_SQL(), có khai báo thuộc tính INSERT=YES trên cùng một sheet trong Excel 64-bit. + Nâng cấp: thêm tập tin Excel hướng dẫn Add-in A-Tools cho phép đọc vắn tắt các chức năng cùng video, liên kết mở các ví dụ có hệ thống. + Nâng cấp: màn hình "Nhập liệu nâng cao" cho phép co giãn hai phần cửa sổ, trên và dưới để có không gian thiết lập các cột nhập và cột dữ liệu nguồn. + Nâng cấp: chức năng nhập liệu nâng cao, vùng nhập liệu nhận nhiều giá trị cho phép tối đa 20 cột. Phiên bản cũ chỉ giới hạn 10 cột. + Nâng cấp: tại máy chủ, khi tạo vùng Excel sheet để chia sẻ, khi chọn vùng ghi thông tin tên người truy cập và thời gian máy chủ, chương trình định dạng cột thời gian về "dd/mm/yy hh:mm:ss". Cấu trúc định dạng "dd/mm/yy" lấy theo mẫu của Control Panel. + Nâng cấp: User khởi tạo máy chủ. Cho phép toàn quyền sửa dữ liệu và phê duyệt. Phiên bản cũ bị chặn bởi phân quyền. v7.2.0.3: 12-04-2017 + Sửa: lỗi tạo Validation List trong màn hình "Nhập liệu nâng cao" nếu máy tính đó dùng dấu chấm phảy (;) ngăn cách tham số hàm. + Sửa: lỗi in liên tục bị in thừa nếu người dùng sau khi chọn xong danh sách mã không nhấn ENTER mà lại bấm chuột ra ô nào đó. v7.2.0.2: 10-04-2017 + Nâng cấp: Thay đổi giao diện máy khách gọn và chuyên nghiệp hơn. Cho phép ẩn, hiện các trạng thái, quyền của vùng/sheet tại màn "Quản trị máy khách". + Nâng cấp: Hiển thị menu "Tạo tài khoản". v7.2.0.1: 10-04-2017 + Nâng cấp: Giao diện thiết lập vùng chia sẻ bố cục hợp lý hơn. Co giãn mục nhập ghi chú. + Nâng cấp: Trong quản trị máy khách, nhìn thấy ghi chú của từng vùng/sheet khi di chuột vào. + Nâng cấp: Tên các mục ở màn hình quản trị máy chủ, máy khách được sửa tên gọi dễ hiểu hơn. + Nâng cấp: tính năng nhìn thấy vùng chọn các user trong cùng một sheet chạy tốt hơn. v7.2.0.0: 06-04-2017 ĐÂY LÀ PHIÊN BẢN CUNG CẤP TÍNH NĂNG CHIA SẺ MẠNG VÀ QUẢN TRỊ NGƯỜI DÙNG MẠNH VÀ LINH HOẠT NHẤT (Các tính năng phát triển của Add-in A-Tools mạnh mẽ hơn rất nhiều so các sản phẩm của Microsoft Office 365, Google Spread Sheet với cùng tính năng chia sẻ Excel cho nhiều người dùng.) + Nâng cấp: Chức năng nhiều người cùng nhập chung sheet. Phân vùng chi tiết hơn. Đa năng trong tác nghiệp... + Nâng cấp: Không xóa đươc dữ liệu của người khác tạo với mọi file Excel mà không càn viết một đoạn macro nào. + Nâng cấp: Cho phép đặt trạng thái một user là "Leader/Trưởng nhóm". Người này sẽ có quyền sửa dữ liệu của người khác thuộc nhóm của mình. + Nâng cấp: Cho phép khai báo địa chỉ vùng không hợp lệ để ngắn chặn người khác nhập vào. + Nâng cấp: Cho phép khai báo địa chỉ 2 cột "User" "Time" để máy chủ lưu tên và thời gian của các tài khoản nhập từ máy khách. + Nâng cấp: Cho phép đặt thời gian để khóa từng dòng dữ liệu đã nhập không cho sửa khi quá hạn. Ví dụ dòng dữ liệu sau 10 phút không cho sửa,... Ngầm định là -1 là không giới hạn trừ khi được phê chuẩn thì dòng dữ liệu mới bị khóa. + Nâng cấp: Cho phép khai báo địa chỉ cột "Approve/Phê chuẩn". Cho phép người có quyền phê chuẩn nhấp đúp chuột vào để đánh dấu. Dòng dữ liệu nào bị đánh dấu sẽ không sửa được nữa trừ khi có người khác "Hủy phê chuẩn". + Nâng cấp: Cho phép nhấp chuột phải để thực hiện các lệnh "Phê chuẩn", "Hủy phê chuẩn", "Thiết lập nhật liệu nâng cao - Nhập liệu hỗ trợ danh sách tìm nhiều cột". + Nâng cấp: trong đối tượng hiển thị vùng của các user đang chọn/bôi đen trên sheet, tên user được tự động căn trái, phải để tránh che mất nội dung trong vùng chọn. +Sửa: lỗi đóng sheet/vùng tại máy khách ở phiên bản 7.0. v7.1.0.2: 02-04-2017 + Thêm: cho phép từ máy khách tạo tài khoản để kết nối. Phiên bản 7.1.0.2 này tạm cho phép tạo tài khoản trên http://bluesofts.net để trải nghiệm Excel online (Tương lai sẽ được phép upload file và chia sẻ cho người khác) + Nâng cấp: đồng bộ đữ liệu giữa phân vùng ảo và sheet gốc tại máy khách khi kết nối máy chủ. + Nâng cấp: cửa sổ danh sách online có biểu tượng menu ở đỉnh góc phải để chạy các lệnh: chat, mở vùng đang chọn của user online, định vị lại cửa sổ online. + Nâng cấp: chức năng SQL Builder tạo công thức linh hoạt với những trường hợp chuỗi SQL dài. A-Tools tự tạo công thức ghép chuỗi đảm bảo hàm BS_SQL vẫn được chạy thành công. Phiên bản cũ người dùng phải tự tách chuỗi khi chuỗi bị báo quá dài. Điều này làm cho người ít kinh nghiệm xử lý công thức chuỗi gặp khó khăn. + Nâng cấp: tạo công thức từ SQL Builder trên các hệ Excel mới (2010,2013,2016) cho phép chạy với Excel 2007. + Nâng cấp: tạo comment cho ô đầu tiên của vùng công thức BS_SQL lưu ý về cách cập nhật công thức cũng như các trợ giúp khác. v7.1.0.1: 29-03-2017 + Nâng cấp: cho phép chát với nhiều người một lúc + Nâng cấp: cho phép co giãn cửa sổ danh sách user online + Nâng cấp: nhấp chuột phải trên danh sách user online để thực hiện các lệnh: Chat, Chọn ô, Định vị lại cửa sổ + Nâng cấp: lưu trạng thái nhận tin nhắn của người khác trong form "Danh sách người kết nối". v7.1.0.0: 23-03-2017 + Nâng cấp: tại một sheet, hiển thị các vùng/ô đang được chọn bởi các user khác trong mạng. Mỗi khu vực user chọn có thể nhấp chuột vào để mở cửa sổ chat với từng người. Hiển thị danh sách các user đang mở sheet/vùng phía phải màn hình. + Nâng cấp: nâng cấp tốc độ đóng vùng dữ liệu/sheet tại máy khách. + Nâng cấp: thay đôi tham số các sự kiện thông tin user về BSUser. + Thêm: thêm 1 sự kiện trong BSNetwork.OnSelectionChange(UserRange As BSUserRange, Target As Range, User As BSUser, XmlData As String) . Sự kiện này chạy khi người dùng trong mạng chọn vùng trên bảng tính. UserRange : vùng nòa được chọn; Target vùng được chọn; User: user nào trong mạng đang chọn; XmlData: thông tin bổ sung. + Thêm: thêm 1 sự kiện trong BSAdvancedInput.OnCanShow(Target As Range, FormType As BSFormType, Cancel As Boolean) Sự kiện chạy trước khi cửa sổ nhập liệu nâng cao hiển thị. Target: vùng chọn; FormType: loại form sẽ hiển thị (ftDate, ftList); Cancel: nếu là True thì hủy bỏ viêc hiển thị form. Sự kiện này có ý nghĩa thay thế bằng form của người phát triển ứng dụng thay vù dùng form của A-Tools, hoặc không hiển thị. + Thêm: BSNetwork.User là đối tượng/Class BSUser để cung cấp tất cả các thông tin của user + Sửa: tương thích hoàn toàn giữa chức năng nhập liệu nâng cao với chia sẻ Excel qua mạng. + Sửa: Form chọn ngày, giá trị ngày từ bảng tính được chọn. v7.0.0.10: 04-03-2017 + Sửa: lỗi đấu ListSeparator trong Control Panel và Excel ảnh hưởng đến chia sẻ qua mạng và nhập liệu nâng cao + Sửa: lỗi không hiển thị đầy đủ giá trị các thuộc tính của đối tượng BSUser + Sửa: lỗi ẩn màn hình quản trị máy chủ khi lựa chọn giữa 2 tập tin Excel ở cây lệnh thuộc màn hình đó nếu Excel từ 2013 trở lên. Từ Excel 2010 trở về trước không bị. + Sửa: vùng nhập liệu nâng cao nếu có công thức thì không hoạt động. + Thêm: Thuộc tính BSNetwork.TimeServer trả về thời gian thực của máy chủ. + Thêm: BSUser.TimeLogin trả về thời gian đăng nhập của user. + Thêm: Thuộc tính BSNetwork.User chứa các thông tin của user đăng nhập + Thêm: sự kiện OnRangeActivated - Chạy khi vùng được mở chư chuyển đổi giữa các sheet. Giống sự kiện Worksheet.Active(). + Thêm: sự kiện OnRangeDeactivated - Chạy khi vùng được chuyển sang vùng khác giống sự kiện Worksheet.Deactive(). v7.0.0.9: 18-01-2017 + Sửa: lỗi hàm VTC() trong hàm BS_SQL() khi kết nối trực tiếp CSDL Foxpro. + Sửa: lỗi hàm DATA() nếu trong câu lệnh SELECT dùng hàm VTC đứng trước khi sử dụng hàm gọi BS_SQL(). + Sửa: lỗi hàm bs_GetFieldNames() xung đột với hàm BS_SQL() khi cập nhật liên tục hai hàm. + Sửa: lỗi hàm BS_SQL() khi kết nối trực tiếp với điều khiển (control) "Scroll Bar" trong Form Controls. + Sửa: sửa lỗi mạng trong phiên bản 7.0.0.7 v7.0.0.8: 13-01-2017 + Nâng cấp: tăng tốc độ tìm và lọc dữ liệu trong "Nhập liệu nâng cao" + Nâng cấp: các thuộc tính trong soạn thảo trên ô để tìm và lọc trong nhập liệu nâng cao chạy tốt hơn. v7.0.0.7: 09-01-2017 + Sửa: lỗi truyền tham số Sheet trong BSUserRange của các sự kiện lập trình OnCanChange, OnSheetChange, OnOpenRange, OnCloseRange + Sửa: lỗi tạo Hyperlink dạng liên kết sheet khi truyền lên máy chủ. v7.0.0.6: 01-01-2017 (*) Nâng cấp chức năng "Nhập liệu nâng cao" - "Advanced Input" 1. Sửa: tương thích hoàn toàn với các thiết lập dấu CHẤM, PHẢY,... giữa Excel và Control Panel trong Windows 2. Sửa: từ bảng thiết lập chọn vùng dữ liệu nguồn không bị nhảy màn hình Excel. Lỗi xảy ra với với Excel 2013, 2016 3. Sửa: làm việc đúng với trường hợp Merge Cell - Trộn ô 4. Nâng cấp: Tốc độ tải dữ liệu trong danh sách tìm kiếm nhanh hơn 5. Thêm: chức năng Xem trước khi in và in sau khi nhập từng giá trị từ danh sách chọn - Giống ví dụ in liên tục nhưng không phải lập trình VBA. 6. Nâng cấp: Cho phép sử dụng công thức trong "Vùng dữ liệu nguồn". Với tính năng này cho phép tạo bảng tìm kiếm với vùng dữ liệu nguồn động, tuy biến theo các điều kiện.... v7.0.0.5: 27-12-2016 + Sửa: hàm BSNetwork.OpenSheet("Tên sheet/vùng, "Tên file Excel") chạy chính xác hơn trong VBA. Thêm tham số thứ 2 "DatabaseName". + Sửa: các hàm trong BSUserRanges.Open(), BSUserRanges.IsOpen() chay chính xác hơn. + Nâng cấp: hàm trong BSUserRanges.Open(), thêm tham số "Download", "SavedPathDownload" cho phép download file từ máy chủ. + Thêm: hàm BSUserRange.Download("SavedPathDownload") cho phép download file Excel của sheet đang mở. '(*) Ví dụ: Sub OpenSheet_In_Server() Dim xnet As New BSNetwork Dim sh As Worksheet 'Way1: Set sh = xnet.OpenSheet("TUAN", "FILE1.XLSX") 'Way2: ' If Not xnet.Databases("FILE1.XLSX").UserRanges.IsOpened("TUAN") Then ' Set sh = xnet.Databases("FILE1.XLSX").UserRanges.Open("TUAN").Sheet ' Else ' Set sh = xnet.Databases("FILE1.XLSX").UserRanges("TUAN").Sheet ' End If Set xnet = Nothing End Sub Sub Download_From_Server() Dim xnet As New BSNetwork 'Save file to path "C:\A-Tools"" xnet.Databases("FILE1.XLSX").UserRanges.Open "TUAN", , True, "C:\A-Tools" Set xnet = Nothing End Sub + Nâng cấp: hàm BS_SQL cho phép chạy với sheet bị Protect. Điều kiện để chạy được là trước khi protect sheet thì cả dòng trong sheet mà chứa hàm BS_SQL phải bỏ chế độ Locked trong "Format Cell"->Protection v7.0.0.4: 26-12-2016 + Sửa: lỗi chọn vùng trong bảng thiết lập "Nhập liệu nâng cao" nếu có con trỏ soạn thảo. + Sửa: nút "Xóa" được hiển thị ngay khi mở bảng thiết lập "Nhập liệu nâng cao" mà tại con trỏ chứa vùng nhập liệu nâng cao. + Sửa: hàm BS_SQL() chặn lỗi số ký tự trong bảng tính Excel lớn hơn 255 ký tự. + Sửa: sửa một vài lỗi nhỏ khác của phiên bản trước. + Nâng cấp: chọn toàn bộ vùng nhập liệu khi mở màn hình thiết lập "Nhập liệu nâng cao" + Nâng cấp: cho phép nhập liệu qua mạng với chức năng "Nhập liệu nâng cao" + Nâng cấp: trong "Nhập liệu nâng cao", vùng dữ liệu nguồn cho phép dùng NAME + Nâng cấp: trong "Nhập liệu nâng cao", vùng validation list sử dụng NAME tham chiếu tới công thức có hàm Offset để tạo tính động cho vùng dữ liệu nguồn. + Nâng cấp: cho phép chọn nhiều giá trị với vùng nhập rời rạc. + Nâng cấp: cho phép lập trình sự kiện khi chọn giá trị với sự kiện BSAdvancedInput_OnGetValues() trong VBA. Đây là tính năng quan trọn để giúp người lập trình làm nhiều việc khác dựa vào chức năng "Nhập liệu nâng cao". v7.0.0.3: 11-12-2016 + Sửa: lỗi mất ký tự có dấu khi dùng Unikey. Lỗi này chỉ xảy ra với phiên bản A-Tools 2017 và Unikey version < 3.5. + Sửa: nhận định dạng vùng là ngày tháng chính xác. + Sửa: lỗi mất vùng bôi đen chuỗi giá trị trong mục nhập khi Excel tự điền với tính năng "Auto Complete" của Excel. + Nâng cấp: cho phép sử dụng CTRL+A để chọn toàn bộ văn bản đang soạn thảo trong ô. v7.0.0.2: 11-12-2016 + Sửa: thay đổi cách hiển thị Combobox chọn cột dữ liệu nguồn v7.0.0.1: 9-12-2016 + Sửa: Lỗi khi máy tính dùng dấu chấm là ngăn cách hàng ngàn, dấu phảy là phần thập phân. + Nâng cấp: cho phép tạo vùng chọn nhiều cột khi vùng rời rạc có số dòng như nhau. v7.0.0.0: 8-12-2016 + Thêm: tính năng "Nhập liệu nâng cao - Advanced Input Cho phép tìm kiếm và lọc giá trị trong danh sách nhiều cột trong Excel và Add-in A-Tools Thông tin phiên bản mới tại đây: http://bluesofts.net/nhap-lieu-nang-cao-trong-excel-bang-a-tools.html v6.6.1.9: 17-11-2016 + Nâng cấp: tăng tốc độ tính toán cho các hàm về màu sắc. + Nâng cấp: thêm bộ hàm: + BS_UNIQUE: Lấy danh sách duy nhất động, cho phép sắp xếp tăng, giảm, đặt NAME, INSERT + BS_GETFIELDNAMES: Lấy danh sách tên các cột trong bảng, cho phép đặt NAME, INSERT, DBKEY, SERVERSOURCE=YES + BS_GETTABLENAMES: Lấy danh sách tên các bảng trong CSDL, cho phép đặt NAME, INSERT, DBKEY, SERVERSOURCE=YES + BS_GETPROCNAMES: Lấy danh sách tên các thủ tục trong CSDL, cho phép đặt NAME, INSERT, DBKEY, SERVERSOURCE=YES (C:\A-Tools\HELP & DEMOS\Extension functions - Unique and get db information.xls) + BS_GETCOLORVALUE: Lấy ra giá trị màu + BS_COUNTCOLORUNIQUE: Đếm số mầu duy nhất (C:\A-Tools\HELP & DEMOS\Extension functions - Function with color.xls) v6.6.1.8: 15-11-2016 + Nâng cấp: Khi dùng chuột trên bảng màu (chế độ màu Preview) để định dạng các ô chọn thì các hàm về màu sắc (BS_SumIfColor(), BS_SumProductIfColor(),...) của A-Tools đang tham chiếu tới các ô đó sẽ cập nhật ngay kết quả tạm thời. Tuy nhiên chỉ cập nhật chính thức khi người dùng chọn màu. + Sửa: Lỗi hàm DATA khi dùng với hàm BS_SQL với số thập phân. Lỗi này chỉ xảy ra ở phiên bản 6.6.1.7 + Sửa: Lỗi sửa các đối tượng vẽ như Comment, Buton, Shape,... Lỗi này chỉ xảy ra ở phiên bản 6.6.1.7 + Sửa: Lỗi tạo vùng địa chỉ để chia sẻ trên máy chủ bị nhầm sheet. Lỗi này chỉ xảy ra ở phiên bản 6.6.1.6, 6.6.1.7 v6.6.1.7: 11-11-2016 + Nâng cấp: Thêm chức năng "Download" tại màn hình "Quản trị máy khách". User nếu được máy chủ phân quyền download sẽ download được file Excel từ máy chủ. + Nâng cấp: Thông báo cho máy khách "Lỗi mạng" nếu trong khi mở file Excel từ máy chủ mà lỗi mạng, máy khách sẽ được thông báo "Cần kiểm tra mạng". Sau 30 giây nếu mạng vẫn lỗi máy khách sẽ tự đóng kết nối, trường hợp kết nối lại được dữ liệu đã làm được tự động cập nhật lên máy chủ. Chức năng này khắc phục các công ty mà mạng bị chập trờn. + Nâng cấp: Khi máy khách đóng sheet, file Excel máy chủ tự động lưu file đó ngay. Không càn CTRL+S tại máy khách hoặc đặt tự động lưu trên máy chủ. + Nâng cấp: Thêm tùy chọn "Tính lại công thức trước khi share từ máy chủ" trong chức năng "Tùy chọn". Chức năng này ngầm định không chọn để đảm bảo tốc độ mở file nhanh của máy khách. Nếu chọn, trước khi cho máy khách kết nối vào file Excel tại máy chủ sẽ tính toán lại để cập nhật dữ liệu (tốc độ chia sẻ bị ảnh hưởng khi mở file). + Nâng cấp: Tự động sửa liên kết ngoài tới các file Excel nguồn bị sai đường dẫn của file Excel đang mở. Khi dùng file Excel mà liên kết tới các file Excel nguồn ở các thư mục khác, khi vô tình bạn chuyển các file nguồn đó sang thư mục khác thì file sử dụng sẽ bị lỗi đường dẫn. Với chức năng tự động sửa lỗi này bạn chỉ cần mở file đích và file nguồn thì tất cả đường dẫn bị lỗi của các công thức được sửa lại ngay. + Nâng cấp: Hàm DATA() sử dụng trong hàm BS_SQL() tương thích hoàn toàn với Windows 64-bit. + Nâng cấp: Hàm DATA() cho phép được lồng ghép với các hàm của Excel và các hàm người dùng tự tạo trong VBA. Xem ví dụ trên http://bluesofts.net (*) Ví dụ hàm DATA lồng trong hàm If của Excel: =bs_sql("SELECT MA_NV,NC,IF(DATA(row,1)>26,1000,IF(DATA(row,1)>24,800,0)) AS [Thưởng] FROM BANGCHAMCONG") ==> (Trước đây hàm DATA() chỉ đứng độc lập và tham gia các phép toán +,-, *, / nay đã được lồng vào các hàm khác của Excel và VBA) (*) Ví dụ hàm DATA lồng trong hàm tạo trong VBA (ví dụ có hàm TinhThuong): Trong VBA, tạo module, hàm thưởng được viết như sau: Function TinhThuong(NC) As Double If NC>26 Then TinhThuong = 1000 ElseIf NC>24 TinhThuong = 800 End If End Function Bây giờ sử dụng hàm BS_SQL như sau: =bs_sql("SELECT MA_NV,NC,TinhThuong(DATA(row,1)) AS [Thưởng] FROM BANGCHAMCONG") + Nâng cấp: Hàm BS_SQL cho phép chạy trong môi trường VBA để trả về bảng dữ liệu tĩnh - Không phải công thức mảng như khi nó được dùng trên bảng tính Excel. Ví dụ trong VBA. Vào menu "Tools"->References..." chọn tới Add-in A-Tools(addinatools.dll). Viết macro như dưới đây để lấy dữ liệu và dán dữ liệu vào bảng tính. Sub Call_BS_SQL() Dim f As New BSFunctions Dim v Set v = f.bs_Sql("Select * from kho", "Dbkey=mdb; serversource=yes") Range("A1").CopyFromRecordset v v.Close Set f = Nothing End Sub + Nâng cấp: Thêm bộ hàm thống kê theo màu sắc gồm: 1. BS_SumIfColor - SUMIF điều kiện theo màu =BS_SumIfColor(RangeColor, ConditionColor, RangeSum) 2. BS_CountIfColor - COUNTIF điều kiện theo màu =BS_CountIfColor(RangeColor, ConditionColor, RangeCount) 3. BS_SumProductIfColor - SUMPRODUCT điều kiện theo màu =BS_SumProductIfColor(RangeColor, ConditionColor,(Array1,Array2,...,Array_n)) 4. BS_SubtotalIfColor - SUBTOTAL điều kiện theo màu =BS_SubTotalIfColor(RangeColor, ConditionColor, RangeCalc, FunctionName) (*) Để học cách sử dụng, bạn cần mở file: "C:\A-Tools\HELP & DEMOS\Extension functions - Function with color" v6.6.1.6: 06-11-2016 v6.6.1.5: 03-11-2016 + Nâng cấp tính năng tạo báo cáo với hàm BS_SQL. + Nâng cấp tính năng chia sẻ qua mạng. v6.6.1.4: 26-10-2016 + Nâng cấp tính năng tạo báo cáo với hàm BS_SQL. v6.6.1.3: 06-10-2016 + Sửa: Tại Windows XP, máy khách bị lỗi không hiển thị cửa sổ "Quản trị máy khách". + Sửa: Khi chia sẻ tập tin Excel có VBA thì tên sheet bị đổi trong CodeName, lỗi này làm cho code chạy sự kiện trong worksheet không chạy. + Sửa: Tốc độ kết nối và mở DBKEY tới CSDL MySQL nhanh hơn. v6.6.1.2: 29-09-2016 + Nâng cấp tính năng tạo báo cáo với hàm BS_SQL. v6.6.1.1: 08-06-2016 + Nâng cấp tính năng chia sẻ qua mạng với tập tin có hàm BS_SQL. v6.6.1.0: 06-05-2016 + Nâng cấp tính năng chia sẻ qua mạng với tập tin có hàm BS_SQL. v6.6.0.9: 27-04-2016 + Nâng cấp tính năng chia sẻ qua mạng. v6.6.0.8: 01-04-2016 + Sửa: hàm BS_SQL hay chức năng làm báo cáo, trích lọc dữ liệu tương thích với Office 64-bit. + Nâng cấp: cho phép dùng VBA để ghi dữ liệu vào những sheet mà máy khách không được mở, với điều kiện tại máy chủ, vùng dữ liệu đó được chọn (Check) mục "VBA". + Nâng cấp: Thêm thủ tục sự kiện "OnAfterSendRange". Thủ tục này được chạy tại máy chủ sau khi kết nối vùng dữ liệu với máy khách. Cấu trúc như sau: Sub OnAfterSendRange(ByVal Sh As Worksheet) Debug.Print Sh.Name End Sub + Thêm: bộ cặt đặt thêm ActiveX Controls "BSAC" - Bluesofts ActiveX Controls để hỗ trợ lập trình giao diện ứng dụng. BSAC chạy trong môi trường A-Tools là miễn phí (32, 64-bit). v6.6.0.7: 22-02-2016 + Sửa: sửa lỗi tạo điều kiện với trường/cột thời gian, số trong chức năng tạo Query Table. v6.6.0.6: 28-01-2016 + Sửa: cho phép nhập giá trị bằng câu lệnh VBA vào sheet chưa được mở tại máy khách. + Nâng cấp: thêm trạng thái vùng dữ liệu "Cập nhật", nếu được chọn (ngầm định) thì vùng này được cập nhật lên máy chủ khi soạn thảo ở máy khách, nếu không chọn, vùng dữ liệu này không cập nhật lên máy chủ, thiết lập này dành cho các sheet đóng vai trò trung gian xử lý chứ không lưu dữ liệu lên máy chủ. + Nâng cấp: [VBA] thêm thủ tục BSNetwork.UpdateName - Cho phép Define Name (tạo tên) giữa máy khách và máy chủ. + Nâng cấp: cho phép mở sheet bởi liên kết Hyperlink trong ô của bảng tính (hyperlink trên đối tượng shape không chạy). + Nâng cấp: [VBA] thêm thủ tục BSNetwork.OpenSheet - Mở sheet trong máy khách từ máy chủ hoặc tại máy khách nếu nó đã được mở. + Nâng cấp: [VBA] thêm thuộc tính BSNetwork.CancelShow kiểu Boolean. Nếu CancelShow là True thì không nên hiển thị userform hoặc MsgBox ở máy chủ. Thuộc tính này sử dụng để xử lý trong lập trình giao tiếp người dùng với các hộp thoại. + Sửa: một số lỗi khác của hệ thống cũng được sửa trong phiên bản này. v6.6.0.5: 15-01-2016 + Sửa: Lỗi nhập giá trị số có dấu nháy đơn (') đứng trước để biến thành giá trị kiểu văn bản. + Sửa: Lỗi copy dữ liệu trong vùng có trạng thái Auto Filter hoặc dòng ẩn. + Sửa: Lỗi không UNDO được với máy khách nếu mở nhiều vùng trong cùng dữ liệu trong một sheet v6.6.0.4: 11-12-2015 + Sửa: sửa một vài tính năng phụ. v6.6.0.3: 11-12-2015 + Nâng cấp: Chạy trên Excel 2016 + Nâng cấp: Ứng dụng "Enable Add-Ins in Excel" trên Desktop cho phép khôi phục các add-in của Bluesofts với các phiên bản Excel. + Nâng cấp: Số dòng dữ liệu tối đa trong hàm BS_SQL là 65536 dòng. + Nâng cấp: Cho phép chạy báo cáo trên các tài khoản/user của Hệ điều hành Windows. Phiên bản 6.6.0.0 chỉ chạy với user Administrator. v6.6.0.2: 11-12-2015 v6.6.0.1: 11-11-2015 v6.6.0.0: 15-10-2015 + Nâng cấp: chức năng SQL Builder hoàn thiện việc copy, paste dữ liệu. Cho phép mở tập tin dữ liệu trực tiếp để làm công thức (trước đây phải tạo DBKEY). + Nâng cấp: khi mở tập tin có công thức BS_SQL không phải tính lại nên tốc độ mở rất nhanh. Đây là một trong nhưng ưu thế mà công thức làm bằng A-Tools nhanh hơn tất cả các phương pháp làm công thức kiểu Excel thông thường. + Nâng cấp: tài liệu hướng dẫn lập trình được thêm phần hướng dẫn đối tượng BSConnection. + Thêm: thêm đối tượng BSConnection cho phép lập trình truy xuất với các loại CSDL (Excel, Access, Foxpro, SQL Server,...) qua mạng LAN, Internet Các câu lệnh có thể thực hiện là: SELECT, INSERT, UPDATE, DELETE. Với nâng cấp này cho phép người lập trình VBA trong Excel có thể kết nối và thực hiện lệnh với các CSDL Excel, Access qua mạng LAN, Internet theo mô hình client-server mà trước đây không thể làm được. + Thêm: thuộc tính DBKEY trong hàm BS_SQL, ngoài khai báo mã DBKEY còn cho phép khái báo với đường dẫn tập tin CSDL. Ví dụ: =bs_sql("select * from kho", "DBKEY=MDB") - Cách dùng mã DBKEY =bs_sql("select * from kho", "DBKEY=C:\A-Tools\DATA_DEMO\Access Databases\Examble.mdb") - Cách dùng đường dẫn Xem ví dụ trong file: C:\A-Tools\HELP & DEMOS\Connect to external data files-DBKEY\reports.xls Với cách sử dụng này thì ta có thể mang tập tin báo cáo và dữ liệu di chuyển các máy mà vẫn chạy, không cần phải tạo mã DBKEY. + Thêm: một số màn hình chính của A-Tools bổ sung nút "Video Help" để hướng dẫn sử dụng chức năng đó bằng video. + Thêm: các ví dụ được bổ sung cho việc học làm công thức BS_SQL, lập trình CSDL. + Thêm: thêm chương trình chạy khôi phục các add-ins bị khóa (trong Excel các add-ins bị khóa nằm trong Add-in Manager, mục Disable Items). v6.5.1.3: 12-8-2015 + Sửa: Chạy tốt hơn trên các phiên bản Excel 64-bit (Excel 2010, 2013 64-bit) + Sửa: Khắc phục lỗi một số máy tính không hiển thị đủ menu. v6.5.1.2: 15-10-2014 + Sửa: Hai hàm GetOnce,Formula bị lỗi với số thập phân nếu thiết lập định dạng ký tự thập phân, ký tự ngăn cách nhóm số trong Control Panel không theo chuẩn Anh,Mỹ . Hai hàm GetOnce,Formula là trong nhóm hàm hỗ trợ hàm BS_SQL(). v6.5.1.1: 20-08-2014 + Nâng cấp: chức năng quản trị máy chủ và máy khách tốt hơn. v6.5.1.0: 30-05-2014 + Nâng cấp: Hàm BS_SQL trong phiên bản A-Tools Free khi đã đăng ký bản quyền không bị giới hạn 100 dòng. v6.5.0.9: 14-05-2014 + Nâng cấp: các đối tượng lập trình lên quan đến BSNetwork: + Nần cấp: Pause, Resume, + Thêm mới: StopRead LetCancel, Wait() + Thêm: ví dụ chia tập tin Excel được lập trình cùng A-Tools, cho phép từ máy khách gửi lệnh cho máy chủ chạy một ứng dụng nào đó trong máy chủ. Xem tập tin "RunCommandsInServer.xls" v6.5.0.8: 16-04-2014 + Sửa: một vài lỗi phát sinh liên quan đến các phiên bản từ 6.5.0.2-6.5.0.7 + Nâng cấp: tốc độ mở vùng dữ liệu tại máy khách nhanh hơn + Nâng cấp: máy khách kiểm tra liên kết ngoài chặt chẽ hơn. v6.5.0.7: 01-04-2014 + Sửa: lỗi mở vùng trong một workbook mà có sheet ẩn. + Sửa: lỗi mở vùng mà vùng đó không chọn "Tham chiếu" ở máy chủ. + Sửa: lỗi thông báo tại máy khách "Có liên kết ngoài" tại máy khách. + Sửa: lỗi tại máy khách nếu người dùng tạo công thức có liên kết tới sheet mà tên của nó là tên vùng được tạo trong quản trị vùng chia sẻ của máy chủ. + Sửa: lỗi gửi lệnh cập nhật định dạng, comment, validation, hyperlink tại máy khách ở các vùng chia sẻ dạng "Range", có giới hạn địa chỉ các vùng soạn thảo. + Sửa: nếu chạy cùng phần mềm kế toán A-Excel, với hàm BS_SQL không yêu cầu đăng ký bản quyền A-Tools. + Thêm: tài liệu bằng tiếng Anh/English hướng dẫn sử dụng Add-in A-Tools. v6.5.0.6: 20-02-2014 + Nâng cấp: hàm BS_SQL chạy tốt hơn với công thức có hàm DATA(), MIN, MAX. + Nâng cấp: - Bổ sung nội dung cho tài liệu: "A-Tools-Help.pdf". Hướng dẫn chia sẻ tập tin Excel qua mạng và các vấn đề thường gặp. Giải thích các vấn đề thường gặp, giải thích chi tiết hơn. - Thêm tài liệu "A-Tools_Query_Report_Help.pdf". Hướng dẫn trích lọc dữ liệu và làm báo cáo động trong Excel cùng hàm BS_SQL. v6.5.0.5: 25-01-2014 + Sửa: lỗi với hàm BS_SQL khi trong khai báo SQL có nhiều từ khóa FROM mà giữa chúng có từ nằm trên dòng, có từ xuống dòng (ENTER). v6.5.0.4: 11-01-2014 + Sửa một số lỗi nhỏ + Thêm: Khi đang chạy A-Excel hàm BS_SQL chạy đầy đủ tính năng dù máy tính của người dùng có thể chưa đăng ký bản quyền. v6.5.0.3: 01-08-2013 + Sửa: chức năng "Tạo công thức/Formula Builder" hiển thị theo ngôn ngữ lựa chọn của hệ thống + Sửa: trong hàm BS_SQL, lỗi hàm MAX, MIN trong biểu thức tính toán có hàm DATA() phần SELECT trong SQL + Sửa: trong hàm BS_SQL, lỗi một số máy không nhận sự kiện OnDblClick, DoSelectionChange + Sửa: nâng cấp, cho phép hàm CELL() sử dụng trong tham số "Options" của hàm BS_SQL + Sửa: trong chức năng "Quản trị máy chủ", nếu lựa chọn "Lưu mẫu" ở cửa sổ phân quyền, sau đó mở thêm tập tin Excel để chia sẻ, cửa sổ chọn mẫu quyền bị ẩn sau cửa sổ chính làm cho người dùng nhầm là treo máy. + Sửa lại ví dụ trong tập tin BSFormatArray.xls + Sửa: nâng cấp "Sổ kế toán SQL", hoàn thiện các báo cáo tổng hợp, cho phép báo cáo theo khoảng thời gian bất kỳ. Cung cấp sự kiện nhấp đúp chuột trên sổ tổng hợp từ một mã đối tượng sẽ mở ra sổ chi tiết của đối tượng đó. + Thêm: hai thủ tục sự kiện OnDblClick, OnSelectionChange trong class "BSFormulaArray". Hai thủ tục sự kiện này chỉ chạy nơi công thức có hàm BS_SQL(). v6.5.0.2: 01-04-2013 + Sửa: nâng cấp hàm SQL(có từ phiên bản 6.5.0.1) cập nhật dữ liệu nguồn trong các DBKEY (dữ liệu từ tập tin khác) + Sửa: nâng cấp hàm BS_SQL chạy tốt hơn + Sửa: lỗi không hiện các nút bấm trong hộp thoại MsgBox ở một số máy chạy Windows7 & Office 64-bit. + Sửa: lỗi đối tượng COM "BSFormulaArray" trong lập trình VBA. v6.5.0.1: 23-03-2013 + Thêm: trùy chọn đặt thứ tự mở tập tin Excel trong máy chủ tại màn hình "Cơ sỡ dữ liệu". Việc mở thứ tự CSDL trong máy chủ có ý nghĩa khi sử dùng hàm BS_SQL để lấy dữ liệu từ một bảng mà bảng đó cũng sử dụng hàm BS_SQL. + Thêm: sự kiện OnCanChange + Thêm: sự kiện OnOpenRange + Thêm: sự kiện OnCloseRange + Thêm: tập tin ví dụ chia sẻ "MultiUsers.xls" chứa mã VBA ứng dụng các sự kiện thêm mới của phiên bản 6.5.0.0 + Sửa: nâng cấp chức năng mở vùng dữ liệu máy khách tốt hơn. + Sửa: nâng cấp sự kiện OnSheetChange + Sửa và nâng cấp một số tính năng và giao diện A-Tools. + Sửa nâng máy chủ cho phép cập nhật công thức có hàm BS_SQL() nếu nhấn lệnh cập nhật trên menu hoặc phím tắt. Không cho phép cập nhật khi gõ công thức. + Sửa nâng thêm hàm SQL(tablesource, TRUE/FALSE) trong khai báo sau từ khóa FROM để cho phép cập nhật nguồn dữ liệu Ví dụ: KHO2 là nguồn lấy từ KHO trong CSDL bởi hàm =BS_SQL("select * from KHO"; "NAME=KHO2") Công thức để lấy dữ liệu từ KHO2 (KHO2 vừa đặt tên ở công thức trên). =BS_SQL("select * from KHO2"). Nếu KHO2 chưa cập nhật xong dữ liệu thì báo lỗi #N/A dẫn đến các công thức lấy dữ liệu từ KHO2 cũng bị #N/A Để đảm bảo nguồn dữ liệu được cập nhật trước khi lấy kết quả thực hiện công thức như sau: =BS_SQL("select * from SQL(KHO2)") - Đây là cách cập nhật lại dữ liệu nếu có lỗi (#/N/A) =BS_SQL("select * from SQL(KHO2, TRUE)") - Đây là cách luôn cập nhật dữ liệu nguồn (KHO2) trước khi trả kết quả bởi hàm BS_SQL (dù KHO2 đã hoặc chưa cập nhập). (*) Người dùng nên dùng công thức SQL(KHO2) thay vì dùng SQL(KHO2,TRUE) để đảm bảo tốc độ chạy nhanh hơn! (*)Mở tập tin "Bai 2 - Cac ham ho tro nhom ham Database Functions" và đọc kỹ 2 sheet "SQL_auto_update" và "SQL_update" để nắm được cách sử dụng. + Sửa hàm BS_SQL(), khi khai báo SERVERSOURCE=YES, nếu máy gọi công thức và chức năng máy chủ đang chạy thì lấy dữ liệu tại máy chủ đó, nếu máy chủ không chạy sẽ lấy dữ liệu của máy chủ kết nối đến. + Sửa, nâng cấp báo lỗi trong công thức BS_SQL một cách chi tiết, chỉ rõ địa chỉ trong bảng tính bị lỗi (#N/A). + Sửa lỗi hàm CELL khi đối số là địa chỉ ô bị lệch sheet khác nếu trong công thức có dùng nhiều hàm CELL. + Sửa lỗi không hiện cây thư mục dữ liệu tại máy chủ nếu tập tin Excel chỉ có 1 sheet. + Sửa lỗi không hiện nút "Thêm/Add" trong màn hình Quản trị cơ sở dữ liệu của máy chủ nếu hệ điều hành là Windows 7, 64-bit. v6.5.0.0: 27-02-2013 (Phiên bản mới yêu cầu người dùng phải đăng ký bản quyền lại. Các khách hàng đã mua A-Tools trong khoảng 01/8/2012 -> 26/02/2013 thì được nâng cấp miễn phí, trường hợp còn lại phải đóng phí nâng cấp là 40% giá trị mua ban đầu.) + Thêm: cho phép chạy trên Windows 8, Windows Server 2012 và Microsoft Excel 2013 với hai nền tảng 32, 64-bit. + Thêm: phân quyền sao chép (copy) chi tiết cho từng vùng dữ liệu (phiên bản cũ quyền áp dụng cho tất cả tập tin Excel) + Thêm: phân quyền in ấn (print) chi tiết cho từng vùng dữ liệu (phiên bản cũ quyền áp dụng cho tất cả tập tin Excel) + Thêm: máy chủ cho phép tạo danh sách "Black List" - Danh sách KHÔNG cho kết nối. Những máy tính có địa chỉ IP hoặc mã máy có trong danh sách Black List sẽ không được phép kêt nối tới máy chủ. + Thêm: máy chủ cho phép tạo danh sách "Connection List" - Danh sách CHO PHÉP kết nối. Những máy tính có địa chỉ IP hoặc mã máy có trong danh sách Connection List sẽ được phép kêt nối tới máy chủ. Nếu danh sách là trống rỗng thì tất cả các máy tính đều được phép kết nối tới máy chủ nếu nó không có trong Black List. Như vậy A-Tools khi chia sẻ dữ liệu Excel qua mạng cho phép phân quyền chi tiết cho từng người/user và theo phần cứng máy tính nên rất an toàn. + Thêm: tự động nâng cấp CSDL trong tập tin "A-Tools.mdb" của phiên bản cũ. Nhờ tính năng này người dùng không phải thiết lập lại dữ liệu máy chủ mỗi khi nâng cấp phiên bản mới. + Thêm: thủ tục sự kiện "OnSheetChange" thuộc đối tượng BSNetwork. Thủ tục này được chạy khi dữ liệu được cập nhật bởi các máy tính từ xa, kết hợp lập trình chạy cùng máy chủ hoặc máy khách để kiểm soát hay tùy biến dữ liệu cập nhật. + Sửa: nâng cấp và sửa các lỗi của phiên bản cũ: - nâng cấp chức năng kiểm tra mã bản quyền, nếu một account của Windows đăng ký bản quyền thì tất cả các account khác trong Windows đều được chấp nhận đã đăng ký. Phiên bản cũ chỉ chấp nhận một account đăng ký. - nâng cấp chức năng thêm tập tin vào máy chủ, xuất hiện bảng thông báo để người dùng quyết định có cho phép các user khác được mở các sheet hay không. Phiên bản cũ phần mềm tự thêm cho tất cả user. - khi chạy chức năng sao lưu màn hình bị ẩn và khóa - khi chạy lưu mẫu màn hình bị ẩn khóa - chia sẻ tập tin Excel có bảng pivot tốt hơn - khắc phục lỗi "Could not convert variant of type (Error) into type (OleStr)". - khắc phục một vài máy khách menu "Cập nhật" bị mất tác dụng/Disabled. - khắc phục một vài máy khách chạy Windows XP mở dữ liệu máy chủ bị chậm,... - nếu máy tính cài A-Tools Free sau khi đăng ký tập tin bản quyền thành công sẽ tự đổi thành A-Tools Pro. - nâng cấp giao diện các màn hình chức năng gọn và đẹp hơn. - ... v6.0.0.7: 14-08-2012 + Sửa: một vài tình huống lỗi máy chủ khi chia sẻ tệp Excel chứa hàm BS_SQL. + Sửa: một vài tình huống lỗi máy khách và máy chủ. v6.0.0.6: 11-08-2012 + Sửa: lỗi máy khách bị treo khi bấm nút "Hủy bỏ" khi máy khách đang mở vùng dữ liệu trong máy chủ. v6.0.0.5: 08-08-2012 + Sửa: lỗi xóa dữ liệu. Từ máy khách mở sheet trong máy chủ đã đặt protect sheet nhưng có vùng soạn thảo được, khi xóa vùng dữ liệu được soạn thảo bị báo lỗi "Vùng dữ liệu bị khóa...". + Thêm: nâng cấp, khi máy khách mở vùng dữ liệu từ máy chủ thì không lưu ra file khác được. Phiên bản cũ cho phép lưu nếu máy chủ phân quyền cho phép lưu file từ xa. + Thêm: nâng cấp các hàm BS_DLOOKUP, BS_DSUM, BS_DCOUNT, BS_DMAX, BS_DMIN, BS_DAVG, BS_DSTDEV, BS_DVAR, BS_DFUNC tham số OPTIONS cho phép khai báo SERVERSOURCE = YES để lấy dữ liệu từ máy chủ. + Thêm: nâng cấp hàm BS_DLOOKUP cho phép trả về MẢNG giá trị có thể có một hay nhiều cột thỏa mãn nhiều điều kiện, phiên bản cũ chỉ trả về 1 giá trị ở một cột. v6.0.0.4: 24-04-2012 + Sửa: cho phép mở rộng và thu hẹp các nút điều khiển ở máy khách. + Sửa: hoàn thiện tương thích máy chủ và máy khách dù có định dạng số trong Control Panel hoặc trong Excel khác nhau. + Sửa: hoàn thiện tính nâng ẩn dòng cột của trên sheet khi chia sẻ. + Sửa: hiện thông báo lưu tệp Excel tại máy khách khi đóng. + Sửa: trạng thái lưu quyền khi chọn nhóm. + Sửa: nâng cấp, cho phép nhấn phím tắt cập nhật dữ liệu và định dạng với tổ hợp phím CTRL+SHIFT+M (Thực hiện khi tắt trạng thái "Tự cập nhật") + Sửa: nâng cấp, cho phép nhấn phím tắt XÓA các ô, dòng, cột với tổ hợp phím CTRL+- + Sửa: nâng cấp, cho phép nhấn phím tắt CHÈN các ô, dòng, cột với tổ hợp phím CTRL+SHIFT+= + Sửa: nâng cấp, cho phép chèn, xóa các ô dòng, cột với menu phải của Excel (nhấp phải chuột chọn lệnh trong menu). CHÚ Ý: (*) VỚI EXCEL 2007 TRỞ ĐI KHÔNG ĐƯỢC DÙNG LỆNH INSERT, DELETE TRONG MENU "HOME". (*) KHÔNG ĐƯỢC DÙNG VBA/MACRO ĐỂ THỰC HIỆN LỆNH INSERT, DELETE các ô, dòng, cột. v6.0.0.3: 20-04-2012 v6.0.0.2: 24-03-2012 + Thêm: máy khách tùy chọn có định dạng mầu viền của vùng soạn thảo không. Phiên bản cũ luôn định dạng. + Thêm: bổ sung các Property, Method cho các đối tượng lập trình thuộc class "BSNetwork". + Thêm: bổ sung ví dụ "Open Range" trong file "BSNetworkInfo.xls" + Sửa: tương thích máy chủ và máy khách dù có định dạng số trong Control Panel khác nhau. Phiên bản cũ, nếu máy chủ và máy khách có định dạng hiển thị số khác nhau trong Control Panel làm cho tốc độ mở vùng dữ liệu từ máy chủ bị chậm và không soạn thảo được. + Sửa: khắc phục lỗi không hiện menu A-Tools trong Excel 2007, 2010 khi Excel đó đã cài một vài add-ins khác. + Sửa: hàm CELL, RANGE trong khai báo SELECT nhận dạng giá trị ngày đúng với CSDL MS SQL Server, MySQL. + Sửa: nânh cấp khả năng kiểm soát các luồng dữ liệu vào máy chủ tốt hơn. + Sửa: sửa một vài lỗi nhỏ khác. v6.0.0.1: 08-03-2012 + Thêm: hàm BS_SQL tự động truy vấn dữ liệu từ máy chủ nếu nó nằm trong tệp Excel khi được chia sẻ từ máy chủ. Ví dụ tại máy chủ tạo DBKEY có tên MDB liên kết tới tệp Access "Examble.mdb", trong tệp này có table "KHO". Từ máy khách lấy toàn bộ dữ liệu từ sổ KHO (select * from KHO) Với hàm BS_SQL, nếu muốn nhận dữ liệu từ máy chủ có các cách như sau: -TH1: Công thức trên tệp Excel bất kỳ không phải được chia sẻ từ máy chủ =BS_SQL("select * from KHO","DBKEY=MDB;SERVERSOURCE=YES") Ở TH1 nếu trong công thức không có khai báo "SERVERSOURCE=YES" thì A-Tools sẽ lấy dữ liệu của DBKEY "MDB" tại máy đang chạy. -TH2: Công thức trên tệp Excel được chia sẻ từ máy chủ =BS_SQL("select * from KHO","DBKEY=MDB") Ở TH2, A-Tools tự hiểu những tệp chia sẻ từ máy chủ thì dữ liệu truy vấn cũng phải nằm trong máy chủ. Từ phiên bản v6.0.0.1 Add-in A-Tools cung cấp giải pháp chia sẻ tệp Excel qua mạng mà nó có các liên kết với các tệp bên ngoài, không chỉ là Excel mà với cả các loại CSDL khác như MS SQL Server, My SQL, Firebird, Access, Foxpro,... v6.0.0.0: 01-01-2012 + Thêm: cho phép chèn dòng, cột hoặc một khối các ô chọn + Thêm: cho phép xóa dòng, cột hoặc một khối các ô chọn + Thêm: cho phép chia sẻ vùng rời rạc. Phiên bản cũ vùng chỉ trong hình chữ nhật (tập hợp các ô liên tiếp) + Thêm: cho phép ẩn các cột hay các dòng trong vùng hoặc sheet chia sẻ + Thêm: đối tượng lập trình (COM * các hàm API)) trong addinatools.dll là BSFormulaArray, BSNetwork. Cho phép lập trình để tạo ra các hàm trả về mảng giá trị, sử dụng câu lệnh SQL để truy vấn dữ liệu nội tại file Excel hoặc các CSDL bên ngoài như MS SQL Server, My SQL, Firebird, Access, Foxpro,... Can thiệp vào các thành phần của dữ liệu, truy xuất dữ liệu qua mạng. + Thêm: thêm file ví dụ BSFormulaArray.xls với các ví dụ về hàm mảng + Thêm: thêm file ví dụ BSNetworkInfo.xls, BSNetwork.xls với các ví dụ về truy xuất dữ liệu qua mạng + Thêm: bổ sung nội dung các file hướng dẫn "User's guide.pdf" và "A-Tools Programming.pdf" + Sửa: hoàn thiện phiên bản chạy trên Windows 64-bit và Office 64-bit v5.5.0.0: 26-12-2011 (update 3) + Thêm: có thêm phiên bản chạy trên Windows 64-bit và Office 64-bit + Thêm: ví dụ về lập trình cùng A-Tools, các file: "BSFormulaArray.xls": ví dụ về viết hàm mảng trong A-Tools " BSNetworkInfo.xls": ví dụ về nhận và ghi dữ liệu Excel giữa máy khách và máy chủ. + Sửa: bộ cài đặt tự nhận diện Microsoft Excel 32-bit hoặc 64-bit + Sửa: tương thích hoàn toàn với Excel 2000 + Sửa: tương thích với Add-in PowerPivot + Sửa: tốc độ mở vùng dữ liệu của máy khách nhanh hơn + Sửa: phía máy khách hiện các vùng dữ liệu chọn khi bấm váo tên folder hoặc tên file bên cửa sổ bên trái. Phiên bản cũ, nếu bấm vào mục "Cơ sở dữ liệu" - "Databases" thì hiện ra tất cả các vùng của các file. (*) Từ phiên bản 5.5.0.0 có hai bộ cài đặt A-Tools: "A-Tools_Pro.exe" - Bộ cài đặt 32-bit cho Windows 32-bit hoặc 64-bit và Office 32-bit "A-Tools_Pro_x64.exe" - Bộ cài đặt 64-bit cho Windows 64-bit và Office 64-bit v5.4.0.1: 25-07-2011 + Sửa lỗi khi dùng tham số Format trong hàm RANGE của A-Tools trong khai báo SQL. + Sửa cập nhật qua mạng: Định dạng/Format, Comment, Sharp, Validation, Hyperlink tốt hơn phiên bản 5.4.0.0 v5.4.0.0: 22-06-2011 + Thêm: máy khách có thể kết nối tới nhiều máy chủ với cùng một tên User + Thêm: cập nhật Comment lên máy chủ, phím tắt CTRL+SHIFT+C + Thêm: cập nhật Validation lên máy chủ, phím tắt CTRL+SHIFT+V + Thêm: cập nhật Shape & Text Box lên máy chủ, phím tắt CTRL+SHIFT+B + Thêm: cập nhật Hyperlink lên máy chủ, phím tắt CTRL+SHIFT+N + Thêm: tùy chọn tự động tính lại công thức trên máy chủ. Nếu tắt chức năng này máy chủ sẽ được giảm tải công việc tính toán->Tối ưu máy chủ. + Thêm: Hàm BS_SQL tương thích với CSDL MySQL, Oracle. + Sửa lỗi sao lưu database. Phiên bản cũ sao lưu tất cả các file chứ không chỉ là các file chọn. + Trong danh sách màn hình của sổ phân quyền, sao lưu (có checkbox ở các items), nhấn vào tiêu đề cột sẽ chọn hoặc không chọn hết các mục. Xem thêm thông tin chi tiết trên website www.bluesofts.net v5.3.0.6: 10-05-2011 BETA... v5.3.0.5: 21-04-2011 + Nâng cấp tính năng nhận dữ liệu của máy khách, đảm bảo tốc độ nhanh hơn. + Thêm tệp KiemPhieu.xls trong máy chủ - Ví dụ về kiểm phiếu bầu cử bằng Excel qua mạng. v5.3.0.4: 06-04-2011 + Nâng cấp, khi mở một file Excel chứa hàm BS_SQL nhưng không chạy vì sai đường dẫn file add-in "A-Tools.xla" thì A-Tools tự chỉnh lại theo đúng đường dẫn tại máy đang chạy A-Tools để đảm bảo file hoạt động bình thường. Lỗi cũ xảy ra khi mở file Excel có hàm BS_SQL từ ổ đĩa C:, sau khi lưu và chuyển sang ổ đĩa khác thì Excel tự đổi đường dẫn file "A-Tools.xla" vì vậy hàm BS_SQL không chạy được và báo lỗi #NAME. Bắt đầu từ phiên bản A-Tools v5.3.0.4 đã sửa lỗi này. + Nâng cấp file ví dụ "Sổ kế toán SQL", thêm 2 sổ: Sổ tổng hợp nhập-xuất-tồn và Thẻ kho. v5.3.0.3: 04-04-2011 + Nâng cấp một số tính năng máy chủ và máy khách. v5.3.0.3: 26-03-2011 + Nâng cấp một số tính năng máy chủ và máy khách. v5.3.0.2: 20-03-2011 + Thêm file "Sổ kế toán SQL" - Sổ kế toán trên Excel. + Tăng tốc độ khởi động máy chủ, khi khởi động chạy luôn chức năng "Quản trị máy chủ". + Nâng cấp chức năng quản trị máy chủ. + Thêm tính năng không nhận tin nhắn từ các user khác. Tính năng này được thiết lập trong màn hình "Danh sách người kết nối". + Sửa xung đột với file Excel có VBA (macros) tạo, sửa, xóa menu Excel. v5.3.0.1: 22-02-2011 + Thêm tùy chọn ẩn/hiện màn hình máy chủ Excel khi chạy máy chủ. + Thêm tùy có tự động thêm vùng là sheet thi thêm workbook không. + Thêm biểu tượng ở SystemTray khi chạy máy chủ, nhấp chuột phải hiện menu điều khiển máy chủ. + Nâng cấp một số chức năng máy của chủ. v5.3.0.0: 10-02-2010 + Thêm chức năng xem CSDL và các quyền theo 3 chế độ: - Tất cả: xem CSDL và các vùng có trạng thái "Hoạt động" và "K. hoạt động". - Hoạt động: xem CSDL và các vùng có trạng thái "Hoạt động". - K. hoạt động: xem CSDL và các vùng có trạng thái "K. hoạt động". + Thêm chức năng "Tạm dừng"<->"Tiếp tục" chạy máy chủ. Trong một số tính huống như cần bảo trì máy chủ, thiết lập máy chủ thì cần cho máy chủ tạm ngừng. Để thực hiện việc này, trong màn hình “Quản trị máy chủ”, người dùng nhấn nút “Tạm dừng”. Ngay sau khi nút “Tạm dừng” được chọn, tên của nó (label) được đổi thành “Tiếp tục”. Khi nút “Tạm dừng” được chọn, máy chủ sẽ không cho bất kỳ yêu cầu kết nối nào từ phía máy khách: Đăng nhập; Mở vùng dữ liệu. Máy khách vẫn có thể thực hiện công việc soạn thảo bình thường nhưng chưa cập nhật ngay, máy chủ lưu tạm thời trong bộ nhớ, chỉ sau khi người dùng chọn “Tiếp tục” trên màn hình “Quản trị máy chủ” trên máy chủ thì dữ liệu được cập lật vào ngay lập tức vào CSDL. + Thêm chức năng cho phép ngắt kết nối CSDL khi nó đang được kết nối bởi những người dùng khác trong mạng. Thực hiện việc này, mở chức năng "Quản trị máy chủ", chọn "Thiết lập CSDL", chọn tệp có màu xanh (đang có người kết nối), chọn nút "Ngắt kết nối". Chức năng này cần thực hiện khi người dùng cần thay đổi thiết lập cho CSDL này trong máy chủ và không muốn các máy khách truy xuất vào khi nó đang thiết lập. Chức năng này thường được thực hiện cùng với chức năng “Tạm dừng”. + Thêm chức năng cho phép sao lưu dữ liệu. Thực hiện việc này, mở chức năng "Quản trị máy chủ", chọn "Thiết lập CSDL", chọn nút "Sao lưu". Việc sao lưu cho phep sao lưu CSDL với các vùng chia sẻ và các quyền của các vùng. + Thêm tùy chọn "Chỉ mở CSDL nếu máy khách yêu cầu kết nối". + Thêm chức năng lọc vùng dữ liệu trong màn hình "Thiết lập quyền sử dụng". Việc lọc giúp cho A-Tools đọc và ghi quyền các vùng nhanh, công việc thiết lập các quyền trở nên dễ dàng hơn. + Thêm chức năng trong "Quản trị máy khách". Lưu đường dẫn thư mục (folder) và tệp chọn phía khung chọn bên trái (Treeview), lần mở sau tự động mở lại thư mục hoặc tệp ở Treeview. Tính năng này giúp cho người dùng máy khách thao tác nhanh với với những tệp, những vùng dữ liệu mà làm thường xuyên. Tốc độ mở “Quản trị máy khách” nhanh hơn. + Thêm: khi mở màn hình "Quản trị máy chủ"->"Quản trị CSDL", nếu CSDL nào đang được kết nối với máy khách sẽ có màu xanh. + Sửa, cho phép hiện số các mục (item) ở cột đầu tiên trong các bảng dữ liệu của cả máy chủ và máy khách. + Sửa nội dung tài liệu hướng dẫn - User's guide + Sửa một vài định dạng hiển thị màu trong Listview. + Sửa một vài lỗi của phiên bản cũ. (*) Để hiểu cách dùng các chức năng mới, người dùng nên đọc tài liệu để hiểu rõ hơn. http://www.bluesofts.net/Products/AddIns/A-Tools/Help/WhatsNew_v5.3.0.0.pdf Xem thêm thông tin chi tiết trên website www.bluesofts.net v5.2.0.0: 01-12-2010 + Thêm chức năng quản trị báo cáo Excel "Checking and Approval" - Chấp thuận và Phê chuẩn. + Thêm chức năng lưu mẫu các quyền và copy cho tệp mới. + Thêm loại vùng dữ liệu gồm 3 loại: vùng bảng tính (Range); Sheet; Workbook. + Thêm tính năng cho phép thêm một lúc nhiều tệp dữ liệu vào máy chủ (multi select). + Thêm tự động tạo vùng kết nối gồm các sheet và workbook khi mở (tạo thêm kết nối) tệp Excel vào máy chủ. + Thêm quản lý tham chiếu cho vùng. Mặc dù mở một vùng dữ liệu trong máy khách nhưng vẫn nhìn thấy các thay đổi khác trong cả tệp nếu trong vùng có công thức tham chiếu đến. + Thêm tùy chọn xem vùng cho máy chủ và máy khách: Đang hoạt động/Không hoạt động/Tất cả. + Thêm tùy chọn xem trạng thái các vùng bên máy khách: Xem trạng thái dữ liệu và xem quyền người dùng trong vùng dữ liệu. + Thêm các quyền kiểm soát người dùng: + Copy + In ấn + Kiểm tra + Chấp thuận + Hủy chấp thuận + Cho phép mở các vùng không hoạt động + Thêm tùy chọn "Lọc theo tệp (workbook)" cho cả máy chủ và máy khách. + Thêm thông tin cho màn hình "Quản trị máy khách", người dùng có thể xem được những quyền của mình với máy chủ cũng như quyền tác động vào các vùng dữ liệu. + Máy chủ và máy khách có thể lọc dữ liệu theo các tệp đang hoạt động, không hoạt động hoặc tất cả. + Thêm module quản trị báo cáo Excel qua mạng. Quản lý theo cơ chế kiểm duyệt của các cấp quản lý của nhóm user. + Thêm, tổ chức vùng dữ liệu theo các cấp thư mục. Máy chủ và máy khách có thể lọc các vùng dữ liệu theo thư mục, tệp CSDL. Người dùng có thể tùy chọn các cấp thư mục để xem. Ngầm định là 1. + Thêm tùy chọn cho phép lưu toàn bộ các tệp dữ liệu ngay khi tắt máy chủ. + Thêm tùy chọn cho phép lưu toàn bộ các tệp dữ liệu sau bao nhiêu phút. + Thêm kiểm soát trạng thái mạng khi bị ngắt. Khi bị ngắt mạng, máy chủ ngắt kết nối hoàn toàn với các máy khách đang kết nối tới. + Thêm thuộc tính ẩn hiện workbook đang mở trong server. + Thêm in nhãn trên các báo cáo với các trạng thái phê duyệt hay chưa. + Thêm tùy chọn cho việc sửa thông tin và khung của nhãn + Thêm, cho phép chia sẻ "Visual Basic for Application" - VBA. + Thêm, cho phép máy khách sửa được mật khẩu truy cập của mình. + Sửa việc mở tệp dữ liệu, chia sẻ các vùng dữ liệu trong máy chủ chuẩn xác hơn. + Sửa đảm bảo việc kết nối tới máy chủ và mở vùng dữ liệu từ máy khách chuẩn xác hơn. + Sửa quản lý các luồng dữ liệu từ các máy khách tới máy chủ tốt hơn. + Sửa tốc độ mở một vùng dữ liệu từ máy khách nhanh hơn. + Sửa máy chủ chạy ổn định hơn. + Sửa tính tương thích với các Hệ điều hành: Windows XP/Vista/7/Server 2003/Server 2008 cho hai nền tảng 32 và 64 bit. + Sửa lại cơ chế đăng ký bản quyền. Việc đăng ký thông qua nhận tệp bản quyền thay vì người dùng phải gõ từ bàn phím mã sử dụng. + Sửa tài liệu hướng dẫn chi tiết hơn. + Sửa logic cho phép in. Vùng dữ liệu chỉ cần được "Kiểm tra" là được in. Phiên bản cũ là phải "Kiểm tra" và "Phê chuẩn" mới được phép in. + Sửa vài lỗi nhỏ khác. (*) Từ phiên bản 5.2.0.0 trở đi, mã máy và mã sử dụng đã thay đổi, các khách hàng khi cập nhật phiên bản mới cần thông báo lại cho BLUESOFTS để cấp tệp bản quyền để đăng ký lại. Công ty cổ phâng BLUESOFTS xin chân thành cảm ơn chị Nguyễn Thu Hồng phòng Management Information System - Công ty Xi măng Chinfon đã đóng góp ý tưởng và test phiên bản 5.2.0.0. Để biết thêm thông tin, các bạn vào website: www.bluesofts.net v5.1.0.3: 02-Aug-2010 + Sửa chế độ chuyển đổi ngôn ngữ trong các hộp thoại mở và lưu tệp. + Tăng số ký tự chuỗi tham số SQL trong hàm BS_SQL() từ 125->255 ký tự. + Nâng cấp hàm đánh số thứ tự RECNO() - Cấu trúc cũ RECNO() - Cấu trúc mới RECNO([FirstValue][,StepValue]) FirstValue: là một số được gán dòng đầu tiên, tham số này giá trị ngầm định là 1 StepValue: là một số tạo bước nhảy, tham số này giá trị ngầm định là 1. Ví dụ: RECNO(1, 2) giá trị trong cột sẽ là 1, 3, 5,... RECNO(1, 1) giá trị trong cột sẽ là 1, 2, 3,... Tương đương với việc dùng RECNO() RECNO(100, 1) giá trị trong cột sẽ là 100, 101, 102,... Mở tệp "Bai 2 - Cac ham ho tro nhom ham Database Functions.xls" để xem các ví dụ. v5.1.0.2: 28-Jul-2010 + Sửa chức năng chuyển mã văn bản trong Excel 2007 hoặc cao hơn. + Sửa chế độ chuyển đổi ngôn ngữ trong mẫu đăng ký sử dụng. v5.1.0.1: 20-Jul-2010 + Cho phép nhiều người dùng (all users) chạy A-Tools trong cùng một máy. Phiên bản cũ chỉ chạy với user cài đặt có quyền admin. + Sửa ít lỗi nhỏ Xin hãy xem thông tin chi tiết tại: www.bluesofts.net v5.1.0.0: 01-Jul-2010 + Sửa lỗi tạo menu A-Tools. Phiên bản cũ bị lỗi nếu máy tính thiết lập định dạng "Vietnamese (VietNam)" trong Control Panel. + Hoàn thiện đối tượng COM "BSNetwork": - Thêm hàm "StartServer()" - Khởi tạo máy chủ (server). - Thêm hàm "Connect()" - Kết nối với máy chủ. - Thêm hàm "GetRecordSet() - Nhận dữ liệu trong CSDL từ máy chủ bởi lệnh truy vấn T-SQL. - Thêm thông tin cho đối tượng "BSUser" ... + Thêm thuộc tính cho hàm BS_SQL() "SERVERSOURCE". Với thuộc tính này, hàm BS_SQL có thể nhận dữ liệu từ máy chủ. Ví dụ: Từ máy khách, nhận dữ liệu trong sổ "KHO" đang mở tại máy chủ. =BS_SQL("SELECT * FROM KHO" , "SERVERSOURCE=YES") Nếu máy chủ quản lý sổ KHO trong CSDL Access và được kết nối bởi mã DBKEY "MDB" =BS_SQL("SELECT * FROM KHO" , "DBKEY=MDB; SERVERSOURCE=YES") + Phiên bản A-Tools Free cho phép chạy thuộc tính INSERT trong đối số Options của hàm BS_SQL(). + Thêm ví dụ Chat trong Excel trong mạng LAN. + Sửa một vài lỗi nhỏ khác... v5.0.0.0: 06-Jun-2010 + Chức năng soạn thảo và quản trị dữ liệu Excel qua mạng. Được thiết kế từ nhu cầu "Tôi có một file Excel gồm có nhiều sheet được đặt trong máy tính của tôi, tôi muốn một số người chỉ xem và soạn thảo vào một hay vài vùng dữ liệu trong tệp Excel mà tôi cho phép. Việc kết nối là qua mạng". Chức năng mới này cho phép người dùng Excel có thể chia sẻ dữ liệu Excel của mình qua mạng một cách an toàn. A-Tools cho phép nhiều người cùng kết nối vào một hay nhiều vùng dữ liệu được chia sẻ trên máy chủ. Việc kết nối theo giao thức TCP/IP (KHÔNG share full folder như Excel đang làm). Tốc độ cập nhật dữ liệu qua mạng rất nhanh (tính bằng milli giây). Các chức năng chính làm việc qua mạng: + Excel Server: là nhóm chức năng làm việc với máy chủ (Server). - Chia sẻ các vùng dữ liệu trong tệp dữ liệu Excel, cho phép những người dùng kết nối từ xa. - Xây dựng danh sách nhóm, người kết nối. - Phân quyền cho các nhóm kết nối: được phép kết nối tới những vùng dữ liệu; xem; soạn thảo; chat; quản trị máy chủ. - Cho phép người dùng từ xa soạn thảo trong những vùng được cấp phát bởi máy chủ. - Quản trị các kết nối từ người dùng. - Chat. + Excel Client: là nhóm chức năng làm việc của máy khách. - Cho phép người dùng kết nối và soạn thảo vào vùng dữ liệu được cấp phát bởi máy chủ. - Chat. A-Tools cho phép những người phát triển ứng dụng lập trình với đối tượng BSNetwork. Với đối tượng này, người phát triển có thể viết ứng dụng Excel chạy qua mạng rất đơn giản. Xin hãy đọc file ví dụ: BSNetwork.xls (đường dẫn: C:\A-Tools\HELP & DEMOS\A-Tools VBA Programming\). Từ phiên bản A-Tools 5.0.0.0 được chạy theo nhiều ngôn ngữ. Người dùng từ các quốc gia có thể tự dịch lại theo ngôn ngữ của nước mình. Để tạo ngôn ngữ khác cho A-Tools, hãy làm các bược sau: + Vào đường dẫ C:\A-Tools\Languages\ copy tệp "English.lan" sang tệp mới và đặt tên "MyCountry.lan". + Mở tệp "MyCountry.lan" bằng NotePad hay ứng dụng soạn thảo khác. Hãy dịch theo các từ khóa. + Sau khi dịch xong. Mở Excel, vào menu A-Tools->Tùy chọn vào mục "Khác" chọn tới file "MyCountry.lan" nhấn nút "Chấp nhận". v4.1.2.0: (02-Feb-2010) + Sửa lỗi font chữ bị nhòe trên màn hình "đăng ký" và trong một số màn hình thông báo của chương trình. Phiên bản cũ lỗi xảy ra với Windows Vista, 7. + Sửa lỗi không tự nhận chuỗi lệnh SQL trong màn hình chức năng "A-Tools SQL Builder". Phiên bản cũ lỗi xảy ra với Windows Vista, 7. + Sửa lỗi chạy file ví dụ "Report 3 So ke toan A-Tools VBA.xls". Phiên bản cũ lỗi chỉ xảy ra với Excel2007, Windows Vista, 7, khi dùng hàm A-Tools API "GetFieldNames". v4.1.1.1: (04-Oct-2009 ) + Sửa lỗi không tương thích với một số Windows. Phiên bản cũ (v4.1.1.0 - 24-Aug-2009) không chạy trên một số Windows có thay đổi một vài thiết lập về thời gian hệ thống. v4.1.1.0: (24-Aug-2009) + Cho phép chạy trên Windows Vista và Windows 7 v4.1.0.9: (15-Aug-2009) + Sửa thông báo lỗi khi truy vấn trả về "bảng dữ liệu tĩnh" trong màn hình chức năng SQL Builder. (Phiên bản cũ, mặc dù đã trả về kế quả nhưng vẫn thông báo lỗi, chỉ xảy ra với Excel 2007). + Sửa lỗi kết nối CSDL Foxpro/VFP hay ODBC/ConnectionString khi thực hiện chức năng "TableValue" trong màn hình SQL Builder. + Sửa hàm đọc số thành chữ. + Thêm công cụ tùy chọn việc đọc số thành chữ Việt, Anh "AcchelperOptions". Công cụ này giống như của addin "Accounting Helper". + Cho phép cài đặt chạy trên Excel 2010 Lưu ý: Một số máy không kết nối được với CSDL Visual Foxpro thì có hai giải pháp để thực hiện: + Kết nối bằng dBASE IV khi tạo DBKEY + Nếu vẫn muốn dùng kết nối theo Visual Foxpro (VFP), hãy vào địa chỉ dưới đây download ODBCDriver của VFP cài vào máy. http://msdn.microsoft.com/en-us/vfoxpro/bb190233.aspx http://download.microsoft.com/download/vfoxodbcdriver/Install/6.1/W9XNT4/EN-US/VFPODBC.msi (*) Muốn kết nối với nhiều CSDL khác bạn hãy cài Microsoft Data Access Components (MDAC) . http://www.microsoft.com/downloads/details.aspx?FamilyID=6c050fe3-c795-4b7d-b037-185d0506396c&DisplayLang=en v4.1.0.8: (05-May-2009) v4.1.0.7: (01-Apr-2009) + Sửa hàm RANGE, cho phép nhận địa chỉ ở một file Excel/Workbook khác đang mở hoặc trên sheet mà tên có dấu cách. + Sửa hàm VTC, sửa lỗi xảy ra khi trong hàm có một hàm khác lồng vào trong hoặc giá trị của trường [ColumnName] có ký tự đặc biệt ".", "!". v4.1.0.6: (16-Mar-2009) + Sửa cách thức cập nhật công thức lúc mở tệp Excel theo phương thức FIFO. Nguyên tắc khi mở tệp có chứa hàm BS_SQL, các các công thức chứa hàm này sẽ tự động được cập nhật lại với mục đích cập nhật lại dữ liệu. Việc cập nhật được thực hiện theo nguyên tắc: - Phiên bản cũ: LIFO, công thức nào được tạo/cập nhật SAU thì được cập nhật trước. Ví dụ, tạo lần lượt 3 công thức CT1, CT2, CT3, khi mở file các công thức này được cập nhật lần lượt theo thứ tự CT3, CT2, CT1. ->>Theo phương thức LIFO, hàm BS_SQL gây lỗi khi công thức sau dựa vào kết quả thực hiện của công thức trước (xảy ra lúc mở file Excel). - Phiên bản mới (từ v4.1.0.6): FIFO, công thức nào được tạo/cập nhật TRƯỚC thì được cập nhật trước. Ví dụ, tạo lần lượt 3 công thức CT1, CT2, CT3, khi mở file các công thức này được cập nhật lần lượt theo thứ tự CT1, CT2, CT3. ->>Theo phương thức FIFO, hàm BS_SQL cập nhật đúng trình tự, nguồn dữ liệu của nó phải được cập nhật trước. (Hàm BS_SQL với phương tức LIFO, A-Tools chỉ tạo ra thông báo lỗi cập nhật dữ liệu khi mở tệp Excel có BS_SQL mà thôi! Trong tiến trình làm việc vẫn hoàn toàn đúng). v4.1.0.5: (08-Mar-2009) + Thêm chức năng cập nhật công thức tại con trỏ ô. Phím tắt CTRL+SHIFT+A. + Thêm chức năng cập nhật các công thức trong sheet. Phím tắt CTRL+SHIFT+S. + Thêm chức năng cập nhật các công thức trong các sheets của workbook đang mở. Phím tắt CTRL+SHIFT+D. + Thêm chức năng cập nhật các công thức trong các sheet của các workbooks. Phím tắt CTRL+SHIFT+F. + Sửa lỗi chức năng "Tạo bảng dữ liệu tĩnh" trong "A-Tools SQL Builder". Lỗi này chỉ xuất hiện trong phiên bản 4.1.0.3. + Sửa bộ cài đặt, cho phép cài cho tất cả các users cùng cấp trong máy tính. (*) Thông tin chi tiết mời các bạn xem tại website: http://www.bluesofts.net v4.1.0.4: (05-Mar-2009) Các sửa lỗi nhỏ. v4.1.0.3: (03-Mar-2009) + Sửa lỗi khi sử dụng chức năng "Cập nhật công thức", hàm BS_SQL() bị lỗi khi nó gọi một macro để chạy cùng. + Sửa lỗi khi người dùng sử dụng định dạng số tiền bên trong Excel: menu Tools->Options...->International. Đây có thể là lý do mà một số máy đã không chạy được A-Tools ở các phiên bản trước. + Sửa quy trình cài đặt A-Tools, khắc phục lỗi cài đặt của một số trường hợp đặt biệt. + Sửa cấu trúc của hàm BS_VND, BS_USD giống như các hàm VND, USD trong Addin "Accounting Helper". + Thêm, khi hàm BS_SQL() sử dụng khai báo DBKEY, nếu file dữ liệu Excel đang mở có tên trùng với tên của file dữ liệu trong DBKEY thì nó sẽ được dùng để kết nối cho dù đường dẫn của các file khác nhau. Khả năng này cho phép người dùng có thể sử dụng nhiều tệp dữ liệu nguồn ở các nơi khác nhau nhưng cùng tên. + Thêm, hỗ trợ hoàn toàn giao diện Unicode trong A-Tools SQL Builder. + Thêm khả năng truy vấn nguồn dữ liệu trong bảng tính. Nếu CSDL nguồn là Excel, các phiên bản cũ chỉ thực hiện được với vùng đã đặt tên (Define Names). + Thêm hàm "AutoNames" hỗ trợ cho hàm BS_SQL(), cho phép tự động tạo tên bảng và tạo tên các cột trong vùng dữ liệu kết quả. Chức năng này quan trọng trong việc người dùng cần tạo ra một vùng dữ liệu để xử lý trung gian bởi các hàm Excel. Để tìm hiểu thêm, hãy đọc file "Examble.xls". + Thêm, chức năng SQL Builder cho phép dùng chuột để chọn địa chỉ ô trực tiếp trên bảng tính cho các hàm RANGE(), CELL(). Phiên bản cũ phải vào bằng tay tại các cột điều kiện "Criteria". + Thêm, cho phép hiển thị nội dung của trường dữ liệu kiểu MEMO trong CSDL Access và các CSDL khác, phiên bản cũ chỉ hiện chuỗi "(MEMO)". + Thêm menu "Đăng ký A-Tools Pro". + Thêm các ví dụ. + Thêm, cho phép cài đặt trên tất cả các phiên bản của Microsoft Excel có trên máy. Phiên bản cũ chỉ được chọn cài một phiên bản. + Một vài lỗi của cũ của các phiên bản trước cũng đã được sửa trong phiên bản 4.1.0.3. v4.1.0.2: (14-Feb-2009) v4.1.0.1: (14-Oct-2009) v4.1.0.0: (12-Oct-2009) v4.0.4.0: (25-Jul-2008) + Sửa lỗi không tương thích giữa A-Tools với phần mềm bộ gõ Unikey khi gõ chuỗi Unicode có dấu trong Excel: Dialog có EditBox; MSForms.TextBox; MSForms.ComboBox, ...các control trong thư viện FM20.DLL. Lỗi này xảy ra khi nâng cấp phiên bản v4.0.3. v4.0.3.0: (22-Jul-2008) + Sửa lỗi không tương thích giữa A-Tools với phần mềm bộ gõ Unikey khi gõ chuỗi Unicode có dấu trong Excel Worksheet. Lỗi này xảy ra từ phiên bản v3.1 Các lỗi phụ khác cũng đã được sửa. v4.0.2.0: (18-Jul-2008) v4.0.1.0: v4.0.0.0: (16-Feb-2008) + Sửa thủ tục cài đặt và gỡ bỏ (Install và Uninstall) A-Tools. Cho phép người dùng lựa chọn phiên bản Microsoft Excel để cài đặt, nếu máy cài nhiều phiên bản. Sửa lại logic cài đặt để đảm bảo phù hợp với các tình huống của ứng dụng. v4.0.0.0: (14-Feb-2008) + Sửa chức năng "Tạo công thức", lỗi cũ xảy ra nếu chạy chức năng này khi không có workbook nào mở + Sửa lỗi cài đặt. Nếu đang chạy Excel 2007 mà cài A-Tools thì menu không xuất hiện ngay mà phải chạy lại Excel, nếu gỡ bỏ (Uninstall) thì menu không được xoá ngay mà phải chạy lại Excel. + Sửa chức năng nhận địa chỉ ô bằng nhấp chuột trong màn hình thứ 2 của "A-Tools SQL Buider" v4.0.0.0: (12-Feb-2008) + Hoàn thiện việc kiểm tra lỗi, đảm bảo chặt chẽ, rõ ràng, công thức chạy an toàn hơn phiên bản cũ rất nhiều. + Sửa lỗi hàm bs_Dlookup + Sửa lỗi lệnh "Chuyển mã". Phiên bản cũ nếu lệnh chuyển mã từ Unicode->TCVN3, nếu chạy lần thứ hai sẽ không chạy được. + Thêm công cụ SQL Builder. Với công cụ này cho phép người dùng tạo hàm BS_SQL cũng như xây dựng các câu truy vấn SQL rất dễ dàng và chuyên nghiệp. + Cho phép tạo bảng giá trị theo 3 dạng: - BS_SQL:Bảng dữ liệu được tạo mởi hàm BS_SQL, là bảng dữ liệu động - Query Table: Bảng dữ liệu động cho phép chạy trên các máy không cài A-Tools - Giá trị tĩnh: Bảng chỉ là các giá trị không có công thức + Thêm hàm VTC để thay cho hàm ValuesToColumns. + Thêm 6 hàm phụ sử dụng kết hợp trong hàm BS_SQL: 1) CELL(AddressCell,ValueType) - Nhận giá trị trên bảng tính 2) RANGE(AddressCell,ValueType) - Nhận địa chỉ cho công thức AddressCell: địa chỉ ô ValueType: nhận các giá trị T - Nếu xác địng giá trị là kiểu văn bản (Text) D - Nếu xác địng giá trị là kiểu ngày (Date) N - Nếu xác địng giá trị là kiểu số (Number) Nếu bỏ qua, A-Tools tự động xác định kiểu giá trị Ví dụ: Tại ô A1 chứa mã khách hàng. Tập báo cáo theo mã khác hàng từ sổ NKC, CSDL là file Access "Examble.mdb" (đã được tạo kết nối qua mã DBKEY là "MDB") =BS_SQL("SELECT * FROM NKC WHERE MA_KH=RANGE(A1,T)" , "DBKEY=MDB;") Hoặc =BS_SQL("SELECT * FROM NKC WHERE MA_KH=RANGE(A1)" , "DBKEY=MDB;") 3) RECNO() - Tạo cột số thứ tự; 4) DATA(Row,Column) - Nhận giá trị trong mảng, các biến sử dụng trong hàm này là Row: dòng hiện thời; PreRow:dòng trước dòng hiện thời (Row); Column: cột hiện thời; PreColumn: cột trước cột hiện thời (Column). Ví dụ: =BS_SQL("SELECT SO_CT,NGAY_CT,THANH_TIEN, data(PreRow,Column)+data(Row,PreColumn) AS [Lũy kế] WHERE NOTK='131' FROM NKC", "DBKEY=MDB") 5) GETONCE(NumberValue): Nhận giá trị duy nhất một lần. Hàm này thường được sử dụng trong việc tính số dư, lũy kế Ví dụ số dư đầu tại ô D2 =BS_SQL("SELECT SO_CT,NGAY_CT,THANH_TIEN, GetOnce(Cell(D2))+data(PreRow,Column)+data(Row,PreColumn) AS [Lũy kế] WHERE NOTK='131' FROM NKC", "DBKEY=MDB") 6) FORMULA(ExcelFormula) - Cho phép tạo và thực hiện công thức Excel thông thường Ví dụ: =BS_SQL("SELECT SO_CT,DIEN_GIAI,MA_KH,THANH_TIEN, FORMULA(1+2+SUM(A1:C10)*2)") + Cho phép xây dựng biểu thức tính toán trong cột của bảng dữ liệu kết hợp với các hàm DATA, CELL + Cho phép chèn dữ liệu thông qua khai báo trong tham số OPTIONS của hàm BS_SQL: INSERT = YES , đây là chức năng quan trọng của hàm BS_SQL, nó cho phép người dùng thiết kế một báo cáo rất dễ dàng, cho phép thực hiện các phép tính, các dòng văn bản như phần ký duyệt...sau bảng dữ liệu được tạo bởi BS_SQL + Cho phép lập trình cùng hàm BS_SQL. Hàm BS_SQL cung cấp các sự kiện OnBeforeUpdate = YourMacro - Cho phép chạy một macro trước khi cập nhật dữ liệu vào bảng tính OnAfterUpdate = YourMacro - Cho phép chạy một macro sau khi dữ liệu được cập nhật OnDblClick = YourMacro - Cho phép chạy một macro khi nhấp đúp chuột vào vùng dữ liệu (có hàm BS_SQL) OnSelectionChange = YourMacro - Cho phép chạy một macro khi con trỏ ô di chuyển OnGetValue = YourMacro - Cho phép chạy một macro (hàm) để thay đổi giá trị trong quá trình nhận dữ liệu từ kết quả truy vấn SQL. + Cho phép mở CSDL là Excel 2007 và Access 2007 + Bổ sung thêm DBKEY, cho phép kết nối với CSDL là Paradox, Visual Foxpro, đặc biệt cho phép kết nối với Data Source/ConnectionString, với kiểu kết nối này A-Tools có thể kết nối với tất cả các CSDL mà WINDOWS quản lý. + Thêm chức năng "Xoá dòng giá trị trùng - Remove Dublicates" (chức năng này không có trong Excel2007 vì trùng chức năng) + Việt hoá toàn bộ giao diện của chức năng "Tạo công thức" + Thay đổi giao diện của màn hình tạo DBKEY + Thêm thanh công cụ "A-Tools" + Thêm nhiều file hướng dẫn cùng các ví dụ áp dụng đầy đủ hơn. (*) Để hiểu rõ hơn về A-Tools, bạn hãy xem các ví dụ mẫu trong thư mục c:\A-Tools\HELP & DEMOS Xin cảm ơn Active Database Software (http://www.activequerybuilder.com) đã cung cấp control "Active Query Builder" Xin cảm ơn anh Lê Văn Duyệt (nick: levanduyet trên www.giaiphapexcel.com) đã chạy thử, kiểm tra và thông báo các lỗi trong A-Tools 4.0 ! ---------------------------------------------------------------------------------------------------------------------------------- v3.1.0.8: (18-Aug-2007) + Sửa lỗi: Chuyển mã từ Unicode -> VNI Chuyển mã từ VNI -> Unicode (phiên bản cũ bị lỗi khi viết chữ hoa có dấu) Chuyển mã từ VNI -> TCVN3 + Nâng cấp: Tăng tốc độ chuyển mã văn bản. + Sửa lỗi: Lỗi tạo DBKEY với CSDL là MS SQLServer, khi nguời dùng tick bỏ "Cơ chế truy cập WINDOWS NT", có nghĩa là truy cập theo cơ chế của SQLServer, người dùng không vào được User ID và Password. + Sửa: Giao diện cửa sổ "Thiết lập CSDL - DBKEY", thay đổi nút CheckBox [ ] "Cơ chế truy cập WINDOWS NT" thành hai nút Optionbutton ( ) "Cơ chế truy cập WINDOWS NT" ( ) "Cơ chế truy cập SQL Server" Giao diện này xuất hiện khi chọn nút "Thêm CSDL", "Sửa DBKEY" với CSDL là SQL Server + Sửa: Khi cài đặt, A-Tools sẽ tự chỉnh Unikey với tùy chọn "Sử dụng clipboard cho Unicode" được tick (chọn). Việc thiết lập trên đảm bảo sự tương thích giữa A-Tools với phần mềm bộ gõ Unikey khi gõ chuỗi Unicode có dấu. Cảm ơn bạn Trần Thanh Phong - "ttphong2007" trên www.giaiphapexcel.com về sự chỉ dẫn sửa trong Unikey. + Sửa lỗi : Các máy nếu cài ASAP Utilities và A-Tools khi thoát Excel sẽ thông báo lỗi. Phiên bản v3.1.008 đã sửa, xử lý tránh tranh chấp. Cảm ơn các thành viên trên trang web www.giaiphapexcel.com đã phát hiện và thông báo cho tác giả các lỗi trên. v3.1.0.7: (06-Aug-2007) + Sửa: Kiểm soát câu lệnh SQL trong hàm BS_SQL Ví dụ trong công thức sau ta tách các từ khoá thành các dòng, đảm bảo dễ kiểm tra cú pháp =BS_SQL("SELECT VLSPHH,SLG,DONGIA,TTIEN FROM NKC WHERE LOAIPHIEU='N' ") Theo các phiên bản trước, để chạy được công thức trên, cuối mỗi dòng phải có dấu cách. Phiên bản mới v3.1.007 không cần phải dùng dấu cách cuối các dòng + Sửa: Đảm bảo sự tương thích khi chạy đồng thời A-Excel và A-Tools (vì 2 sản phẩm này cùng dùng chung thư viện ControlForOffice.ocx). v3.1.0.6: (30-July-2007) + Sửa lỗi: Từ v3.1.005 về trước, nếu mở nhiều chương trình Excel trên cùng một máy (không phải là nhiều file), A-Tools chỉ chạy trên một chương trình Excel mở đầu tiên. Phiên bản 3.1.006 đã sửa lỗi trên. v3.1.0.5: (28-July-2007) + Sửa lỗi: Khi Excel chưa mở, phải nhấp đúp lần thứ hai trên file mới mở được (lỗi này có trong các phiên bản từ 3.1.004 về trước), phiên bản 3.1.005 đã sửa lỗi này. + Sửa lỗi: Trong Excel, nếu vào menu Tools->Addins gỡ bỏ A-Tools sẽ bị treo máy (lỗi này có trong các phiên bản từ 3.1.004 về trước), phiên bản 3.1.005 đã sửa lỗi này. + Nâng cấp: Tăng tốc độ khởi động A-Tools lên nhiều lần. v3.1.0.4: (28-June-2007) + Thêm hàm FieldIf trong khai báo SQL FieldIf(search_condition,ValueTrue,[ValueFalse],[Func]) search_condition: Là biểu thức logic, cách dùng như sau mệnh đề WHERE ValueTrue:Là giá trị nếu kết quả của search_condition là đúng (True), ValueTrue có thể là tên cột trong table_source. ValueFalse:Là giá trị nếu kết quả của search_condition là sai (False), ValueFalse có thể là tên cột trong table_source. Func: Tên hàm dùng để tính Các tham số trong ngoặc vuông ([ ]) có thể bỏ qua. Hàm FieldIf cho phép lồng nhau. Ví dụ FieldIf(A=B,'AB',FieldIf(A=C,'AC',FieldIf(C=B,'BC',''))). Dùng FieldIf tương tự như hàm IF của Excel hoặc hàm IIF trong các ngôn ngữ khác. + Sửa hàm ValuesToColumns(ColumnName,Func,ColumnCalc,[FormatDate]) : - Thêm tham số tuỳ chọn ([ ]) thứ 4 là [FormatDate], sử dụng trong trường hợp dữ liệu nguồn về ngày tháng không phải dạng "mm/dd/yy" thì cần phải khai báo là mm/dd/yy. - Đảm bảo tính tương thích với các loại CSDL, như là SQLServer (phiên bản 3.1.003 về trước, hàm này không tương thích) - ColumnName, cho phép là các trường kiểu Date, Namber, Text. (Phiên bản cũ chỉ thực hiện với trường kiểu Text - ký tự/văn bản.) Bạn hãy mở file Examble.xls để xem các ví dụ 21,22,23,24,25. Minh hoạ tại sheet "N-X-T" v3.1.0.3: (26-June-2007) Chữa lỗi trong hàm BS_USD, chữ milion đổi thành million. Sửa trong hàm BS_VND, bỏ dấu phảy (,) ngăn cách. Sửa, thêm chức năng "Công thức\Tạo công thức": Tăng tính chính xác, thêm các hàm tính MAX, MIN, VAR, STDEV,... Thêm chức năng "Chuyển giá trị Số thành Văn bản. v3.1.0.2: (23-June-2007) v3.1.0.1: (22-June-2007) - Thêm tính năng cho hàm BS_SQL(SQL,[OPTIONS], cho phép tạo bảng dạng PivotTable PivotTable trong Excel không cho phép ta tạo sổ theo điều kiện, nhưng hàm BS_SQL thì Ok. Để lập báo cáo dạng trên ta dùng hàm ValuesToColumns(ColumnName,Func,ColumnCalc) ColumnName: Tên cột mà các giá trị làm tiêu thức để tính Func: Tên hàm dùng để tính ColumnCalc:Tên cột được tính giá trị theo hàm khai báo ở Func Với hàm BS_SQL kết hợp sử dụng ValuesToColumns(ColumnName,Func,ColumnCalc) , người dùng có thể thay thế chức năng PivotTable của Excel vì sức mạnh của nó. Bạn hãy mở file Examble.xls để làm các ví dụ dưới đây. Ví dụ1: Lập bảng tổng hợp đối ứng TKNO và TKCO =BS_SQL("SELECT NOTK, ValuesToColumns(COTK,SUM,TTIEN) FROM NKC GROUP BY NOTK") Ví dụ2: Lập bảng tập hợp chi phí theo các tài khoản =BS_SQL("SELECT NOTK, ValuesToColumns(COTK,SUM,TTIEN) FROM NKC WHERE NOTK LIKE '6%' OR NOTK LIKE '8%' GROUP BY NOTK") - Hàm BS_Table(select_list,table_source[,search_condition] [,Options] Ý nghĩa tương tự như hàm BS_SQL Tham số "select_list" chính là tham số sau mệnh đề SELECT của đối só SQL trong hàm BS_SQL. Hàm này được thiết kế nhằm tăng tiện dụng cho người dùng. v3.0.001: (19-June-2007) - Chữa lỗi các chức năng trong menu "Lệnh", phiên bản trước không chạy. - Thêm các cảnh báo, hỏi trước khi tạo công thức, lệnh trên vùng đã có dữ liệu. Các bạn hãy đọc kỹ hướng dẫn trong file Examble.xls /----------------------------------------------------------------------------------------------------------- v3.0.0.1: (18-June-2007) Thêm các hàm cơ sở dữ liệu (CSDL) dữ liệu. Các hàm này tương tự như nhóm hàm DSUM, DCOUNT,...D* trong Access, nhưng mạnh hơn nhiều, cho phép kết nối với các CSDL bên ngoài. Hàm BS_SQL cho phép truy vấn CSDL, kết quả cho ra là một bảng dữ liệu, hàm này mạnh hơn các chức năng của Excel như Filter... Cung cấp các hàm chuyển số thành chữ: BS_VND, BS_USD Cung cấp các hàm chuyển đổi dữ liệu. Cung cấp các lệnh xử lý công thức, văn bản. (Các bạn hãy đọc kỹ hướng dẫn trong file Examble.xls) Mời bạn xem thêm thông tin tại website: http://www.bluesofts.net '-------------------------------------------------------------------------------------------------------- v2.0.0.0: (23-Dec-2005) Chức năng "Tạo công thức"