Office中国论坛/Access中国论坛
标题:
分级分类自动往上级统计
[打印本页]
作者:
Henry D. Sy
时间:
2011-10-11 10:56
标题:
分级分类自动往上级统计
会计统计中多数是末级才输入数据,上级是自动累计的。
需要的网友可以来探讨一下。
Public Function GetTotal(strNo As String, curAccount As Currency) As Currency
Dim rs As New ADODB.Recordset
Dim cnn As New ADODB.Connection
Dim strSQL As String
Dim intQ As Integer
Dim curTemp As Currency
On Error GoTo GetTotal_Error
Set cnn = CurrentProject.Connection
intQ = Len(strNo)
If curAccount <> 0 Or intQ = 8 Then '说明其为末级
GetTotal = curAccount '无需累加
Exit Function
ElseIf intQ = 6 Then
strSQL = "SELECT 金额 FROM 科目表 WHERE LEFT(代码,6)='" & strNo & "'"
ElseIf intQ = 4 Then
strSQL = "SELECT 金额 FROM 科目表 WHERE LEFT(代码,4)='" & strNo & "'"
Else
MsgBox "此函数只能适应三级统计"
Exit Function
End If
rs.Open strSQL, cnn, adOpenKeyset, adLockOptimistic
Do While Not rs.EOF
curTemp = curTemp + rs.Fields(0)
rs.MoveNext
Loop
GetTotal = curTemp
rs.Close
Set rs = Nothing
Set cnn = Nothing
On Error GoTo 0
Exit Function
GetTotal_Error:
MsgBox "Error " & Err.Number & " (" & Err.Description & ")"
End Function
复制代码
[attach]46916[/attach]
[attach]57257[/attach]
作者:
andymark
时间:
2011-10-11 11:06
谢谢分享
作者:
tmtony
时间:
2011-10-11 12:35
谢谢技巧分享!
作者:
xuwenning
时间:
2011-10-12 10:05
谢谢分享
收藏了
作者:
轻风
时间:
2011-10-12 15:10
用DSum是不是也可以,还不受级次限制。
SELECT 科目表.代码, 科目表.名称, DSum("[金额]","[科目表]","[代码] Like '" & [代码] & "*'") AS 汇总
FROM 科目表;
复制代码
作者:
Henry D. Sy
时间:
2011-10-12 16:16
轻风 发表于 2011-10-12 15:10
用DSum是不是也可以,还不受级次限制。
谢谢轻风兄提醒!
作者:
fjh
时间:
2015-9-30 17:38
感谢分享
作者:
WFH6898
时间:
2015-11-4 13:13
太有才了
作者:
yangkaifu
时间:
2015-11-9 22:26
高手
作者:
灰太郎
时间:
2021-8-30 22:13
123546
作者:
GOODWIN
时间:
2021-11-15 16:38
谢谢分享
作者:
simonsaq
时间:
2022-2-21 20:43
谢谢分享
作者:
simonsaq
时间:
2022-2-26 12:16
我的水平还没到看懂的地步
作者:
simonsaq
时间:
2023-5-24 20:34
太好了,看不懂
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3