ADO: Kết nối Excel Database cho công việc kế toán

Liên hệ QC
Để thực hiện Sổ cái chi tiết, Sổ cái tổng hợp và chuẩn bị cho cả Bảng Cân đối phát sinh trong khoảng thời gian bất kỳ (từ Date1 đến Date2), cần phải tính toán số dư đầu kỳ của khoảng thời gian đó (đầu ngày Date1).

Muốn vậy ta phải chạy 1 query tạo ra OldData là phát sinh trong khoảng thời gian trước ngày Date1, sau đó chạy 1 query phức hợp khác nhằm tính tổng phát sinh nợ, tổng phát sinh có của các TK trong khoảng thời gian trước Date1, tính ra số dư đầu ngày Date1.

Các Query này nằm trong module Temp.

Query tạo sổ cái nằm trong module SocaiCT

Câu lệnh SQL của từng phần như sau:

1. lấy dữ liệu trước ngày Date1

PHP:
SELECT date, tkno, tkco, stien  
FROM [data]
Group by date, tkno, tkco, stien
having date < Date1 
ORDER BY Date;

2. Lấy số dư đầu kỳ 01/01/2008 từ bảng SDTK (copy và paste cho lẹ, vì chỉ làm có 1 lần thôi).

3. Lấy tổng PS bên nợ của các TK:

PHP:
SELECT  Sum(IIf(olddata.[tkno]=DMTK.[sotk],Olddata.[Stien],0)) AS PSNo
FROM DMTK LEFT JOIN OldData ON DMTK.SoTK = OldData.TkNo
GROUP BY DMTK.SoTK
ORDER BY DMTK.SoTK;

3. Lấy tổng phát sinh bên có của các TK:

PHP:
SELECT Sum(IIf([tkco]=[sotk],[Stien],0)) AS PSCo
FROM DMTK LEFT JOIN OldData ON DMTK.SoTK = OldData.TKCo
GROUP BY DMTK.SoTK 
ORDER BY DMTK.SoTK;

4. Dùng công thức tính số dư cuối kỳ của bảng cân đối tạm (bằng code cho nhẹ file)

5. Lấy phát sinh của TK trong khoảng thời gian từ Date1 đến Date2

PHP:
SELECT 1 as STT,  Sct, Date,   diengiai,
IIf(tkno='" & TK & "', tkco, tkno) As TKDU,sum(IIf(tkno ='" & TK & "', [stien], 0)) AS PSno,
  sum(IIf(tkco ='" & TK & "', [stien] ,0)) AS PSco 
FROM [data$]
GROUP BY SCt,date,  diengiai,tkno,tkco 
HAVING ((tkno='" & TK & "') Or (tkco='" & TK & "'))  and _
(date>=" & Date1 & ") and (date<=" & Date2 & ")
Order by date;

Chọn tài khoản trong ô E1, gõ ngày bắt đầu trong ô E2, ngày kết thúc trong ô G2, rồi nhấn nút.


Em cóp nhặt được của thầy để làm công việc kế toán của em, cám ơn thầy rất nhiều. Em biết đề tài cũng đã lâu, nhưng kiến thức có hạn nên rất mong thầy giải đáp giúp em vướng mắc chổ sổ cái chi tiết và CDPS sử dụng datatmp và tmp nhưng có một vấn đề ở code datatmp là nếu có một hóa đơn nhiều dòng số tiền giống nhau thì code vào datatmp chỉ lấy dòng đầu tiên, các dòng giống nhau tiếp theo không được lấy. Rất mong thầy giúp em hoàn thiện chổ này ạ. Cám ơn thầy rất nhiều và mong rằng sẽ được cụng ly với thầy ở SNGPE 03/07/2016
 
file không chạy ra tài khoản chi con được ạ
 
Web KT
Back
Top Bottom