-
Tạo công thức cho cột trong table
hoat > 11-04-23, 05:06 PM
Mình có một vấn đề mong được sự hướng dẫn từ anh chị em:
Mình có 1 table gồm các cột: STT, MaDuAn, TenDuAn, SoPO, GiaTriPO, ThoiHanThanhToan, UyNhiemChi, TinhTrangThanhToan.
MÌnh muốn nội dun trong cột TinhTrangThanhToan tự nhảy theo diều kiện:
- Nếu cột UyNhiemChi trống và ngày trong cột ThoiHanThanhToan lớn hơn ngày hiện tại thì cột TinhTrangThanhToan sẽ hiển thị nội dung: Chưa thanh toán
- Nếu cột UyNhiemChi trống và ngày trong cột ThoiHanThanhToan nhỏ hơn ngày hiện tại thì cột TinhTrangThanhToan sẽ hiển thị nội dung: Chậm thanh toán
- Nếu cột UyNhiemChi khác rỗng thì cột TinhTrangThanhToan sẽ hiển thị nội dung: Đã thanh toán.
- Các trường hợp khác thì để trống.
Muốn làm được như vầy mình làm bên table luôn được không hay phải làm bằng query.
Anh chị em có thể hướng dẫn mình viết hàm cho trường hợp này được không ?
Rất mong nhận đươc sự hỗ trợ từ anh chị em. -
RE: Tạo công thức cho cột trong table
cpucloi > 11-04-23, 05:17 PM
1. Table có mục đích chính là lưu trữ dữ liệu
2. Query dùng để trích lọc, cập nhật, xóa, tính toán, ...
===>>> Bạn nên sử dụng Query để thực hiện yêu cầu này (chỉ cần sử dụng hàm IIF cũng được) -
RE: Tạo công thức cho cột trong table
hoat > 11-04-23, 05:41 PM
(11-04-23, 05:17 PM)cpucloi Đã viết: 1. Table có mục đích chính là lưu trữ dữ liệu
2. Query dùng để trích lọc, cập nhật, xóa, tính toán, ...
===>>> Bạn nên sử dụng Query để thực hiện yêu cầu này (chỉ cần sử dụng hàm IIF cũng được)
Mình viết hàm như vầy:
TinhtrangthanhtoanTU: iif([Uynhiemchitamung]=0 and [Thoihantamung]< date(), ”Chưa thanh toán”, iif([Uynhiemchitamung]=0 and [Thoihantamung]> date(),”Chậm thanh toán”, iif([Uynhiemchitamung]<>””,”Đã thanh toán”,””)))
mà không được, không biết nó bị sai chỗ nào, bạn xem giúp mình được không -
RE: Tạo công thức cho cột trong table
ongke0711 > 11-04-23, 07:07 PM
(11-04-23, 05:41 PM)hoat Đã viết: TinhtrangthanhtoanTU: iif([Uynhiemchitamung]=0 and [Thoihantamung]< date(), ”Chưa thanh toán”, iif([Uynhiemchitamung]=0 and [Thoihantamung]> date(),”Chậm thanh toán”, iif([Uynhiemchitamung]<>””,”Đã thanh toán”,””)))
mà không được, không biết nó bị sai chỗ nào, bạn xem giúp mình được không
Cột [UyNhiemChiTamUng] của bạn là dạng Number hay Text? Tôi thấy bạn vừa so sánh cột đó với số 0 và vừa với cặp nháy kép "" ???
Thay đổi logic xử lý lại chút: đưa điều kiện [UyNhiemChiTamUng] khác rỗng lên đầu tiên. -
RE: Tạo công thức cho cột trong table
hoat > 11-04-23, 10:24 PM
(11-04-23, 07:07 PM)ongke0711 Đã viết:
(11-04-23, 05:41 PM)hoat Đã viết: TinhtrangthanhtoanTU: iif([Uynhiemchitamung]=0 and [Thoihantamung]< date(), ”Chưa thanh toán”, iif([Uynhiemchitamung]=0 and [Thoihantamung]> date(),”Chậm thanh toán”, iif([Uynhiemchitamung]<>””,”Đã thanh toán”,””)))
mà không được, không biết nó bị sai chỗ nào, bạn xem giúp mình được không
Cột [UyNhiemChiTamUng] của bạn là dạng Number hay Text? Tôi thấy bạn vừa so sánh cột đó với số 0 và vừa với cặp nháy kép "" ???
Thay đổi logic xử lý lại chút: đưa điều kiện [UyNhiemChiTamUng] khác rỗng lên đầu tiên.
Cột [UyNhiemChiTamUng] của mình là dạng Text -
RE: Tạo công thức cho cột trong table
hoat > 11-04-23, 11:00 PM
(11-04-23, 10:24 PM)hoat Đã viết:
(11-04-23, 07:07 PM)ongke0711 Đã viết:
(11-04-23, 05:41 PM)hoat Đã viết: TinhtrangthanhtoanTU: iif([Uynhiemchitamung]=0 and [Thoihantamung]< date(), ”Chưa thanh toán”, iif([Uynhiemchitamung]=0 and [Thoihantamung]> date(),”Chậm thanh toán”, iif([Uynhiemchitamung]<>””,”Đã thanh toán”,””)))
mà không được, không biết nó bị sai chỗ nào, bạn xem giúp mình được không
Cột [UyNhiemChiTamUng] của bạn là dạng Number hay Text? Tôi thấy bạn vừa so sánh cột đó với số 0 và vừa với cặp nháy kép "" ???
Thay đổi logic xử lý lại chút: đưa điều kiện [UyNhiemChiTamUng] khác rỗng lên đầu tiên.
Cột [UyNhiemChiTamUng] của mình là dạng Text
Mình sửa lại như vầy:
TinhtrangthanhtoanTU: iif([Uynhiemchitamung]<>””,”Đã thanh toán”, iif([Uynhiemchitamung]="" and [Thoihantamung]< date(), ”Chưa thanh toán”, iif([Uynhiemchitamung]="" and [Thoihantamung]> date(),”Chậm thanh toán”,””)))
báo lỗi: The expression you entered contains invalid syntax
you may have entered an operand without operator -
RE: Tạo công thức cho cột trong table
cpucloi > 12-04-23, 10:00 AM
Trích dẫn: The expression you entered contains invalid syntax
you may have entered an operand without operator
Bác Google dịch
Trích dẫn: Biểu thức bạn đã nhập chứa cú pháp không hợp lệ
Bạn có thể đã nhập một toán hạng mà không có toán tử
Bạn nên đưa demo lên để mọi người giúp dễ dàng hơn -
RE: Tạo công thức cho cột trong table
ongke0711 > 12-04-23, 03:02 PM
(11-04-23, 11:00 PM)hoat Đã viết: báo lỗi: The expression you entered contains invalid syntax
you may have entered an operand without operator
Bạn thay đổi thử
- Dấu phân cách các mệnh đề thành chấm phẩy ";" xem thử.
- hoặc Bỏ cặp ngoặc kép của hàm Date()
Một vấn đề khác là nếu cột [UyNhiemChiTamUng] đang là Null thì nó không so được với "".
Tốt nhât là thêm hàm Nz() để khử Null
Vd: IIF(Nz([UyNhiemChiTamUng],"") = "", ...., ...) -
RE: Tạo công thức cho cột trong table
hoat > 13-04-23, 03:45 PM
(12-04-23, 03:02 PM)ongke0711 Đã viết:
(11-04-23, 11:00 PM)hoat Đã viết: báo lỗi: The expression you entered contains invalid syntax
you may have entered an operand without operator
Bạn thay đổi thử
- Dấu phân cách các mệnh đề thành chấm phẩy ";" xem thử.
- hoặc Bỏ cặp ngoặc kép của hàm Date()
Một vấn đề khác là nếu cột [UyNhiemChiTamUng] đang là Null thì nó không so được với "".
Tốt nhât là thêm hàm Nz() để khử Null
Vd: IIF(Nz([UyNhiemChiTamUng],"") = "", ...., ...)
Cảm ơn ongke0711
mình đã làm được