Foxtable(狐表)用户栏目专家坐堂 → 请教甜大师


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

主题:请教甜大师

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


加好友 发短信
等级:狐神 帖子:5054 积分:13037 威望:0 精华:0 注册:2014/5/15 21:34:00
请教甜大师  发帖心情 Post By:2014/8/17 18:32:00 [只看该作者]

大师:如项目请教如下
如何在窗口中点击计算按钮,根据表a生成选定期限的报表。
1、本期数为选定期间合计计数
2、本年累计数为1-截止月份的累计数

图片点击可在新窗口打开查看

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


加好友 发短信
等级:狐神 帖子:5054 积分:13037 威望:0 精华:0 注册:2014/5/15 21:34:00
  发帖心情 Post By:2014/8/17 18:32:00 [只看该作者]

项目
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目9.zip


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/17 19:16:00 [只看该作者]

 代码

 

Dim dtb As DataTable = DataTables("表B")
Dim dta As DataTable = DataTables("表A")
dtb.DataRows.Clear

Dim filter As String = "1=1"
Dim filter2 As String = "1=1"

Dim c1 As WinForm.ComboBox = e.Form.Controls("ComboBox1")
Dim c2 As WinForm.ComboBox = e.Form.Controls("ComboBox2")

If c1.Text > "" Then
    filter &= " and Convert(月份, 'System.Int32') >= " & c1.text
End If

If c2.Text > "" Then
    filter &= " and Convert(月份, 'System.Int32') <= " & c2.text
    filter2 &= " and Convert(月份, 'System.Int32') <= " & c2.text
End If

For Each name As String In dta.GetValues("姓名", "姓名 is not null")
    Dim ndr As DataRow = dtb.AddNew
    ndr("姓名") = name
    ndr("本期工资") = dta.Compute("sum(月工资)", filter & " and 姓名 = '" & name & "'")
    ndr("全年累计") = dta.Compute("sum(月工资)", filter2 & " and 姓名 = '" & name & "'")
Next


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


加好友 发短信
等级:狐神 帖子:5054 积分:13037 威望:0 精华:0 注册:2014/5/15 21:34:00
  发帖心情 Post By:2014/8/17 21:28:00 [只看该作者]

谢谢!精简高效,我为何写不出来?问题在哪里?
"1=1"什么意思?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/17 21:32:00 [只看该作者]

 1=1 是为了和后面 and xxx = yyy 拼凑,没有特别意义,以防止拼凑后的语法出错。
[此贴子已经被作者于2014-8-17 21:33:01编辑过]

 回到顶部