Thủ Thuật Access
[Hỏi] Tính lãi nhập gốc chưa rõ số lượt nhập kỳ hạn vào - Phiên bản có thể in

+- Thủ Thuật Access (http://thuthuataccess.com/forum)
+-- Diễn đàn: Access Cơ Bản (http://thuthuataccess.com/forum/forum-5.html)
+--- Diễn đàn: Query (http://thuthuataccess.com/forum/forum-7.html)
+--- Chủ đề: [Hỏi] Tính lãi nhập gốc chưa rõ số lượt nhập kỳ hạn vào (/thread-10505.html)

Pages: 1 2


Tính lãi nhập gốc chưa rõ số lượt nhập kỳ hạn vào - vuthaiha90 - 15-05-18

Em chào mọi người, đây là file Table của em, mong muốn là tính được số tiền đến hạn với số lần nhập lãi vào gốc để làm gốc mới là chưa biết rõ được số lần. Dưới đây là hình ảnh ví dụ về 2 lần nhập lãi vào gốc:
[Hình: T-STK.jpg]
Em cũng không biết là làm được trong query không hay phải vba. Em mới nghĩ được thế này mà chưa thực hiện được:
Số lần lặp nhập lãi vào gốc = INT(Datediff(Ngày gửi đầu tiên, Ngày hiện tại, "m")/Kỳ hạn)
                                          VD: 15/5/2018-09/11/2017=6 tháng, chia cho Kỳ hạn = 3 ==> phải nhập lãi vào gốc 2 lần
Goc1 = Trigiaso + Lai1
Goc2 = Goc1 + Lai2
Cách tính gốc và lãi thì như trong hình ảnh em up đó ạ
Với số lần nhập lãi chưa rõ kia thì em chưa nghĩ ra cách thực hiện làm. Mọi người có cao kiến gì không, giúp em. Em cảm ơn!
[url=http://www.mediafire.com/file/vrcr63559nbghrn/STK.mdb][/url]


RE: Tính lãi nhập gốc chưa rõ số lượt nhập kỳ hạn vào - ongke0711 - 15-05-18

cái của bạn có phải là tính FPV không?


RE: Tính lãi nhập gốc chưa rõ số lượt nhập kỳ hạn vào - vuthaiha90 - 15-05-18

(15-05-18, 11:37 AM)ongke0711 Đã viết: cái của bạn có phải là tính FPV không?

Em có biết FV = PV (1+i ) ^ n
Nhưng cái này chỉ là giả định 1 năm có 360 ngày, 1 tháng có 30 ngày. Thì dùng tạm công thức này được
Còn của em thì lãi suất là lãi năm, tính lãi dựa trên ngày thực tế.
Tháng thì 28,29,30,31 ngày. Mà nếu quy lãi suất năm về lãi suất ngày để sử dụng FV thì không chuẩn, vì của em có hết 1 ngày là nhập lãi vào gốc để tính tiếp đâu. Mà là hết 1 kỳ hạn (như trên là 3 tháng, mà trong 1 kỳ hạn ấy có thể sẽ là 89, 90, 92 ngày) mới nhập lãi vào gốc để tính tiếp


RE: Tính lãi nhập gốc chưa rõ số lượt nhập kỳ hạn vào - vuthaiha90 - 16-05-18

Các bác ạ, hay là đây em có 1 query thế này, em tính toán tạm 4 lần nhập lãi rồi. Tạo ra cột "Solanlap" là số lần nhập lãi; cột "a" là Ngày nhập gần nhất. Giờ em muốn cột "b" tìm: tương ứng với ngày chính xác ở cột "a", trả về giá trị "Goclaidenhan" tương ứng được không ạ. Hay viết code trong VBA. Ý em 1 cách đơn giản đó là: giống như trong excel có 1 bảng tổng, giờ có 1 bảng phụ là điều kiện, vlookup điều kiện, trả về cột kết quả tương ứng. Mà trong access có Dlookupp thôi ạ. Có bác nào có cao kiến gì không ạ, em cảm ơn.


RE: Tính lãi nhập gốc chưa rõ số lượt nhập kỳ hạn vào - ongke0711 - 16-05-18

Hỏi bạn chút:

[Hình: 41428199004_25f97bde16_o.png]

Tại sao Tiền lãi ngày có lúc lại chia 365, lúc lại 360? Không phải Tiền lãi ngày là chia 360 sao?


RE: Tính lãi nhập gốc chưa rõ số lượt nhập kỳ hạn vào - vuthaiha90 - 16-05-18

(16-05-18, 08:43 PM)ongke0711 Đã viết: Hỏi bạn chút:

[Hình: 41428199004_25f97bde16_o.png]

Tại sao Tiền lãi ngày có lúc lại chia 365, lúc lại 360? Không phải Tiền lãi ngày là chia 360 sao?

À, dạ, như trong query em làm đó, nếu year(ngày gửi) <= 2017 thì chia cho 360, còn từ năm 2018 trở đi, bắt buộc tính 1 năm có 365 ngày ạ


RE: Tính lãi nhập gốc chưa rõ số lượt nhập kỳ hạn vào - ongke0711 - 17-05-18

Bài toán của bạn không dùng query được đâu vì liên quan đến tính toán các khoản ngày tháng phức tạp.
Bạn cũng không thể dùng cách query của bạn là tạm tính 4 lần nhập, vì nó cũng hoàn toàn thủ công nếu theo cách này thì dùng Excel có thể xử lý nhanh hơn.

Đối với bài toán này thì dùng code VBA đơn giản hơn.
Trong này tôi có bổ sung thêm field [Mã khách hàng] ở cả 2 table của bạn để tiện việc trích xuất dữ liệu.
Kết quả tính toán lưu trong table T_ChiTietTraLaiSTK
Bạn xem file đính kèm.

Link file: http://www.mediafire.com/file/19t5c4gl90c1mjd/STK%28v1%29.mdb

[Hình: 42163791631_af4dc76e9b_o.png]


RE: Tính lãi nhập gốc chưa rõ số lượt nhập kỳ hạn vào - vuthaiha90 - 17-05-18

(17-05-18, 10:33 AM)ongke0711 Đã viết: Bài toán của bạn không dùng query được đâu vì liên quan đến tính toán các khoản ngày tháng phức tạp.
Bạn cũng không thể dùng cách query của bạn là tạm tính 4 lần nhập, vì nó cũng hoàn toàn thủ công nếu theo cách này thì dùng Excel có thể xử lý nhanh hơn.

Đối với bài toán này thì dùng code VBA đơn giản hơn.
Trong này tôi có bổ sung thêm field [Mã khách hàng] ở cả 2 table của bạn để tiện việc trích xuất dữ liệu.
Kết quả tính toán lưu trong table T_ChiTietTraLaiSTK
Bạn xem file đính kèm.

Link file: http://www.mediafire.com/file/19t5c4gl90c1mjd/STK%28v1%29.mdb

[Hình: 42115105092_a61b32be61_c.jpg]

Dạ vâng, em biết, em chỉ làm tạm 4 lần trong query để các bác hiểu cách tính ngày và cách tính lãi ạ.
1. Tính ngày thì không cần +1 như trong file bác làm đâu ạ, cái này thì em bỏ rồi ạ
2. Hình như đoạn cuối cần gán lại giá trị “Trị giá sổ”, vì như em thấy nếu xuất hiện 2 kỳ nhập lãi trở lên thì có thêm 1 dòng tính nữa, nhưng giá trị vẫn như lúc đầu nên khả năng tính sai lãi lần 2. Trị giá sổ = trị giá sổ + lãi lần 1
3. Với cho em hỏi, có thể tính tổng được giá trị 3 quyển sổ ấy vào ngày xuất kho (17/5) được không ạ. Tại như bác làm thì tạo ra thành 4 dòng, Dsum kiểu gì ạ?
Em cảm ơn ạ.


RE: Tính lãi nhập gốc chưa rõ số lượt nhập kỳ hạn vào - ongke0711 - 17-05-18

1. Nếu không + 1 thì sẽ thiếu 1 ngày nếu tính luôn ngày đầu tiên. Ví dụ:

[Hình: 42163840001_d69a2612a9_o.png]

2. Công thức tính thì không sai nhưng khai báo để insert vô table thì bị sai. Đã sửa lỗi.
Link: http://www.mediafire.com/file/19t5c4gl90c1mjd/STK%28v1%29.mdb

3. Để tính tổng thì dùng Total Query với dòng Total: Last.

[Hình: 27292629397_87a34e326b_o.png]


RE: Tính lãi nhập gốc chưa rõ số lượt nhập kỳ hạn vào - vuthaiha90 - 17-05-18

(17-05-18, 02:02 PM)ongke0711 Đã viết: 1. Nếu không + 1 thì sẽ thiếu 1 ngày nếu tính luôn ngày đầu tiên. Ví dụ:

[Hình: 42163840001_d69a2612a9_o.png]

2. Công thức tính thì không sai nhưng khai báo để insert vô table thì bị sai. Đã sửa lỗi.
Link: http://www.mediafire.com/file/19t5c4gl90c1mjd/STK%28v1%29.mdb

3. Để tính tổng thì dùng Total Query với dòng Total: Last.

[Hình: 27292629397_87a34e326b_o.png]

Dạ, em cảm ơn bác nhiều ạ, nhưng vẫn còn đoạn này nữa bác ạ:
ở cái quyển sổ 2, đã nhập 2 kỳ lãi, với kỳ thứ 2 là 09/2/2018-09/5/2018, tức year(ngày gửi) là 2018, nhưng công thức của bác vẫn chia cho 360. Cụ thể: 22.854.155*5%/360*89 ngày(09/2-09/5)=282.503 tiền lãi; nhưng mà nó là 22.854.155*5%/365*89=278.633 tiền lãi chứ ạ