Foxtable(狐表)用户栏目专家坐堂 → 查询账


  共有5115人关注过本帖树形打印复制链接

主题:查询账

帅哥哟,离线,有人找我吗?
有点蓝
  41楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110333 积分:561507 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/5/15 9:36:00 [只看该作者]


b.Totals.AddDef("贷方金额")
‘’多余去掉b.Build()
Tables("三栏式账_Table1").DataSource = b.BuildDataSource
Dim a As Table = Tables("三栏式账_Table1")
Dim g As Subtotalgroup
a.SubtotalGroups.Clear()
g = New Subtotalgroup
g.GroupOn = "月"
g.TotalOn = "借方金额,贷方金额"
g.Caption = "本月发生额"
a.SubtotalGroups.Add(g)
    g = New Subtotalgroup
    g.GroupOn = "年"
    g.Caption = "{0}"
    a.SubtotalGroups.Add(g)
a.Subtotal()
Dim r As Row
For
 i As Integer = 0 To a.Rows.Count(True) - 1
    r = a.Rows(i,True)
    If
 r.IsGroup andalso 
r("年").length = 4 '如果是分组行
        Dim f As String = " = '" & r("") & "'"
        r("年") = "本年累计"
        r(""借方金额") = Tables("三栏式账_Table1").Compute("Sum(借方金额)",f)
    End
 
If
Next


 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  42楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/5/15 10:02:00 [只看该作者]

你这样写会把跨年的一直累计下去的,我只要本年累计,下一年重新累计,所以一定要双条件。
[此贴子已经被作者于2021/5/16 13:45:32编辑过]

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  43楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/5/15 10:34:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:051501.png
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  44楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110333 积分:561507 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/5/15 11:00:00 [只看该作者]

r("借方金额") = a.Compute("Sum(借方金额)",f)

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  45楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/5/15 11:09:00 [只看该作者]

a就是Tables("三栏式账_Table1"),改为a 一样报错。

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  46楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/5/15 11:11:00 [只看该作者]

哦,我知道那错了。
[此贴子已经被作者于2021/5/15 11:12:45编辑过]

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  47楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/5/15 11:15:00 [只看该作者]

代码能保存了,但

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20210515111422.png
图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  48楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110333 积分:561507 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/5/15 11:19:00 [只看该作者]

Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.CommandText = "Select 日期,字号,凭证号,摘要,借方金额,贷方金额 from {财务数据源}"
dt = cmd.ExecuteReader()
'对临时进行分组统计
Dim b As New GroupTableBuilder("统计表1",dt)
b.Groups.AddDef("日期",DateGroupEnum.Year,"年")
b.Groups.AddDef("日期","月")
b.Groups.AddDef("字号")
b.Groups.AddDef("凭证号")
b.Groups.AddDef("摘要")
b.Totals.AddDef("借方金额")
b.Totals.AddDef("贷方金额")
b.Build()
Dim a As Table = Tables("统计表1")
Dim g As Subtotalgroup
a.SubtotalGroups.Clear()
g = New Subtotalgroup
g.GroupOn = "月"
g.TotalOn = "借方金额,贷方金额"
g.Caption = "本月发生额"
a.SubtotalGroups.Add(g)
g = New Subtotalgroup
g.GroupOn = "月"
g.Caption = "{0}月"
a.SubtotalGroups.Add(g)
a.Sort = "年,月"
a.Subtotal(True)

Dim r As Row
For i As Integer = 0 To a.Rows.Count(True) - 1
    r = a.Rows(i,True)
    If r.IsGroup AndAlso r("年") Like "*月" '如果是分组行
        Dim f As String = "年 = " & a.Rows(i-2,True)("年") & " And 月 <= " & r("年").trim("月")
        r("年") = "本年累计"
        r("借方金额") = a.Compute("Sum(借方金额)",f)
    End If
Next

这个代码放到命令窗口测试,自己改改放到按钮里

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  49楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/5/15 11:19:00 [只看该作者]

Dim a As Table = Tables("三栏式账_Table1")
Dim g As Subtotalgroup
a.SubtotalGroups.Clear()
这代码放我原来的前面就行了。

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  50楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/5/24 11:25:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:052401.foxdb


我想在三栏式账窗口的Table1中加入第一行,如果资产或负债或所有者权益或损益表的科目名称列中科目名称等于e.Form.Controls("DropBox1").Value,其余额等于查找到的对应表对应期初余额,我这样写红色代码报错,另即使添加了第一行并引用了期初余额,下面的统计表生成的数据亦会把它覆盖吧?
Dim a As Table = Tables("三栏式账_Table1")
Dim g As Subtotalgroup
a.SubtotalGroups.Clear()
CurrentTable.AddNew()
Dim t As String
Dim Parts() As String = e.Form.Controls("DropBox1").Value.Split("-")
If Parts.length > 0 Then
    t = Parts(0)
End If
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.CommandText = "Select 日期,字号,凭证号,摘要,借方金额,贷方金额 fr om {财务数据源} Where [日期] >= #" & e.Form.Controls("StartDate").Value & "# And [日期] <= #" & e.Form.Controls("EndDate").Value & "# And [会计科目辅助列] ='" & e.Form.Controls("DropBox1").Value & "'"
dt = cmd.ExecuteReader()
'对临时进行分组统计
Dim b As New GroupTableBuilder("统计表1",dt)
b.Groups.AddDef("日期",DateGroupEnum.Year,"年")
b.Groups.AddDef("日期","月")
b.Groups.AddDef("字号")
b.Groups.AddDef("凭证号")
b.Groups.AddDef("摘要")
b.Totals.AddDef("借方金额")
b.Totals.AddDef("贷方金额")
b.Build(True)
Tables("三栏式账_Table1").DataSource = b.BuildDataSource
g = New Subtotalgroup
g.GroupOn = "月"
g.TotalOn = "借方金额,贷方金额"
g.Caption = "本月发生额"
a.SubtotalGroups.Add(g)
g = New Subtotalgroup
g.GroupOn = "月"
g.Caption = "{0}月"
a.SubtotalGroups.Add(g)
a.Sort = "年,月"
a.Subtotal(True)
Dim r As Row
For i As Integer = 0 To a.Rows.Count(True) - 1
    r = a.Rows(i,True)
    If r.IsGroup AndAlso r("年") Like "*月" '如果是分组行
        Dim f As String = "年 = " & a.Rows(i-2,True)("年") & " And 月 <= " & r("年").trim("月")
        r("年") = "本年累计"
        r("借方金额") = a.Compute("Sum(借方金额)",f)
        r("贷方金额") = a.Compute("Sum(贷方金额)",f)
    End If
Next
Dim ckb As DataTable = e.Form.Controls("Table1").Table.DataTable
If ckb.DataCols.Contains("借或贷") = False And ckb.DataCols.Contains("余额") = False Then
    ckb.DataCols.add("借或贷", Gettype(String))
    ckb.DataCols.add("余额", Gettype(Double))
End If
If e.Form.Controls("DropBox1").Value = DataTables("资产").Find("[科目名称] ='" & e.Form.Controls("DropBox1").Value & "'") Then    
    DataTables("三栏式账_Table1").DataRows(0)("借或贷") = "借"
    DataTables("三栏式账_Table1").DataRows(0)("余额") = DataTables("资产").Compute("Sum(期初余额)","[科目名称] = '" & Right(e.Form.Controls("DropBox1").Value,len(科目代码)) & "' And [期初余额] Is Not Null")
ElseIf e.Form.Controls("DropBox1").Value = DataTables("负债").Find("[科目名称] ='" & e.Form.Controls("DropBox1").Value & "'") Then
    DataTables("三栏式账_Table1").DataRows(0)("借或贷") = "贷"
    DataTables("三栏式账_Table1").DataRows(0)("余额") = DataTables("负债").Compute("Sum(期初余额)","[科目名称] = '" & Right(e.Form.Controls("DropBox1").Value,len(科目代码)) & "' And [期初余额] Is Not Null")
ElseIf e.Form.Controls("DropBox1").Value = DataTables("所有者权益").Find("[科目名称] ='" & e.Form.Controls("DropBox1").Value & "'") Then
    DataTables("三栏式账_Table1").DataRows(0)("借或贷") = "贷"
    DataTables("三栏式账_Table1").DataRows(0)("余额") = DataTables("所有者权益").Compute("Sum(期初余额)","[科目名称] = '" & Right(e.Form.Controls("DropBox1").Value,len(科目代码)) & "' And [期初余额] Is Not Null")
ElseIf e.Form.Controls("DropBox1").Value = DataTables("损益").Find("[科目名称] ='" & e.Form.Controls("DropBox1").Value & "'") Then
    DataTables("三栏式账_Table1").DataRows(0)("借或贷") = "贷"
    DataTables("三栏式账_Table1").DataRows(0)("余额") = DataTables("损益").Compute("Sum(期初余额)","[科目名称] = '" & Right(e.Form.Controls("DropBox1").Value,len(科目代码)) & "' And [期初余额] Is Not Null")
End If
DataTables("三栏式账_Table1").DataCols("借方金额").SetFormat("#,###.##")
DataTables("三栏式账_Table1").DataCols("贷方金额").SetFormat("#,###.##")
DataTables("三栏式账_Table1").DataCols("余额").SetFormat("#,###.##")
Tables("三栏式账_Table1").SetColVisibleWidth("年|40|月|25|字号|35|凭证号|45|摘要|380|借方金额|70|贷方金额|70|借或贷|45|余额|70")

 回到顶部
总数 69 上一页 1 2 3 4 5 6 7 下一页