|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
各位老师,我试着用SQL查询方式从表里提取数据,先计算借方金额和贷方金额,程序如下,但是无法通过,能否帮我完成这个表。
Sub SQL查科目余额()
Application.ScreenUpdating = False
Dim CNN, SQL$ '定义数据库连接和SQL语句
Dim Maxrow As Integer, i As Integer
Set CNN = CreateObject("adodb.connection") '创建数据库连接
Set RS = CreateObject("adodb.recordset") '创建一个数据集保存数据
CNN.Open "Provider=Microsoft.jet.OLEDB.4.0;Extended Properties=Excel 8.0;Data Source=" & ThisWorkbook.FullName
[D4:E2000].ClearContents
Maxrow = [A65536].End(xlUp).Row
For i = 4 To Maxrow - 3
SQL = " Select sum(iif(isnull(借方金额),0,借方金额)),sum(iif(isnull(贷方金额),0,贷方金额)) from (" & _
"select 日期,借方金额,贷方金额 from [会计凭证$] where 总账科目 ='&(Cells(i, 1)&' and 明细科目 ='&(Cells(i, 2)&' and 日期<=data(cells(2,4)) and 日期>=data(cells(2,6)))"
RS.Open SQL, CNN, adOpenKeyset, adLockOptimistic
Sheets("sheet1").Cells(i, 5).CopyFromRecordset RS
Set RS = Nothing
Next i
CNN.Close '关闭数据库连接
Set CNN = Nothing '将CNN从内存中删除。
End Sub
|
|