TK | NODAU | CODAU | PSNO | PSCO | NOCUOI | COCUOI |
---|---|---|---|---|---|---|
110 | 50000 | 0 | 20000 | 6000 | 24000 | 0 |
111 | 150000 | 0 | 10000 | 2000 | 138000 | 0 |
112 | 245000 | 0 | 15000 | 3000 | 227000 | 0 |
113 | 15000 | 0 | 2000 | 11000 | 2000 | 0 |
114 | 85000 | 0 | 3000 | 4000 | 78000 | 0 |
211 | 0 | 20000 | 6000 | 3000 | 11000 | |
212 | 0 | 135000 | 7000 | 8000 | 120000 | |
213 | 0 | 36000 | 5000 | 1000 | 30000 | |
214 | 0 | 42000 | 6000 | 6000 | 30000 |
Và tblketqua( Chimuc,Congthuc,giatri)
Mình có các công thức lấy giá trị trên table tblData để cộng trừ nhân chia, và công thức này được lưu trên tblKetqua. Mình muốn tính toán và điền giá trị cuối cùng vào ô giatri trên tblketqua.
Đáp:
Lấy giá trị thông qua hàm Dlookup. Tổng quát, ta viết 1 function để lấy giá trị trên tblData như sau:
Function myIndex(Dong As String, Cot As String) As Long
myIndex = DLookup(Cot, "tblData", "[TK]='" & Dong & "'")
End Function
Công thức lưu của bạn phải phát biểu dạng:
myIndex("110", "nodau")-(myIndex("113", "PSno") + myIndex("114", "PSCo"))Lưu các công thức này vào field Congthuc trên tblketqua.
Ví dụ:
CHITIEU | CONGTHUC | SOTIEN |
---|---|---|
I. TÀI SẢN | myIndex("110", "coCuoi")+ myIndex("111", "coCuoi")+ myIndex("113", "coCuoi") | 0 |
1. Tài sản cố định | myIndex("111", "noCuoi")-myIndex("112", "noCuoi") | 0 |
2. Vật liệu | myIndex("110", "nodau")-(myIndex("113", "PSno") + myIndex("114", "PSCo")) | 0 |
II. NGUỒN VỐN | myIndex("211", "Codau")+myIndex("212", "Codau")+myIndex("213", "Codau") | 0 |
1. Tỷ lệ vốn chủ sở hữu | myIndex("111", "NoCuoi") | 0 |
Run 1 query update để cập nhật giá trị công thức vào ô giá trị:
Private Sub cmdTinhKQ_Click()Chúc thành công:
SQL = "UPDATE TBLKETQUA SET SOTIEN = Eval([congthuc])"
DoCmd.SetWarnings False
DoCmd.RunSQL SQL
MsgBox " Da update thanh cong"
DoCmd.SetWarnings True
DoCmd.OpenTable "TBLKETQUA"
End Sub
Mời xem demo: Download
____________________________________________________________________________________
Thảo luận thêm: http://thuthuataccess.co.cc/forum
Đọc bài viết tính giá trị của một công thức lưu trong table của anh Noname, tôi rất thích vì đó là điều tôi rất cần. Tuy nhiên, tôi áp dụng vào công việc thì bị lỗi do tbldata của tôi có TK không được lưu trong congthuc. Khi đó khi thực hiện update sẽ báo lỗi.
Trả lờiXóaAnh có thể hướng dẫn cho tôi cách khắc phục không? (Mỗi một đơn vị mà tôi cần lưu số liệu vào table sẽ có một TBldata khác nhau, với các TK khác nhau, nhưng congthuc thi phai viet tonghop lấy tất cả TK)
Ví dụ: Tbldata này có TK 2111,2112,2113
nhung tbldata khac thì có 2111,2131.2141
Mà công thức thì gộp đủ tất cả 2111,2112,2113,2131,2141
vì là cùng nhóm tính chất.
Email của tôi là tranchautuyet@yahoo.com.vn.
Nếu bạn lưu ở nhiều table khác nhau thì hàm MyIndex của bạn phải truyền thêm thông số table.
Trả lờiXóaFunction myIndex(Dong As String, Cot As String, tb as string) As Long
myIndex = DLookup(Cot, tb, "[TK]='" & Dong & "'")
End Function
Và công thức bạn lưu phải truyền thêm tên table nữa!
Tôi muốn xin địa chỉ email của anh Naname được không. Tôi đang ứng dụng thủ thuật của anh chỉ vào việc khai thác dữ liệu từ cân đối lưu vào table. Tuy nhiên, tôi còn một chỉ tiêu chưa lấy được như sau:
Trả lờiXóaTôi muốn tính tổng tài sản có hoặc tài sản nợ dựa vào cân số trên cân đối kế toán ( Dựa vào tính chất cân đối kế toán cộng tất cả số dư các tài khoản , còn tổng tài sản có hoặc nợ thì có một số tài khoản lấy chênh lệch ( như là tài khoản thanh toán 5199 của ngân hàng chẳng hạn, thường có 2 số dư, theo quy định phải tính chênh lệch giữa dư có và dư nợ và nằm bên tài sản có hoặc tài sản nợ còn tùy)
Như vậy, giả sử tôi lấy cân số dư cuối nợ để tính và dư cuối nợ của 5199 lớn hơn dư cuối có của 5199 thì tôi sẽ trừ bớt dư cuối có của 5199 và ngược lại thì tôi phải trừ bớt dư cuối nợ của 5199 ( vì chênh lệch sẽ nằm bên tài sản nợ)
Cột công thức thì không thể sử dụng hàm IFF rồi.
Anh có cách gì hay thì chỉ tôi với.
Cảm ơn anh Thật nhiều
duytuan2002@gmail.com
Trả lờiXóaBạn gửi kèm ví dụ luôn nhé!
SAO MINH LAM THEO DE MO CUA BAN MA KO DC?
Trả lờiXóaHỏi: Tôi muốn viết chương trình quản lý kho đơn giản nhưng gặp phải vấn đề sau: Trong một danh mục hàng có số lương tồn kho. Từ form nhập hoặc xuất khi nhập vào số lượng nhập thêm hay xuất ra thì sẽ tự động cộng hoặc trừ vào số lượng tồn kho. Cách thực hiện thế nào?
Trả lờiXóa