AnNguyen > 23-09-20, 03:04 PM
ongke0711 > 23-09-20, 04:14 PM
AnNguyen > 23-09-20, 04:25 PM
(23-09-20, 04:14 PM)ongke0711 Đã viết: Đưa bài toán cụ thể mới hình dung được nhé.
Access là hệ QT CSDL nên không cần SUMIF mà dùng các câu lệnh SQL để truy vấn.
Excel thì không quản lý dữ liệu theo kiểu Recordset nên phải viết các hàm để xử lý các mảng dữ liệu truyền vào.
Access cũng có thể viết các hàm tương tự để xử lý thay Array, Range bằng Recordset.
ongke0711 > 23-09-20, 04:40 PM
(23-09-20, 04:25 PM)AnNguyen Đã viết: HamMoi(giam1, ngaykt1, ghichu1, giam2, ngaykt2, ghichu2, giam3, ngaykt3, ghichu3, giam4, ngaykt4, null)
sau đó nó sẽ lưu từng nhóm thành từng dòng vào csdl ạ.
Đây ạ, em chỉ đang ví dụ như hàm sumifs thôi ạ, vì khi truyền tham số vào thì nó đi theo nhóm của tham số đó ạ.
AnNguyen > 23-09-20, 05:22 PM
(23-09-20, 04:40 PM)ongke0711 Đã viết: Giải thích hàm cụ thể đi em.Như này anh ạ.
Insert into tbTest (giaTien, ngayKT, ghiChu) Values('giaTien1','ngayKT1','GhiChu1')
Insert into tbTest (giaTien, ngayKT, ghiChu) Values('giaTien2','ngayKT2','GhiChu2')
Insert into tbTest (giaTien, ngayKT, ghiChu) Values('giaTien3','ngayKT3','GhiChu3')
...............
HamMoi(giam1, ngaykt1, ghichu1, giam2, ngaykt2, ghichu2, giam3, ngaykt3, ghichu3, giam4, ngaykt4, null)
có vòng lặp ở đây ạ, để khi em truyền đúng đủ 3 tham số cho 1 nhóm 1, hoặc 3 tham số cho 1 nhóm 2 thì nó sẽ lặp thành 2 lần và lưu lại ý ạ
ongke0711 > 24-09-20, 12:23 AM
AnNguyen > 24-09-20, 08:39 AM
(24-09-20, 12:23 AM)ongke0711 Đã viết: Khi muốn lưu dữ liệu xuống Table thì kiểu gì cũng phải qua các lệnh "Insert Into..." hoặc dùng Recordset.Add.Vâng để khi nào em gặp trường hợp cần như vậy em sẽ hỏi lại anh ạ
Do vậy viết thành cái hàm cũng chưa chắc nó ngắn gọn, hiệu quả, dễ sửa.
Thường tôi hay dùng table tạm để nhập liệu rồi Insert một lúc nguyên table vào table chính nếu dữ liệu đã chính xác.
Để phân tích được dùng cách nào hiệu quả hơn thì phải dựa vào ngữ cảnh thực tế nhập liệu thì mới góp ý được chứ ngữ cảnh như trên thì cũng chưa thể phân tích gì được nhé.
- Nếu nhiều dòng thì đưa vô cả chục nhóm tham số cách nhau đấu phẩy?
- Tính toán, hiệu chỉnh các tham số này như thế nào trước khi đưa vào hàm? tính toán lưu thành biến hay mảng...
tranthanhan1962 > 24-09-20, 11:20 AM
AnNguyen > 24-09-20, 12:20 PM
(24-09-20, 11:20 AM)tranthanhan1962 Đã viết: Tạo 1 query, trên query tạo thêm 1 field Điều kiện. Ví du: DK: If(...,..., If(...,...)) And If....Or If.... Điều kiện nào đúng thì băng True sai bằng False. Đặt Criteria = True. Như vậy là đã lọc tất cả các record thỏa điều kiện. giờ thì muốn Sum, Delete, Append ... Hay làm cái gì cũng được