Kết chuyển số dư cuối kỳ kế toán ?

tienduyet

Member
Hội viên mới
Em chào [ Bạn/Anh/Chị ]! Em có tý vướng mắc trong kết chuyển số dư cuối kỳ kế toán. Cụ thể là như thế này: (em dùng trong kế toán Ngân hàng nhá)
Ví dụ Tài khoản 1011 - Tiền mặt tồn quỹ, Ngày 31/12/2008 có số dư cuối ngày và cũng là cuối kỳ kế toán năm 2008 là 1.000.000.000 đồng

Giờ em vận dụng những phương thức nào (dùng trong VBA) để đưa số dư cuối kỳ 2008 đó thành số dư đầu kỳ của năm 2009?

Hy vọng rằng em nhận được sự giúp đơ của [ Bạn/Anh/Chị ]!
Em cảm ơn.
 
Sửa lần cuối bởi điều hành viên:
Ðề: Kết chuyển số dư cuối kỳ kế toán ?

Trước hết xin hỏi: theo bạn "phương thức" nghĩa là cái gì?
 
Ðề: Kết chuyển số dư cuối kỳ kế toán ?

Dạ, ý của em là [bạn/anh/chị] chỉ cho em cách kết chuyển số dư cuối kỳ kế toán, dùng trong VBA [bạn/anh/chị] ah.
Lấy số dư cuối kỳ kế toán (năm 2008) sang làm số dư đầu kỳ kế toán kế tiếp (năm 2009).
 
Sửa lần cuối bởi điều hành viên:
Ðề: Kết chuyển số dư cuối kỳ kế toán ?

Anh chị ơi giúp em đi ah, từ đó lấy mẫu đó để làm kiến thức vào mem-mô-ry.
Thanks!
 
Ðề: Kết chuyển số dư cuối kỳ kế toán ?

Chạy câu lệnh này

INSERT INTO Table1 ( SoduDK, Nam )
SELECT Table1.SoduCK, [Nam]+1 AS Expr1
FROM Table1;

Cấu trúc chạy câu lệnh: Docmd("SQL")
 
Ðề: Kết chuyển số dư cuối kỳ kế toán ?

Hic.
Cái này nó chẳng ăn nhập gì với VBA hay VBZ cả ..
Nó thuộc về việc phân tích đối tượng, kết cấu dữ liệu thôi.

Trong kế toán, khi báo cáo về 1 tài khoản thì cần có: SDĐK, SFSTăng, SFSGiảm, SDCK.

Mà: SDCK = SDĐK + SFSTăng - SFSGiảm
Và: SDĐK sau = SDCK này

Như vậy trong CSDL không cần lưu SDCK.
Thế nhưng, SDĐK này lại là SDCK trước.
Như vậy cũng không cần SDĐK luôn.

Hê. Nếu thế thì làm sao tính được SDCK này nếu như không có SDĐK cả kỳ này?

Sẽ là 1 vòng lẩn quẩn không lối ra.
Cần phải có 1 điểm bắt đầu nào đó. Nếu không thì phải xem như SDĐK của kỳ đầu tiên trong CSDL là = 0.
Khi đó, SDCK của kỳ đầu tiên sẽ là:
SDCK kỳ 1 = SFS tăng kỳ 1 - SFS Giảm kỳ 1

Đến đây ta thấy SDĐK và SDCK của kỳ thứ 100 sẽ là:
SDĐK kỳ 100 = Tổng SFS tăng trong 99 kỳ - Tổng SFS Giảm trong 99 kỳ ( = SDCK kỳ thứ 99)
SDCK kỳ 100 = Tổng SFS tăng trong 100 kỳ - Tổng SFS Giảm trong 100 kỳ.


Thế nhưng trong thực tế, nếu lập báo cáo của 1 kỳ mà phải lôi ra hết 100 kỳ để cộng cộng trừ trừ thì hơi lang mang ...
Mặc dù là với SQL ta SUM tòan bộ số phát sinh trong 100 kỳ chỉ là chuyện tý chút.

Dù sao thì đó cũng là 1 phương án.


Người ta cũng có thể chọn phương án tính sẵn SDCK rồi lưu lại.
Đến kỳ sau thì lấy SDCK trước ra (nó sẽ là tượng trưng cho kết quả của 99 kỳ trước) và nối nó vào SFS của kỳ này.
Table SFS đã được nối đó sẽ tượng trưng cho toàn bộ hoạt động của 100 kỳ.
Và dĩ nhiên nó ngắn gọn hơn là chi tiết thực của cả 100 kỳ.


Vậy yêu cầu là table SDCK có cùng cấu trúc với table ghi nhận các phát sinh.
Khi nối lại thì dùng : QueryName
SELECT * FORM SDCK2008 UNION SELECT * FORM SFS2009

Với phương án này thì tên table SDCK và tên table SFS phải tuân thủ quy tắc nào đó phản ảnh kỳ (năm) mà nó lưu dữ liệu.


Ah quên. Để tính SDCK thì tuỳ theo cấu trúc table của bạn, đại khái câu lệnh sẽ là:
SELECT SUM(SFStăng) - SUM(SFSgiảm) FROM QueryName GROUP BY tk
Tất nhiên câu trên chỉ là mã giả. Tuỳ theo cấu trúc table mà tính SUM cho đúng



Bạn hãy cứ làm tới tới..
Nếu chương trình của bạn chạy ổn định trong 2 năm thì 50 năm cũng vẫn chạy tốt.

* CSDL: lưu trữ những biến động chứ không phải là số dư vì số dư là cái có thể tính toán được từ những số liệu khác ( + tăng - giảm).
 
Ðề: Kết chuyển số dư cuối kỳ kế toán ?

em nghĩ nó chỉ cần đơn giản như trên thôi, bác làm thế này thì vất vả quá, số đã chốt rồi llại còn tính đi tính lại làm gì cho xử lý mất thời gian.
 
Ðề: Kết chuyển số dư cuối kỳ kế toán ?

thì có 2 cách:
- không lưu số dư.
- lưu số dư.

Còn làm như behattieu là INSERT vào table thì phải DElLETE trước (nếu đã tồn tại) rồi mới INSERT sau.
Lỡ tay click 2 cú thì sau? Nó chèn SDĐK vào 2 lần?
Như trong Diễn đàn này bài post trùng 2-3 lần vẫn thường xảy ra.
 
Ðề: Kết chuyển số dư cuối kỳ kế toán ?

1. Nghe chừng hai anh nói có vẻ khó quá ah. Vậy thế này nha, ý em hỏi ở trên thuộc về kế toán tổng hợp mất rồi -> Số dư đầu kỳ (năm) em nhập thủ công, sau đó là Số phát sinh (tăng hoặc giảm lằm trong 2 cột khác nhau) trong năm được cộng dồn theo tài khoản, và cuối cùng là Số dư cuối kỳ -> Thể chỉ cho em làm công thức tính số dư cuối kỳ bằng VBA nhé (Số dư = Số dư đầu + Phát sinh tăng - Phát sinh giảm), để không những em nhìn thấy trên form mà con số đó còn đi vào bảng nữa ah.

2. Vậy thì nếu như em làm kế toán chi tiết thì làm thế nào để (tốt nhất là trong VBA, hay Query cũng tạm ổn) để em lấy được số dư cuối ngày hôm qua sang làm Số dư đầu ngày hôm kế tiếp -> số dư này được lưa trữ mãi anh nha.

Em xin cảm ơn!
 
Ðề: Kết chuyển số dư cuối kỳ kế toán ?

1. Nghe chừng hai anh nói có vẻ khó quá ah. Vậy thế này nha, ý em hỏi ở trên thuộc về kế toán tổng hợp mất rồi -> Số dư đầu kỳ (năm) em nhập thủ công, sau đó là Số phát sinh (tăng hoặc giảm lằm trong 2 cột khác nhau) trong năm được cộng dồn theo tài khoản, và cuối cùng là Số dư cuối kỳ -> Thể chỉ cho em làm công thức tính số dư cuối kỳ bằng VBA nhé (Số dư = Số dư đầu + Phát sinh tăng - Phát sinh giảm), để không những em nhìn thấy trên form mà con số đó còn đi vào bảng nữa ah.

2. Vậy thì nếu như em làm kế toán chi tiết thì làm thế nào để (tốt nhất là trong VBA, hay Query cũng tạm ổn) để em lấy được số dư cuối ngày hôm qua sang làm Số dư đầu ngày hôm kế tiếp -> số dư này được lưa trữ mãi anh nha.

Em xin cảm ơn!

Mình nghĩ bạn thiết kế chưa hợp lý rồi. SAo lại thiết kế trong cùng 1 bảng có cả số dư đầu kỳ, số dư cuối kỳ và chi tiết của các phát sinh. Chí ít nó cũng được tách thành 2 bảng:
Bảng 1 lưu trữ thông tin tổng hợp: Số dư đầu kỳ, số dư cuối kỳ
Bảng 2 lưu trữ thông tin của các chi tiết phát sinh
Sau đó thì tính toán thôi (cũng chẳng liên quan gì đến VBA)
SoduCK=SoduDK+TongPStang-TongPSgiam
TongPStang=Sum(PStang)
TongPSgiam=Sum(PSgiam)
nhét mấy cái này vào query hoặc cho luôn lên form cũng được mà
Còn để giải quyết hiện tại: Ví dụ bạn có 1 table có 4 trường dữ liệu như trên thì sử dụng câulệnh SQL sau:
SELECT Sum(Table1.SoduDK) AS SumOfSoduDK, Sum(Table1.PStang) AS SumOfPStang, Sum(Table1.PSgiam) AS SumOfPSgiam1, (Sum(Table1.SoduDK)+Sum(Table1.PStang)-Sum(Table1.PSgiam)) AS SumOfPSgiam
FROM Table1;
To bac muontennguoi: Làm sao mà chèn 2 lần được chứ, do không đặt key thôi bác. Bác cứ đặt nam:prinmarykey thì không thể nào trùng được
 
Ðề: Kết chuyển số dư cuối kỳ kế toán ?

Mình làm bài ví dụ mẫu này, các bạn xem, đọc phần code cho kỹ nhé, bạn sẽ hiểu chúng ta phải từng bước làm những việc gì khi kết chuyển.
Trong ví dụ này mình chỉ đưa ra 2 table chứa chứng tử thu và chi thôi.
có gì thắc mắc thì Viettienedu@gmail.com hay trực tiếp trên diển đàn nhé
chào
Download bài ví dụ
 
Ðề: Kết chuyển số dư cuối kỳ kế toán ?

To bac muontennguoi: Làm sao mà chèn 2 lần được chứ, do không đặt key thôi bác. Bác cứ đặt nam:prinmarykey thì không thể nào trùng được

Tất nhiên thích key thì cứ key. Tôi không cản.

Thế còn như ví dụ của tienduyet thì sao?
Tính SDCK của ngày, tháng, quý, năm ... hoặc giả yêu cầu là báo cáo quỹ từ ngày 2/5/08 đến 3/8/08 ...
 
Ðề: Kết chuyển số dư cuối kỳ kế toán ?

Mình làm thêm phần tính tồn quỹ theo ngày và tháng. để các bạn tham khảo và cũng là để trả lời cho bác muontimnguoi.
download tại đây
 

CẨM NANG KẾ TOÁN TRƯỞNG


Liên hệ: 090.6969.247

KÊNH YOUTUBE DKT

Cách làm file Excel quản lý lãi vay

Đăng ký kênh nhé cả nhà

SÁCH QUYẾT TOÁN THUẾ


Liên hệ: 090.6969.247

Top