Add-In A-Tools - Truy vấn (lọc), soạn thảo và quản trị dữ liệu Excel qua mạng

Liên hệ QC
Dear anh Tuân, em mới sử dụng A-Tool thôi. Cho em hỏi là phần hide cột và dòng mình có thể set cho từng nhóm không vậy anh? Em đọc hết phần hướng dẫn của anh rồi nhưng vẫn không thấy nói đến vấn đề này. Với nếu được anh có thể inbox cho em một key A-tool pro giá bao nhiêu được không ạ?
Em xin cảm ơn!!!
 
Dear anh Tuân, em mới sử dụng A-Tool thôi. Cho em hỏi là phần hide cột và dòng mình có thể set cho từng nhóm không vậy anh? Em đọc hết phần hướng dẫn của anh rồi nhưng vẫn không thấy nói đến vấn đề này. Với nếu được anh có thể inbox cho em một key A-tool pro giá bao nhiêu được không ạ?
Em xin cảm ơn!!!

Bạn tạo 3 vùng/range mỗi vùng ẩn một vài cột sau đó vào phân quyền mỗi vùng vào một nhóm. Các vấn đề khác bạn trao đổi vào sales@bluesofts.net
 
Anh Tuân ơi, em có gửi mail cho địa chỉ bên anh, nhưng đến giờ vẫn chưa nhận được thông tin gì cả. Anh check lại giúp em với. Mail của em là duyen@ynjvn.com
Thank anh!
 
Hi anh Tuân ơi, em gặp 1 chút rắc rối nhỏ với A-tool là file data excel của em gồm 2sheets: 1 sheet là form mua hàng và 1 sheet chứa dữ liệu mua hàng. Em có tạo code VBA để khi em nhập xong dữ liệu bên form mua hàng em chỉ cần nhấn nút "Update" thì nó sẽ tự động cập nhật qua sheet data kia. Nhưng khi em share file này qua A-tool thì máy khác không thể nhấn vào nút "Update" hoặc nhấn vào được thì nó hiện thông báo là "Macro is not available..."
Anh có thể chỉ em cách fix vấn đề này được không vậy?
 
Hi anh Tuân ơi, em gặp 1 chút rắc rối nhỏ với A-tool là file data excel của em gồm 2sheets: 1 sheet là form mua hàng và 1 sheet chứa dữ liệu mua hàng. Em có tạo code VBA để khi em nhập xong dữ liệu bên form mua hàng em chỉ cần nhấn nút "Update" thì nó sẽ tự động cập nhật qua sheet data kia. Nhưng khi em share file này qua A-tool thì máy khác không thể nhấn vào nút "Update" hoặc nhấn vào được thì nó hiện thông báo là "Macro is not available..."
Anh có thể chỉ em cách fix vấn đề này được không vậy?

Tại máy chủ bạn vào màn hình "Tuỳ chọn/Options" chọn muc "Chia sẻ VBA" là được.
 
Anh ơi, thỉnh thoảng em gặp tình trạng máy khách nhập dữ liệu, đã nhấn save đàng hoàng nhưng dữ liệu bên máy chủ không tự động cập nhật. Mạng vẫn hoạt động bình thường. Máy chủ và máy khách kế sát nhau.
 
Anh ơi, thỉnh thoảng em gặp tình trạng máy khách nhập dữ liệu, đã nhấn save đàng hoàng nhưng dữ liệu bên máy chủ không tự động cập nhật. Mạng vẫn hoạt động bình thường. Máy chủ và máy khách kế sát nhau.

Không lưu vào file, khi mở lại không thấy? Hay là không cập nhật giá trị? Thông thường khi máy chủ đang chi sẻ file Excel cho những người khác thì không nên thường xuyên mở Êxcel để soạn thảo.
Nếu máy khách bạn mở cả file từ máy chủ thì A-Tools chỉ cho phép đọc mà không cập nhật được dữ liệu, muốn cập nhật phải mở dạng sheet, vùng(range).
 
Add-in A-Tools 2013 v6.5.0.3 - Truy vấn, Chia sẻ và quản trị Excel qua mạng

Xin gửi các thành viên phiên bản mới Add-in A-Tools 2013 v6.5.0.3: 01-08-2013


Các tính năng được nâng cấp và thêm mới:

+ 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().

DOWNLOAD
 
Lần chỉnh sửa cuối:
Tổng hợp báo cáo

Anh Tuân, nhờ anh hướng dẫn giúp em lập công thức truy vấn để tổng hợp báo cáo từ tháng ... tới tháng sang sheet TH theo từng mặt hàng.
Trân trọng cảm ơn anh nhiều
 

File đính kèm

  • tonghop.xlsx
    39.1 KB · Đọc: 34
Lần chỉnh sửa cuối:
Anh Tuân, nhờ anh hướng dẫn giúp em lập công thức truy vấn để tổng hợp báo cáo từ tháng ... tới tháng sang sheet TH theo từng mặt hàng.
Trân trọng cảm ơn anh nhiều

Để thực hiện công thức BS_SQL của A-Tools cần thực hiện các việc sau trong file này:

1. Cần sửa tất cả các sheet Tx thành Thangx (ví dụ T1 thành Thang1). Để A-Tools hiểu được các Name đặt trong sheet đó. Vì T1 A-Tools nhầm với địa chỉ ô T1
2. Tạo dòng phụ làm dòng tiêu đề. Yêu cầu của A-Tools khi tạo Name của bảng dữ liệu thì các ô trong vùng không được Merge cell. Vì vậy tạo Name phải từ dòng phụ nếu dòng tiêu đề ban đầu có ô bị định dạng Merge cell.
3. Tạo sheet danh mục hàng và đặt tên vùn dữ liệu với tên DMHH, có cột MA, TEN,…
4. Sau khi tạo tên ở bước 2) phải lưu và đóng file này lại, sau đó mở lại để file nhận lại cấu trúc dữ liệu với các Name đã đặt.
5. Lập công thức bởi hàm BS_SQL. Xem ví dụ ại sheet "TH_bs_sql".

Tại ô C5 đặt công thức SQL:

[GPECODE=sql]SELECT RECNO(),DMHH.MA,
DLTH1.NF,DLTH1.[ĐD],DLTH1.[SĐ],
DLTH2.NF,DLTH2.[ĐD],DLTH2.[SĐ],
DLTH3.NF,DLTH3.[ĐD],DLTH3.[SĐ],
DATA(ROW,2)+DATA(ROW,5)+DATA(ROW,8) AS DF,
DATA(ROW,3)+DATA(ROW,6)+DATA(ROW,9) AS [ĐD],
DATA(ROW,4)+DATA(ROW,7)+DATA(ROW,10) AS [SĐ],
FROM
((DMHH LEFT JOIN DLTH1 ON DMHH.MA=DLTH1.MA )
LEFT JOIN DLTH2 ON DMHH.MA=DLTH2.MA)
LEFT JOIN DLTH3 ON DMHH.MA=DLTH3.MA[/GPECODE]

Tại ô B8 dùng hàm BS_SQL để tạo báo cáo động:

=bs_sql(C5,"INSERT=YES;HR=NO")

Bạn tham khảo file mình đã làm
 

File đính kèm

  • tonghop.xlsx
    47.8 KB · Đọc: 14
Lần chỉnh sửa cuối:
Nhờ Admin kiểm ra mình đã đăng bài trả lời ngay sau bài #310 với đoạn code sử dụng định dạng "sql" nhưng bài không hiển thị lên?

Diễn đàn lâu lâu lại bị vậy (mình gặp hoài)
Hồi nãy kiểm tra thấy có bài mới của Tuân nhưng bấm vào thì nó cứ link đến bài 310 (trang cuối không sao link đến được)
Giờ thì... thấy rồi
Chắc bị "ma giấu" đó
Ẹc... ẹc...
 
Diễn đàn lâu lâu lại bị vậy (mình gặp hoài)
Hồi nãy kiểm tra thấy có bài mới của Tuân nhưng bấm vào thì nó cứ link đến bài 310 (trang cuối không sao link đến được)
Giờ thì... thấy rồi
Chắc bị "ma giấu" đó
Ẹc... ẹc...

Em đang viết bài hỏi Admin trong "Góp ý thành viên", trước khi bấm nút "Gửi" linh tính báo rằng bài đã hiện nên em kiểm tra lại thì bài đã lại hiện (đúng như linh tính mách bảo). Thi thoảng có ma hay sao ý --=0 .
 
Để thực hiện công thức BS_SQL của A-Tools cần thực hiện các việc sau trong file này:

1. Cần sửa tất cả các sheet Tx thành Thangx (ví dụ T1 thành Thang1). Để A-Tools hiểu được các Name đặt trong sheet đó. Vì T1 A-Tools nhầm với địa chỉ ô T1
2. Tạo dòng phụ làm dòng tiêu đề. Yêu cầu của A-Tools khi tạo Name của bảng dữ liệu thì các ô trong vùng không được Merge cell. Vì vậy tạo Name phải từ dòng phụ nếu dòng tiêu đề ban đầu có ô bị định dạng Merge cell.
3. Tạo sheet danh mục hàng và đặt tên vùn dữ liệu với tên DMHH, có cột MA, TEN,…
4. Sau khi tạo tên ở bước 2) phải lưu và đóng file này lại, sau đó mở lại để file nhận lại cấu trúc dữ liệu với các Name đã đặt.
5. Lập công thức bởi hàm BS_SQL. Xem ví dụ ại sheet "TH_bs_sql".

Tại ô C5 đặt công thức SQL:

[GPECODE=sql]SELECT RECNO(),DMHH.MA,
DLTH1.NF,DLTH1.[ĐD],DLTH1.[SĐ],
DLTH2.NF,DLTH2.[ĐD],DLTH2.[SĐ],
DLTH3.NF,DLTH3.[ĐD],DLTH3.[SĐ],
DATA(ROW,2)+DATA(ROW,5)+DATA(ROW,8) AS DF,
DATA(ROW,3)+DATA(ROW,6)+DATA(ROW,9) AS [ĐD],
DATA(ROW,4)+DATA(ROW,7)+DATA(ROW,10) AS [SĐ],
FROM
((DMHH LEFT JOIN DLTH1 ON DMHH.MA=DLTH1.MA )
LEFT JOIN DLTH2 ON DMHH.MA=DLTH2.MA)
LEFT JOIN DLTH3 ON DMHH.MA=DLTH3.MA[/GPECODE]

Tại ô B8 dùng hàm BS_SQL để tạo báo cáo động:

=bs_sql(C5,"INSERT=YES;HR=NO")

Bạn tham khảo file mình đã làm
Em cám ơn anh trước nhe! Để em làm thử làm theo hướng dẫn của anh.
 
Khi làm báo cáo, trích lọc dữ liệu Excel bằng A-Tools, hàm DATA(row, column) rất quan trọng trong khai bao của hàm BS_SQL. Để tìm hiểu kỹ bạn mở file "C:\A-Tools\HELP & DEMOS\Bai 2 - Cac ham ho tro nhom ham Database Functions.xls" vào sheet "DATA", "GetOnce" để xem hướng dẫn chi tiết và ví dụ minh họa.
 
Em cám ơn anh trước nhe! Để em làm thử làm theo hướng dẫn của anh.
Anh Tuân ơi, làm sao mình có thể chọn báo cáo từ tháng đến tháng được vậy anh.
Ví dụ: muốn tổng hợp báo cáo từ Tháng 1 đến tháng 2 thì em chọn tháng cần báo cáo tại D3 và F3 của sheet TH_bs_sq được vậy anh
 
Lần chỉnh sửa cuối:
Anh Tuân ơi, làm sao mình có thể chọn báo cáo từ tháng đến tháng được vậy anh.
Ví dụ: muốn tổng hợp báo cáo từ Tháng 1 đến tháng 2 thì em chọn tháng cần báo cáo tại D3 và F3 được vậy anh

Có thể làm được nhưng vì dữ liệu các tháng của bạn ách ra từng sheet nên bạn phải chế biến nhiều và rất cực. Tôi nghĩ không cần thiết phải làm khổ vậy, từ công thức đã chạy thành công trong sheet tháng 1-> tháng 3, bạn copy sheet này thành 3 sheet nữa, mỗi sheet 3 tháng kế tiếp, bạn chỉ cần sửa lại tên dữ liệu nguồn là xong.
 
Có thể làm được nhưng vì dữ liệu các tháng của bạn ách ra từng sheet nên bạn phải chế biến nhiều và rất cực. Tôi nghĩ không cần thiết phải làm khổ vậy, từ công thức đã chạy thành công trong sheet tháng 1-> tháng 3, bạn copy sheet này thành 3 sheet nữa, mỗi sheet 3 tháng kế tiếp, bạn chỉ cần sửa lại tên dữ liệu nguồn là xong.
Em cám ơn anh nhiều, ý của anh là mình làm tổng hợp 1 lần 3 tháng ( x 4 sheet như vậy).
Nhưng do đôi khi em cần báo cáo lưng chừng các tháng nên nhe vậy cũng hơi bất tiện.
Để em chỉnh sữa sheet từng tháng vô chung 1 sheeet, rồi anh giúp em nhe anh.
 
Em gởi file đã dồn số liệu 12 tháng về 1 sheet, anh xem giúp em. Nếu chưa được anh hướng dẫn để em chỉnh sữa tiếp nhe anh.
 

File đính kèm

  • tonghop2.xlsx
    24.4 KB · Đọc: 3
Báo cáo động trên Add-in A-Tools

Em gởi file đã dồn số liệu 12 tháng về 1 sheet, anh xem giúp em. Nếu chưa được anh hướng dẫn để em chỉnh sữa tiếp nhe anh.

Để làm được báo cáo một cách linh hoạt thì phải tổ chức lại CSDL. CSDL của bạn mình đưa cả 12 tháng về một sheet với các cột:
MA | NF | ĐD | SĐ | THANG/NGAY|

Để làm báo cáo động, tùy chỉnh từ tháng x đến tháng y mình pải viết một hàm GetColumnByMonth trong VBA để tự tạo câu khai báo các cột dữ liệu cần lấy ra. Nếu bạn làm báo cáo thật trên file Excel khác bạn phải copy mã nguồn của hàm và dán vào module trong VBA của file đó.

[GPECODE=vb]Function GetColumnByMonth(ByVal iFromMonth As Integer, ByVal iToMonth As Integer, Optional ByVal bSumColumn As Boolean = True) As String
Dim I As Integer
Dim s As String
For I = iFromMonth To iToMonth
If I <> iFromMonth Then s = s & "," & vbCrLf
s = s & "SUM(IIF(DATA.THANG=" & I & ",DATA.NF,0)), " & _
"SUM(IIF(DATA.THANG=" & I & ",DATA.[DD],0))," & _
"SUM(IIf(Data.THANG = " & I & ", Data.[SD], 0))"
Next I
If bSumColumn Then
If s <> "" Then s = s & "," & vbCrLf
s = s & "SUM(IIF(DATA.THANG>=" & iFromMonth & " AND DATA.THANG<=" & iToMonth & ",DATA.NF,0)), " & _
"SUM(IIF(DATA.THANG>=" & iFromMonth & " AND DATA.THANG<=" & iToMonth & ",DATA.[DD],0)), " & _
"SUM(IIF(DATA.THANG>=" & iFromMonth & " AND DATA.THANG<=" & iToMonth & ",DATA.[SD],0))"
End If
GetColumnByMonth = s
End Function[/GPECODE]

Tại ô C5 ( nơi khai báo SQL đặt công thức:
Mã:
="SELECT RECNO(), DATA.MA," &
                [B]GetColumnByMonth[/B](D3,F3) &
"FROM DATA
  INNER JOIN DMHH ON DATA.MA=DMHH.MA
WHERE DATA.THANG>=CELL(D3) AND DATA.THANG<=CELL(F3) 
GROUP BY DATA.MA"
Ô D3, F3 tương ứng với từ tháng x đến tháng y

Tại ô B8 (ô đầu tiên của báo cáo), đặ công thức:
=bs_sql(C5,"INSERT=YES;HR=NO")

Bây giờ bạn có được báo cáo tùy chỉnh khoảng thời gian theo tháng. Hiện tại tôi để khoảng thời gian là 3 tháng một, bạn có thể tùy chỉnh mốc đầu tiên là bao nhiêu thì mốc hai sẽ tăng +2. Nếu bạn muốn khoảng thời gian lớn hơn thì copy sheet "THBC Thang" thành sheet khác vừa tự chỉnh sửa.

bcthang.jpg


Bạn tham khảo file tôi làm.
 

File đính kèm

  • tonghop.xlsm
    32.2 KB · Đọc: 20
Lần chỉnh sửa cuối:
Web KT
Back
Top Bottom